From 4e8949b288a080b287683182f4338e537b98c779 Mon Sep 17 00:00:00 2001 From: Solomon Peachy Date: Sat, 15 May 2021 12:38:37 -0400 Subject: [PATCH] sinfonia: Move all parameter definitions into common header Document all known-unknowns for S6145, S2245, EK8810, and EK7000. As always, S6245 remains unknown! --- backend_kodak605.c | 90 +++++++++++++------------- backend_shinkos6145.c | 68 +------------------- backend_shinkos6245.c | 125 ++++++++++++++++--------------------- backend_sinfonia.h | 142 ++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 243 insertions(+), 182 deletions(-) diff --git a/backend_kodak605.c b/backend_kodak605.c index 5482e4c..f6f9a0b 100644 --- a/backend_kodak605.c +++ b/backend_kodak605.c @@ -77,55 +77,55 @@ struct kodak605_status { static const struct sinfonia_param ek7000_params[] = { - { 0x01, "Unknown_01" }, // 00000001 - { 0x11, "Unknown_11" }, // 00000001 - { 0x12, "Matte Gloss" }, // 00000069 - { 0x13, "Matte Degloss Black" }, // 000000c3 - { 0x14, "Matte Degloss White" }, // 000000cd - { 0x21, "Exit Speed With Sorter 4x6" }, // 000003e8 - { 0x22, "Exit Speed With Sorter 8x6" }, // 0000041a - { 0x23, "Exit Speed With Backprinting" }, // 00000152 - { 0x24, "Exit Speed Without PPAC 4x6" }, // 0000044c - { 0x25, "Exit Speed Without PPAC 8x6" }, // 0000044c + { PARAM_UNK_01, "Unknown_01" }, + { PARAM_UNK_11, "Unknown_11" }, + { PARAM_UNK_12, "Matte Gloss" }, + { PARAM_UNK_13, "Matte Degloss Black" }, + { PARAM_UNK_14, "Matte Degloss White" }, + { PARAM_UNK_21, "Exit Speed With Sorter 4x6" }, + { PARAM_UNK_22, "Exit Speed With Sorter 8x6" }, + { PARAM_UNK_23, "Exit Speed With Backprinting" }, + { PARAM_UNK_24, "Exit Speed Without PPAC 4x6" }, + { PARAM_UNK_25, "Exit Speed Without PPAC 8x6" }, - { 0x2f, "Unknown_2f" }, // 00000320 - { 0x41, "Unknown_41" }, // 0000006d - { 0x42, "Unknown_42" }, // 00000051 - { 0x43, "Unknown_43" }, // 0000003b - { 0x44, "Unknown_44" }, // 00000082 - { 0x45, "Unknown_45" }, // 00000000 - { 0x46, "Unknown_46" }, // 00000000 - { 0x47, "Unknown_47" }, // 00000028 - { 0x48, "Unknown_48" }, // 00000002 - { 0x81, "Unknown_81" }, // ffffffff + { PARAM_UNK_2F, "Unknown_2f" }, + { PARAM_UNK_41, "Unknown_41" }, + { PARAM_UNK_42, "Unknown_42" }, + { PARAM_UNK_43, "Unknown_43" }, + { PARAM_UNK_44, "Unknown_44" }, + { PARAM_UNK_45, "Unknown_45" }, + { PARAM_UNK_46, "Unknown_46" }, + { PARAM_UNK_47, "Unknown_47" }, + { PARAM_UNK_48, "Unknown_48" }, + { PARAM_UNK_81, "Unknown_81" }, - { 0x82, "Unknown_82" }, // fffffffe - { 0x83, "Unknown_83" }, // ffffffee - { 0x84, "Unknown_84" }, // 00000001 - { 0x91, "Unknown_91" }, // 0000006c - { 0x92, "Unknown_92" }, // 00000077 - { 0x93, "Unknown_93" }, // 00000067 - { 0x94, "Unknown_94" }, // 00000076 - { 0xa0, "Unknown_a0" }, // 00000005 - { 0xa1, "Unknown_a1" }, // 00000000 - { 0xa2, "Unknown_a2" }, // 00000010 + { PARAM_UNK_82, "Unknown_82" }, + { PARAM_UNK_83, "Unknown_83" }, + { PARAM_UNK_84, "Unknown_84" }, + { PARAM_UNK_91, "Unknown_91" }, + { PARAM_UNK_92, "Unknown_92" }, + { PARAM_UNK_93, "Unknown_93" }, + { PARAM_UNK_94, "Unknown_94" }, + { PARAM_UNK_A0, "Unknown_a0" }, + { PARAM_UNK_A1, "Unknown_a1" }, + { PARAM_UNK_A2, "Unknown_a2" }, - { 0xa3, "Unknown_a3" }, // 0000003b - { 0xa4, "Unknown_a4" }, // 0000003b - { 0xa5, "Thermal Protect Lamination" }, // 0000003e - { 0xa6, "Unknown_a6" }, // 00000001 - { 0xa7, "Unknown_a7" }, // 00000014 - { 0xa8, "Unknown_a8" }, // 00000001 - { 0xa9, "Unknown_a9" }, // ffffffff - { 0xc1, "Unknown_c1" }, // 00000002 - { 0xc2, "Unknown_c2" }, // 000000c8 - { 0xc3, "Unknown_c3" }, // 000000c8 + { PARAM_UNK_A3, "Unknown_a3" }, + { PARAM_UNK_A4, "Unknown_a4" }, + { PARAM_UNK_A5, "Thermal Protect Lamination" }, + { PARAM_UNK_A6, "Unknown_a6" }, + { PARAM_UNK_A7, "Unknown_a7" }, + { PARAM_UNK_A8, "Unknown_a8" }, + { PARAM_UNK_A9, "Unknown_a9" }, + { PARAM_UNK_C1, "Unknown_c1" }, + { PARAM_UNK_C2, "Unknown_c2" }, + { PARAM_UNK_C3, "Unknown_c3" }, - { 0xc4, "Unknown_c4" }, // 00000200 - { 0xf1, "Unknown_f1" }, // 00000068 - { 0xf2, "Unknown_f2" }, // 00000068 - { 0xf3, "Unknown_f3" }, // 00000094 - { 0xf4, "Unknown_f4" }, // 00000068 + { PARAM_UNK_C4, "Unknown_c4" }, + { PARAM_UNK_F1, "Unknown_f1" }, + { PARAM_UNK_F2, "Unknown_f2" }, + { PARAM_UNK_F3, "Unknown_f3" }, + { PARAM_UNK_F4, "Unknown_f4" }, }; #define ek7000_params_num (sizeof(ek7000_params) / sizeof(struct sinfonia_param)) diff --git a/backend_shinkos6145.c b/backend_shinkos6145.c index eb836aa..48b2497 100644 --- a/backend_shinkos6145.c +++ b/backend_shinkos6145.c @@ -131,55 +131,6 @@ struct s6245_errorlog_resp { STATIC_ASSERT(sizeof(struct s6245_errorlog_resp) == 74); -enum { - PARAM_UNK_10 = 0x10, // 2245 = 0x7b - PARAM_UNK_11 = 0x11, // 2245 = 0x72 - PARAM_OC_PRINT = 0x20, // 6145 - PARAM_UNK_31 = 0x31, // 2245 = 0x64 - PARAM_UNK_32 = 0x32, // 2245 = 0x64 - PARAM_UNK_33 = 0x33, // 2245 = 0x64 - PARAM_UNK_34 = 0x34, // 2245 = 0x00 - PARAM_UNK_35 = 0x35, // 2245 = 0x00 - PARAM_UNK_36 = 0x36, // 2245 = 0x00 - PARAM_PAPER_PRESV = 0x3d, // 6145 - PARAM_DRIVER_MODE = 0x3e, - PARAM_PAPER_MODE = 0x3f, - PARAM_UNK_40 = 0x40, // 2245 = 0xff - PARAM_UNK_41 = 0x41, // 2245 = 0x00 - PARAM_REGION_CODE = 0x53, // 6145 - PARAM_SLEEP_TIME = 0x54, // 6145 - PARAM_UNK_70 = 0x70, // 2245 = 0x22f8 - PARAM_UNK_71 = 0x71, // 2245 = 0x01 - PARAM_UNK_91 = 0x91, // 2245 = 0xfffffffc - PARAM_UNK_92 = 0x92, // 2245 = 0x00 - PARAM_UNK_93 = 0x93, // 2245 = 0x06 - PARAM_UNK_A0 = 0xa0, // 2245 = 0x01 - PARAM_UNK_A1 = 0xa1, // 2245 = 0xffffffff - PARAM_UNK_A2 = 0xa2, // 2245 = 0xffffffff - PARAM_UNK_A3 = 0xa3, // 2245 = 0xffffffff - PARAM_UNK_A4 = 0xa4, // 2245 = 0xffffffff - PARAM_UNK_A5 = 0xa5, // 2245 = 0x42 - PARAM_UNK_A6 = 0xa6, // 2245 = 0x00 - PARAM_UNK_A7 = 0xa7, // 2245 = 0x01 - PARAM_UNK_A8 = 0xa8, // 2245 = 0x01 - PARAM_UNK_B0 = 0xb0, // 2245 = 0x1a - PARAM_UNK_B1 = 0xb1, // 2245 = 0x70 - PARAM_UNK_DC = 0xdc, // 2245 = 0x00 - PARAM_UNK_DD = 0xdd, // 2245 = 0x0c - PARAM_UNK_DE = 0xde, // 2245 = 0x32 - PARAM_UNK_DF = 0xdf, // 2245 = 0x00 - PARAM_UNK_E1 = 0xe1, // 2245 = 0x33 - PARAM_UNK_E2 = 0xe2, // 2245 = 0x33 - PARAM_UNK_E4 = 0xe4, // 2245 = 0x78 - PARAM_UNK_E5 = 0xe5, // 2245 = 0x33 - PARAM_UNK_E6 = 0xe6, // 2245 = 0x0194 - PARAM_UNK_E7 = 0xe7, // 2245 = 0x0194 - PARAM_UNK_E8 = 0xe8, // 2245 = 0x00 - PARAM_UNK_E9 = 0xe9, // 2245 = 0x00 - PARAM_UNK_EA = 0xea, // 2245 = 0x33 - PARAM_UNK_EB = 0xeb, // 2245 = 0x0194 -}; - static const struct sinfonia_param s6145_params[] = { { PARAM_OC_PRINT, "Overcoat Mode" }, @@ -211,25 +162,10 @@ static const struct sinfonia_param s2245_params[] = #define PARAM_PRINTM_FINE 0x00000004 #define PARAM_PRINTM_FAST 0x00000008 -// S6145 (ALL) +// S6145 #define PARAM_PAPER_PRESV_OFF 0x00000000 #define PARAM_PAPER_PRESV_ON 0x00000001 -// S6145 (ALL), S2245 -#define PARAM_DRIVER_WIZOFF 0x00000000 -#define PARAM_DRIVER_WIZON 0x00000001 - -#define PARAM_PAPER_NOCUT 0x00000000 -#define PARAM_PAPER_CUTLOAD 0x00000001 - -// S6145 -#define PARAM_SLEEP_5MIN 0x00000000 -#define PARAM_SLEEP_15MIN 0x00000001 -#define PARAM_SLEEP_30MIN 0x00000002 -#define PARAM_SLEEP_60MIN 0x00000003 -#define PARAM_SLEEP_120MIN 0x00000004 -#define PARAM_SLEEP_240MIN 0x00000005 - static const char *s6145_error_codes(uint8_t major, uint8_t minor) { switch(major) { @@ -1144,7 +1080,7 @@ static void shinkos6145_cmdline(void) DEBUG("\t\t[ -R ] # Reset printer to factory defaults\n"); DEBUG("\t\t[ -s ] # Query status\n"); DEBUG("\t\t[ -X jobid ] # Abort a printjob\n"); -// DEBUG("\t\t[ -Z ] # Dump all parameters\n"); +// DEBUG("\t\t[ -Z 0 | 1 ] # Dump all parameters\n"); } static int shinkos6145_cmdline_arg(void *vctx, int argc, char **argv) diff --git a/backend_shinkos6245.c b/backend_shinkos6245.c index 39e188e..e0abcb4 100644 --- a/backend_shinkos6245.c +++ b/backend_shinkos6245.c @@ -57,70 +57,66 @@ struct s6245_print_cmd { static const struct sinfonia_param ek8810_params[] = { - { 0x01, "Unknown_01" }, // 00000001 - { 0x11, "Unknown_11" }, // 00000001 - { 0x12, "? Matte Gloss" }, // 00000069 - { 0x13, "? Matte Degloss Black" }, // 000000c3 - { 0x14, "? Matte Degloss White" }, // 000000cd - { 0x21, "Unknown_21" }, // 000003e8 - { 0x22, "Unknown_22" }, // 0000041a - { 0x23, "Unknown_23" }, // 00000152 - { 0x24, "Unknown_24" }, // 0000044c - { 0x25, "Unknown_25" }, // 0000044c + { PARAM_UNK_01, "Unknown_01" }, + { PARAM_UNK_11, "Unknown_11" }, + { PARAM_UNK_12, "? Matte Gloss" }, + { PARAM_UNK_13, "? Matte Degloss Black" }, + { PARAM_UNK_14, "? Matte Degloss White" }, + { PARAM_UNK_21, "Unknown_21" }, + { PARAM_UNK_22, "Unknown_22" }, + { PARAM_UNK_23, "Unknown_23" }, + { PARAM_UNK_24, "Unknown_24" }, + { PARAM_UNK_25, "Unknown_25" }, - { 0x2f, "Unknown_2f" }, // 00000320 - { 0x41, "Unknown_41" }, // 0000005d - { 0x42, "Unknown_42" }, // 00000048 - { 0x43, "Unknown_43" }, // 0000007c - { 0x44, "Unknown_44" }, // 00000088 - { 0x45, "Unknown_45" }, // 00000000 - { 0x46, "Unknown_46" }, // 00000002 - { 0x47, "Unknown_47" }, // 00000063 - { 0x48, "Unknown_48" }, // 00000008 - { 0x61, "Unknown_61" }, // 00000050 + { PARAM_UNK_2F, "Unknown_2f" }, + { PARAM_UNK_41, "Unknown_41" }, + { PARAM_UNK_42, "Unknown_42" }, + { PARAM_UNK_43, "Unknown_43" }, + { PARAM_UNK_44, "Unknown_44" }, + { PARAM_UNK_45, "Unknown_45" }, + { PARAM_UNK_46, "Unknown_46" }, + { PARAM_UNK_47, "Unknown_47" }, + { PARAM_UNK_48, "Unknown_48" }, + { PARAM_UNK_61, "Unknown_61" }, - { 0x62, "Unknown_62" }, // 00000031 - { 0x63, "Unknown_63" }, // 00000030 - { 0x64, "Unknown_64" }, // 00000030 - { 0x81, "Unknown_81" }, // ffffffff - { 0x82, "Unknown_82" }, // fffffff9 - { 0x83, "Unknown_83" }, // fffffffc - { 0x84, "Unknown_84" }, // 00000002 - { 0x8a, "Unknown_8a" }, // 00000005 - { 0x8b, "Unknown_8b" }, // 00000005 - { 0x8c, "Unknown_8c" }, // 00000000 + { PARAM_UNK_62, "Unknown_62" }, + { PARAM_UNK_63, "Unknown_63" }, + { PARAM_UNK_64, "Unknown_64" }, + { PARAM_UNK_81, "Unknown_81" }, + { PARAM_UNK_82, "Unknown_82" }, + { PARAM_UNK_83, "Unknown_83" }, + { PARAM_UNK_84, "Unknown_84" }, + { PARAM_UNK_8A, "Unknown_8a" }, + { PARAM_UNK_8B, "Unknown_8b" }, + { PARAM_UNK_8C, "Unknown_8c" }, - { 0x8d, "Unknown_8d" }, // 00000000 - { 0x91, "Unknown_91" }, // 0000007e - { 0x92, "Unknown_92" }, // 0000007d - { 0x93, "Unknown_93" }, // 00000077 - { 0xa0, "Unknown_a0" }, // 00000005 - { 0xa1, "Unknown_a1" }, // 00000000 - { 0xa2, "Unknown_a2" }, // 00000008 - { 0xa3, "Unknown_a3" }, // 00000030 - { 0xa4, "Unknown_a4" }, // 00000030 - { 0xa5, "? Thermal Protect Lamination" }, // 00000046 + { PARAM_UNK_8D, "Unknown_8d" }, + { PARAM_UNK_91, "Unknown_91" }, + { PARAM_UNK_92, "Unknown_92" }, + { PARAM_UNK_93, "Unknown_93" }, + { PARAM_UNK_A0, "Unknown_a0" }, + { PARAM_UNK_A1, "Unknown_a1" }, + { PARAM_UNK_A2, "Unknown_a2" }, + { PARAM_UNK_A3, "Unknown_a3" }, + { PARAM_UNK_A4, "Unknown_a4" }, + { PARAM_UNK_A5, "? Thermal Protect Lamination" }, - { 0xa6, "Unknown_a6" }, // 00000001 - { 0xa7, "Unknown_a7" }, // 00000014 - { 0xa8, "Unknown_a8" }, // 00000001 - { 0xa9, "Unknown_a9" }, // ffffffff - { 0xc1, "Unknown_c1" }, // 00000002 - { 0xc2, "Unknown_c2" }, // 000000c8 - { 0xc3, "Unknown_c3" }, // 000000c8 - { 0xc4, "Unknown_c4" }, // 000004d0 - { 0xf1, "Unknown_f1" }, // 00000022 - { 0xf2, "Unknown_f2" }, // 00000022 + { PARAM_UNK_A6, "Unknown_a6" }, + { PARAM_UNK_A7, "Unknown_a7" }, + { PARAM_UNK_A8, "Unknown_a8" }, + { PARAM_UNK_A9, "Unknown_a9" }, + { PARAM_UNK_C1, "Unknown_c1" }, + { PARAM_UNK_C2, "Unknown_c2" }, + { PARAM_UNK_C3, "Unknown_c3" }, + { PARAM_UNK_C4, "Unknown_c4" }, + { PARAM_UNK_F1, "Unknown_f1" }, + { PARAM_UNK_F2, "Unknown_f2" }, - { 0xf3, "Unknown_f3" }, // 00000047 - { 0xf4, "Unknown_f4" }, // 00000022 + { PARAM_UNK_F3, "Unknown_f3" }, + { PARAM_UNK_F4, "Unknown_f4" }, }; #define ek8810_params_num (sizeof(ek8810_params) / sizeof(struct sinfonia_param)) -#define PARAM_DRIVER_MODE 0x3e -#define PARAM_PAPER_MODE 0x3f -#define PARAM_SLEEP_TIME 0x54 - static const struct sinfonia_param s6245_params[] = { { PARAM_DRIVER_MODE, "Driver Mode/Wizard" }, @@ -129,19 +125,6 @@ static const struct sinfonia_param s6245_params[] = }; #define s6245_params_num (sizeof(s6245_params) / sizeof(struct sinfonia_param)) -#define PARAM_DRIVER_WIZOFF 0x00000000 -#define PARAM_DRIVER_WIZON 0x00000001 - -#define PARAM_PAPER_NOCUT 0x00000000 -#define PARAM_PAPER_CUTLOAD 0x00000001 - -#define PARAM_SLEEP_5MIN 0x00000000 -#define PARAM_SLEEP_15MIN 0x00000001 -#define PARAM_SLEEP_30MIN 0x00000002 -#define PARAM_SLEEP_60MIN 0x00000003 -#define PARAM_SLEEP_120MIN 0x00000004 -#define PARAM_SLEEP_240MIN 0x00000005 - static const char *s6245_error_codes(uint8_t major, uint8_t minor) { switch(major) { @@ -814,7 +797,7 @@ static void shinkos6245_cmdline(void) DEBUG("\t\t[ -R ] # Reset printer to factory defaults\n"); DEBUG("\t\t[ -s ] # Query status\n"); DEBUG("\t\t[ -X jobid ] # Abort a printjob\n"); -// DEBUG("\t\t[ -Z ] # Dump all parameters\n"); +// DEBUG("\t\t[ -Z 0 | 1 ] # Dump all parameters\n"); } static int shinkos6245_cmdline_arg(void *vctx, int argc, char **argv) @@ -825,7 +808,7 @@ static int shinkos6245_cmdline_arg(void *vctx, int argc, char **argv) if (!ctx) return -1; - while ((i = getopt(argc, argv, GETOPT_LIST_GLOBAL "b:c:C:eFik:l:L:mrR:sX:Z:")) >= 0) { + while ((i = getopt(argc, argv, GETOPT_LIST_GLOBAL "b:c:C:eFik:l:L:mrR:sX:Z")) >= 0) { switch(i) { GETOPT_PROCESS_GLOBAL case 'b': diff --git a/backend_sinfonia.h b/backend_sinfonia.h index 80db058..014ca6b 100644 --- a/backend_sinfonia.h +++ b/backend_sinfonia.h @@ -77,6 +77,148 @@ struct sinfonia_param { const char *descr; }; +/* Known param IDs */ +enum { + PARAM_UNK_01 = 0x01, // 6145 = 0x32, 8810 = 0x01, 7000 = 0x01 + PARAM_UNK_02 = 0x02, // 6145 = 0xffffffff + PARAM_UNK_03 = 0x02, // 6145 = 0xffffffff + PARAM_UNK_04 = 0x04, // 6145 = 0xffffffff + PARAM_UNK_05 = 0x05, // 6145 = 0xffffffff + + PARAM_UNK_10 = 0x10, // 2245 = 0x7b + PARAM_UNK_11 = 0x11, // 2245 = 0x72, 8810 = 0x01, 7000 = 0x01 + PARAM_UNK_12 = 0x12, // 6145 = 0xffffffc4, 8810 = 0x69, 7000 = 0x69 + PARAM_UNK_13 = 0x13, // 6145 = 0xffffffe2, 8810 = 0xc3, 7000 = 0xc3 + PARAM_UNK_14 = 0x14, // 6145 = 0xffffffc7, 8810 = 0xcd, 7000 = 0xcd + PARAM_UNK_15 = 0x15, // 6145 = 0xffffffec + PARAM_UNK_16 = 0x16, // 6145 = 0x00 + + PARAM_OC_PRINT = 0x20, // 6145 ONLY + PARAM_UNK_21 = 0x21, // 6145 = 0x69, 8810 = 0x3e8, 7000 = 0xe39 + PARAM_UNK_22 = 0x22, // 6145 = 0xc3, 8810 = 0x41a, 7000 = 0x41a + PARAM_UNK_23 = 0x23, // 6145 = 0xc3, 8810 = 0x152, 7000 = 0x152 + PARAM_UNK_24 = 0x24, // 8810 = 0x44c, 7000 = 0x44c + PARAM_UNK_25 = 0x25, // 8810 = 0x44c, 7000 = 0x44c + PARAM_UNK_2F = 0x2f, // 8810 = 0x320, 7000 = 0x320 + + PARAM_UNK_31 = 0x31, // 2245 = 0x64. 6145 = 0x68 + PARAM_UNK_32 = 0x32, // 2245 = 0x64 + PARAM_UNK_33 = 0x33, // 2245 = 0x64 + PARAM_UNK_34 = 0x34, // 2245 = 0x00 + PARAM_UNK_35 = 0x35, // 2245 = 0x00 + PARAM_UNK_36 = 0x36, // 2245 = 0x00 + PARAM_PAPER_PRESV = 0x3d, // 6145 ONLY + PARAM_DRIVER_MODE = 0x3e, // 6145, 2245, 6245 ONLY + PARAM_PAPER_MODE = 0x3f, // 2245, 6245 ONLY + + PARAM_UNK_40 = 0x40, // 2245 = 0xff + PARAM_UNK_41 = 0x41, // 2245 = 0x00, 8810 = 0x5d, 7000 = 0x6d + PARAM_UNK_42 = 0x42, // 8810 = 0x48, 7000 = 0x02, 7000 = 0x51 + PARAM_UNK_43 = 0x43, // 8810 = 0x7c, 7000 = 0x3b + PARAM_UNK_44 = 0x44, // 8810 = 0x88, 7000 = 0x82 + PARAM_UNK_45 = 0x45, // 8810 = 0x00, 7000 = 0x00 + PARAM_UNK_46 = 0x46, // 8810 = 0x02, 7000 = 0x00 + PARAM_UNK_47 = 0x47, // 8810 = 0x03, 7000 = 0x28 + PARAM_UNK_48 = 0x48, // 8810 = 0x08, 7000 = 0x02 + + PARAM_REGION_CODE = 0x53, // 6145 ONLY + PARAM_SLEEP_TIME = 0x54, // 6145, 2245, 6245 ONLY + PARAM_UNK_55 = 0x55, // 6145 = 0xff + PARAM_UNK_56 = 0x56, // 6145 = 0xff + PARAM_UNK_57 = 0x57, // 6145 = 0x00 + PARAM_UNK_58 = 0x58, // 6145 = 0xff + + PARAM_UNK_60 = 0x60, // 6145 = 0xa2 + PARAM_UNK_61 = 0x61, // 6145 = 0xa7, 8810 = 0x50 + PARAM_UNK_62 = 0x62, // 8810 = 0x31 + PARAM_UNK_63 = 0x63, // 8810 = 0x30 + PARAM_UNK_64 = 0x64, // 8810 = 0x30 + + PARAM_UNK_70 = 0x70, // 2245 = 0x22f8, 6145 = 0x24ba + PARAM_UNK_71 = 0x71, // 2245 = 0x01 + PARAM_UNK_72 = 0x72, // 6145 = 0x84 + PARAM_UNK_73 = 0x73, // 6145 = 0x8b + PARAM_UNK_74 = 0x74, // 6145 = 0x89 + PARAM_UNK_75 = 0x75, // 6145 = 0x80 + + PARAM_UNK_81 = 0x81, // 8810 = 0xffffffff, 7000 = 0xffffffff + PARAM_UNK_82 = 0x82, // 8810 = 0xfffffff9, 7000 = 0xfffffffe + PARAM_UNK_83 = 0x83, // 8810 = 0xfffffffc, 7000 = 0xffffffee + PARAM_UNK_84 = 0x84, // 8810 = 0x02, 7000 = 0x01 + PARAM_UNK_8A = 0x8a, // 8810 = 0x05 + PARAM_UNK_8B = 0x8b, // 8810 = 0x05 + PARAM_UNK_8C = 0x8c, // 8810 = 0x00 + PARAM_UNK_8D = 0x8d, // 8810 = 0x00 + + PARAM_UNK_91 = 0x91, // 2245 = 0xfffffffc, 6145 = 0xfffffffa, 8810 = 0x7e, 7000 = 0x6c + PARAM_UNK_92 = 0x92, // 2245 = 0x00, 6145 = 0x06, 8810 = 0x7d, 7000 = 0x87 + PARAM_UNK_93 = 0x93, // 2245 = 0x06, 6145 = 0x06, 8810 = 0x77, 7000 = 0x67 + PARAM_UNK_94 = 0x94, // 7000 = 0x76 + + PARAM_UNK_A0 = 0xa0, // 2245 = 0x01, 8810 = 0x05, 7000 = 0x05 + PARAM_UNK_A1 = 0xa1, // 2245 = 0xffffffff, 8810 = 0x00, 7000 = 0x00 + PARAM_UNK_A2 = 0xa2, // 2245 = 0xffffffff, 8810 = 0x08, 7000 = 0x10 + PARAM_UNK_A3 = 0xa3, // 2245 = 0xffffffff, 8810 = 0x30, 7000 = 0x3b + PARAM_UNK_A4 = 0xa4, // 2245 = 0xffffffff, 8810 = 0x30, 7000 = 0x3b + PARAM_UNK_A5 = 0xa5, // 2245 = 0x42, 6145 = 0x4d, 8810 = 0x46, 7000 = 0x3e + PARAM_UNK_A6 = 0xa6, // 2245 = 0x00, 6145 = 0x01, 8810 = 0x01, 7000 = 0x01 + PARAM_UNK_A7 = 0xa7, // 2245 = 0x01, 8810 = 0x14, 7000 = 0x14 + PARAM_UNK_A8 = 0xa8, // 2245 = 0x01, 6145 = 0x01, 8810 = 0x01, 7000 = 0x01 + PARAM_UNK_A9 = 0xa9, // 6145 = 0xffffffff, 8810 = 0xffffffff, 7000 = 0xffffffff + + PARAM_UNK_B0 = 0xb0, // 2245 = 0x1a + PARAM_UNK_B1 = 0xb1, // 2245 = 0x70 + + PARAM_UNK_C1 = 0xc1, // 8810 = 0x02, 7000 = 0x02 + PARAM_UNK_C2 = 0xc2, // 8810 = 0xc8, 7000 = 0xc8 + PARAM_UNK_C3 = 0xc3, // 8810 = 0xc8, 7000 = 0xc8 + PARAM_UNK_C4 = 0xc4, // 8810 = 0x4d0, 7000 = 0x200 + + PARAM_UNK_D3 = 0xd3, // 6145 = 0x00 + PARAM_UNK_D4 = 0xd3, // 6145 = 0x00 + PARAM_UNK_D5 = 0xd3, // 6145 = 0xff + PARAM_UNK_D6 = 0xd3, // 6145 = 0xff + PARAM_UNK_D7 = 0xd3, // 6145 = 0x00 + PARAM_UNK_D8 = 0xd3, // 6145 = 0xff + PARAM_UNK_DC = 0xdc, // 2245 = 0x00 + PARAM_UNK_DD = 0xdd, // 2245 = 0x0c + PARAM_UNK_DE = 0xde, // 2245 = 0x32 + PARAM_UNK_DF = 0xdf, // 2245 = 0x00 + + PARAM_UNK_E1 = 0xe1, // 2245 = 0x33, 6145 = 0x213e + PARAM_UNK_E2 = 0xe2, // 2245 = 0x33, 6145 = 0x213e + PARAM_UNK_E3 = 0xe3, // 6145 = 0x00 + PARAM_UNK_E4 = 0xe4, // 2245 = 0x78, 6145 = 0x43ab + PARAM_UNK_E5 = 0xe5, // 2245 = 0x33, 6145 = 0x213e + PARAM_UNK_E6 = 0xe6, // 2245 = 0x0194, 6145 = 0x00 + PARAM_UNK_E7 = 0xe7, // 2245 = 0x0194, 6145 = 0x84f8 + PARAM_UNK_E8 = 0xe8, // 2245 = 0x00, 6145 = 0x84f8 + PARAM_UNK_E9 = 0xe9, // 2245 = 0x00, 6145 = 0x84f8 + PARAM_UNK_EA = 0xea, // 2245 = 0x33, 6145 = 0x00 + PARAM_UNK_EB = 0xeb, // 2245 = 0x0194 + + PARAM_UNK_F1 = 0xf1, // 8810 = 0x22, 7000 = 0x68 + PARAM_UNK_F2 = 0xf2, // 8810 = 0x22, 7000 = 0x68 + PARAM_UNK_F3 = 0xf3, // 8810 = 0x47, 7000 = 0x94 + PARAM_UNK_F4 = 0xf4, // 8810 = 0x22, 7000 = 0x68 +}; + +// S6145, S2245, S6245 +#define PARAM_DRIVER_WIZOFF 0x00000000 +#define PARAM_DRIVER_WIZON 0x00000001 + +// S6145, S2245, S6245 +#define PARAM_PAPER_NOCUT 0x00000000 +#define PARAM_PAPER_CUTLOAD 0x00000001 + +// S6145, S6245 +#define PARAM_SLEEP_5MIN 0x00000000 +#define PARAM_SLEEP_15MIN 0x00000001 +#define PARAM_SLEEP_30MIN 0x00000002 +#define PARAM_SLEEP_60MIN 0x00000003 +#define PARAM_SLEEP_120MIN 0x00000004 +#define PARAM_SLEEP_240MIN 0x00000005 + /* Common usb functions */ struct sinfonia_usbdev { struct dyesub_connection *conn;