s2145: Use a common read buffer, and rearrange status counters.

This commit is contained in:
Solomon Peachy 2013-07-16 18:13:10 -04:00
parent 66c5a913fd
commit 91d68621d5
1 changed files with 7 additions and 18 deletions

View File

@ -39,7 +39,7 @@
#include <fcntl.h>
#include <signal.h>
#define VERSION "0.11"
#define VERSION "0.12"
#define URI_PREFIX "shinkos2145://"
#include "backend_common.c"
@ -424,6 +424,8 @@ struct s2145_getunique_resp {
#define READBACK_LEN 128 /* Needs to be larger than largest response hdr */
#define CMDBUF_LEN sizeof(struct s2145_print_cmd)
uint8_t rdbuf[READBACK_LEN];
static int find_and_enumerate(struct libusb_context *ctx,
struct libusb_device ***list,
char *match_serno,
@ -464,7 +466,6 @@ static int find_and_enumerate(struct libusb_context *ctx,
static int get_status(libusb_device_handle *dev,
uint8_t endp_down, uint8_t endp_up)
{
uint8_t rdbuf[READBACK_LEN];
struct s2145_cmd_hdr cmd;
struct s2145_status_resp *resp = (struct s2145_status_resp *) rdbuf;
int ret, num = 0;
@ -498,13 +499,13 @@ static int get_status(libusb_device_handle *dev,
if (le16_to_cpu(resp->hdr.payload_len) != (sizeof(struct s2145_status_resp) - sizeof(struct s2145_status_hdr)))
return 0;
INFO(" Prints:\n");
INFO(" Print Counts:\n");
INFO("\tSince Paper Changed:\t%08d\n", le32_to_cpu(resp->count_paper));
INFO("\tLifetime:\t\t%08d\n", le32_to_cpu(resp->count_lifetime));
INFO("\tMaintainence:\t\t%08d\n", le32_to_cpu(resp->count_maint));
INFO("\tSince Paper Changed:\t%08d\n", le32_to_cpu(resp->count_paper));
INFO("\tCutter:\t\t\t%08d\n", le32_to_cpu(resp->count_cutter));
INFO("\tPrint Head:\t\t%08d\n", le32_to_cpu(resp->count_head));
INFO("\tRibbon Remaining:\t%08d\n", le32_to_cpu(resp->count_ribbon_left));
INFO(" Cutter Actuations:\t%08d\n", le32_to_cpu(resp->count_cutter));
INFO(" Ribbon Remaining:\t%08d\n", le32_to_cpu(resp->count_ribbon_left));
INFO("Bank 1: 0x%02x (%s) Job %03d @ %03d/%03d (%03d remaining)\n",
resp->bank1_status, bank_statuses[resp->bank1_status],
resp->bank1_printid,
@ -527,7 +528,6 @@ static int get_status(libusb_device_handle *dev,
static int get_fwinfo(libusb_device_handle *dev,
uint8_t endp_down, uint8_t endp_up)
{
uint8_t rdbuf[READBACK_LEN];
struct s2145_fwinfo_cmd cmd;
struct s2145_fwinfo_resp *resp = (struct s2145_fwinfo_resp *)rdbuf;
int ret, num = 0;
@ -583,7 +583,6 @@ static int get_fwinfo(libusb_device_handle *dev,
static int get_errorlog(libusb_device_handle *dev,
uint8_t endp_down, uint8_t endp_up)
{
uint8_t rdbuf[READBACK_LEN];
struct s2145_cmd_hdr cmd;
struct s2145_errorlog_resp *resp = (struct s2145_errorlog_resp *) rdbuf;
int ret, num = 0;
@ -631,7 +630,6 @@ static int get_errorlog(libusb_device_handle *dev,
static int get_mediainfo(libusb_device_handle *dev,
uint8_t endp_down, uint8_t endp_up)
{
uint8_t rdbuf[READBACK_LEN];
struct s2145_cmd_hdr cmd;
struct s2145_mediainfo_resp *resp = (struct s2145_mediainfo_resp *) rdbuf;
int ret, num = 0;
@ -682,7 +680,6 @@ static int get_mediainfo(libusb_device_handle *dev,
static int get_user_string(libusb_device_handle *dev,
uint8_t endp_down, uint8_t endp_up)
{
uint8_t rdbuf[READBACK_LEN];
struct s2145_cmd_hdr cmd;
struct s2145_getunique_resp *resp = (struct s2145_getunique_resp*) rdbuf;
int ret, num = 0;
@ -726,7 +723,6 @@ static int get_user_string(libusb_device_handle *dev,
static int set_user_string(char *str, libusb_device_handle *dev,
uint8_t endp_down, uint8_t endp_up)
{
uint8_t rdbuf[READBACK_LEN];
struct s2145_setunique_cmd cmd;
struct s2145_status_hdr *resp = (struct s2145_status_hdr *) rdbuf;
int ret, num = 0;
@ -774,7 +770,6 @@ static int set_user_string(char *str, libusb_device_handle *dev,
static int cancel_job(char *str, libusb_device_handle *dev,
uint8_t endp_down, uint8_t endp_up)
{
uint8_t rdbuf[READBACK_LEN];
struct s2145_cancel_cmd cmd;
struct s2145_status_hdr *resp = (struct s2145_status_hdr *) rdbuf;
int ret, num = 0;
@ -817,7 +812,6 @@ static int cancel_job(char *str, libusb_device_handle *dev,
static int flash_led(libusb_device_handle *dev,
uint8_t endp_down, uint8_t endp_up)
{
uint8_t rdbuf[READBACK_LEN];
struct s2145_cmd_hdr cmd;
struct s2145_status_hdr *resp = (struct s2145_status_hdr *) rdbuf;
int ret, num = 0;
@ -855,7 +849,6 @@ static int flash_led(libusb_device_handle *dev,
static int reset_curve(int target, libusb_device_handle *dev,
uint8_t endp_down, uint8_t endp_up)
{
uint8_t rdbuf[READBACK_LEN];
struct s2145_reset_cmd cmd;
struct s2145_status_hdr *resp = (struct s2145_status_hdr *) rdbuf;
int ret, num = 0;
@ -895,7 +888,6 @@ static int reset_curve(int target, libusb_device_handle *dev,
static int button_set(int enable, libusb_device_handle *dev,
uint8_t endp_down, uint8_t endp_up)
{
uint8_t rdbuf[READBACK_LEN];
struct s2145_button_cmd cmd;
struct s2145_status_hdr *resp = (struct s2145_status_hdr *) rdbuf;
int ret, num = 0;
@ -935,7 +927,6 @@ static int button_set(int enable, libusb_device_handle *dev,
static int get_tonecurve(int type, char *fname, libusb_device_handle *dev,
uint8_t endp_down, uint8_t endp_up)
{
uint8_t rdbuf[READBACK_LEN];
struct s2145_readtone_cmd cmd;
struct s2145_readtone_resp *resp = (struct s2145_readtone_resp *) rdbuf;
int ret, num = 0;
@ -1023,7 +1014,6 @@ static int get_tonecurve(int type, char *fname, libusb_device_handle *dev,
static int set_tonecurve(int target, char *fname, libusb_device_handle *dev,
uint8_t endp_down, uint8_t endp_up)
{
uint8_t rdbuf[READBACK_LEN];
struct s2145_update_cmd cmd;
struct s2145_status_hdr *resp = (struct s2145_status_hdr *) rdbuf;
int ret, num = 0;
@ -1125,7 +1115,6 @@ int main (int argc, char **argv)
uint8_t *planedata = NULL, *cmdbuf = NULL;
uint32_t datasize;
uint8_t rdbuf[READBACK_LEN];
uint8_t rdbuf2[READBACK_LEN];
int last_state = -1, state = S_IDLE;