kopia lustrzana https://gitlab.com/sane-project/backends
canon_lide70 simplified going back
rodzic
cea2a83ea2
commit
17ab6caa38
|
@ -325,17 +325,6 @@ cp2155_set_gamma_red_enhanced (int fd)
|
|||
cp2155_write_gamma_block (fd, 0x200, cp2155_gamma_standard_data);
|
||||
}
|
||||
|
||||
static void
|
||||
cp2155_motor (int fd, byte v001, byte v002)
|
||||
{
|
||||
DBG (1, "cp2155_motor %02x %02x\n", v001, v002);
|
||||
cp2155_set (fd, 0x10, v001);
|
||||
cp2155_set (fd, 0x11, v002);
|
||||
cp2155_set (fd, 0x60, 0x15);
|
||||
cp2155_set (fd, 0x80, 0x12);
|
||||
cp2155_set (fd, 0x03, 0x01); /* starts motor */
|
||||
}
|
||||
|
||||
void
|
||||
make_buf (size_t count, unsigned char *buf)
|
||||
{
|
||||
|
@ -2985,7 +2974,11 @@ back2225 (int fd, unsigned char *buf)
|
|||
write_buf (fd, count, buf, 0x03, 0x04);
|
||||
write_buf (fd, count, buf, 0x03, 0x08);
|
||||
|
||||
cp2155_motor (fd, 0x05, 0x35);
|
||||
cp2155_set (fd, 0x10, 0x05);
|
||||
cp2155_set (fd, 0x11, 0x35);
|
||||
cp2155_set (fd, 0x60, 0x15);
|
||||
cp2155_set (fd, 0x80, 0x12);
|
||||
cp2155_set (fd, 0x03, 0x01);
|
||||
|
||||
}
|
||||
|
||||
|
@ -3116,18 +3109,7 @@ back2224 (int fd, unsigned char *buf)
|
|||
cp2155_set (fd, 0xca, 0x00);
|
||||
cp2155_set (fd, 0xca, 0x00);
|
||||
cp2155_set (fd, 0x18, 0x00);
|
||||
cp2155_set (fd, 0x71, 0x01);
|
||||
cp2155_set (fd, 0x0230, 0x11);
|
||||
cp2155_set (fd, 0x71, 0x14);
|
||||
cp2155_set (fd, 0x72, 0x02);
|
||||
cp2155_set (fd, 0x73, 0x00);
|
||||
cp2155_set (fd, 0x74, 0x03);
|
||||
cp2155_set (fd, 0x75, 0x00);
|
||||
cp2155_set (fd, 0x76, 0x00);
|
||||
cp2155_set (fd, 0x0239, 0x40);
|
||||
cp2155_set (fd, 0x0238, 0x89);
|
||||
cp2155_set (fd, 0x023c, 0x2f);
|
||||
cp2155_set (fd, 0x0264, 0x20);
|
||||
|
||||
memcpy (buf + 0x0000,
|
||||
"\x04\x70\xf4\x01\x80\x25\x00\x25\x84\x24\x0b\x24\x96\x23\x23\x23",
|
||||
16);
|
||||
|
@ -3226,271 +3208,21 @@ back2224 (int fd, unsigned char *buf)
|
|||
16);
|
||||
memcpy (buf + 0x0200, "\x00\x00\x00\x00", 4);
|
||||
count = 516;
|
||||
sanei_usb_write_bulk (fd, buf, &count);
|
||||
cp2155_set (fd, 0x71, 0x01);
|
||||
cp2155_set (fd, 0x0230, 0x11);
|
||||
cp2155_set (fd, 0x71, 0x14);
|
||||
cp2155_set (fd, 0x72, 0x02);
|
||||
cp2155_set (fd, 0x73, 0x00);
|
||||
cp2155_set (fd, 0x74, 0x03);
|
||||
cp2155_set (fd, 0x75, 0x02);
|
||||
cp2155_set (fd, 0x76, 0x00);
|
||||
cp2155_set (fd, 0x0239, 0x40);
|
||||
cp2155_set (fd, 0x0238, 0x89);
|
||||
cp2155_set (fd, 0x023c, 0x2f);
|
||||
cp2155_set (fd, 0x0264, 0x20);
|
||||
memcpy (buf + 0x0000,
|
||||
"\x04\x70\xf4\x01\x80\x25\x00\x25\x84\x24\x0b\x24\x96\x23\x23\x23",
|
||||
16);
|
||||
memcpy (buf + 0x0010,
|
||||
"\xb3\x22\x46\x22\xdb\x21\x73\x21\x0e\x21\xab\x20\x4a\x20\xeb\x1f",
|
||||
16);
|
||||
memcpy (buf + 0x0020,
|
||||
"\x8f\x1f\x34\x1f\xdc\x1e\x85\x1e\x31\x1e\xde\x1d\x8d\x1d\x3e\x1d",
|
||||
16);
|
||||
memcpy (buf + 0x0030,
|
||||
"\xf0\x1c\xa4\x1c\x59\x1c\x10\x1c\xc9\x1b\x83\x1b\x3e\x1b\xfa\x1a",
|
||||
16);
|
||||
memcpy (buf + 0x0040,
|
||||
"\xb8\x1a\x77\x1a\x38\x1a\xf9\x19\xbc\x19\x80\x19\x44\x19\x0a\x19",
|
||||
16);
|
||||
memcpy (buf + 0x0050,
|
||||
"\xd1\x18\x99\x18\x62\x18\x2c\x18\xf7\x17\xc3\x17\x8f\x17\x5d\x17",
|
||||
16);
|
||||
memcpy (buf + 0x0060,
|
||||
"\x2b\x17\xfa\x16\xca\x16\x9b\x16\x6c\x16\x3e\x16\x11\x16\xe5\x15",
|
||||
16);
|
||||
memcpy (buf + 0x0070,
|
||||
"\xb9\x15\x8e\x15\x64\x15\x3a\x15\x11\x15\xe9\x14\xc1\x14\x9a\x14",
|
||||
16);
|
||||
memcpy (buf + 0x0080,
|
||||
"\x73\x14\x4d\x14\x27\x14\x02\x14\xde\x13\xba\x13\x96\x13\x74\x13",
|
||||
16);
|
||||
memcpy (buf + 0x0090,
|
||||
"\x51\x13\x2f\x13\x0d\x13\xec\x12\xcc\x12\xab\x12\x8c\x12\x6c\x12",
|
||||
16);
|
||||
memcpy (buf + 0x00a0,
|
||||
"\x4d\x12\x2f\x12\x11\x12\xf3\x11\xd5\x11\xb8\x11\x9c\x11\x80\x11",
|
||||
16);
|
||||
memcpy (buf + 0x00b0,
|
||||
"\x64\x11\x48\x11\x2d\x11\x12\x11\xf7\x10\xdd\x10\xc3\x10\xa9\x10",
|
||||
16);
|
||||
memcpy (buf + 0x00c0,
|
||||
"\x90\x10\x77\x10\x5e\x10\x46\x10\x2e\x10\x16\x10\xfe\x0f\xe7\x0f",
|
||||
16);
|
||||
memcpy (buf + 0x00d0,
|
||||
"\xd0\x0f\xb9\x0f\xa2\x0f\x8c\x0f\x76\x0f\x60\x0f\x4b\x0f\x35\x0f",
|
||||
16);
|
||||
memcpy (buf + 0x00e0,
|
||||
"\x20\x0f\x0b\x0f\xf7\x0e\xe2\x0e\xce\x0e\xba\x0e\xa6\x0e\x92\x0e",
|
||||
16);
|
||||
memcpy (buf + 0x00f0,
|
||||
"\x7f\x0e\x6c\x0e\x59\x0e\x46\x0e\x33\x0e\x21\x0e\x0f\x0e\xfd\x0d",
|
||||
16);
|
||||
memcpy (buf + 0x0100,
|
||||
"\xeb\x0d\xd9\x0d\xc8\x0d\xb6\x0d\xa5\x0d\x94\x0d\x83\x0d\x73\x0d",
|
||||
16);
|
||||
memcpy (buf + 0x0110,
|
||||
"\x62\x0d\x52\x0d\x41\x0d\x31\x0d\x22\x0d\x12\x0d\x02\x0d\xf3\x0c",
|
||||
16);
|
||||
memcpy (buf + 0x0120,
|
||||
"\xe3\x0c\xd4\x0c\xc5\x0c\xb6\x0c\xa7\x0c\x99\x0c\x8a\x0c\x7c\x0c",
|
||||
16);
|
||||
memcpy (buf + 0x0130,
|
||||
"\x6e\x0c\x60\x0c\x52\x0c\x44\x0c\x36\x0c\x28\x0c\x1b\x0c\x0d\x0c",
|
||||
16);
|
||||
memcpy (buf + 0x0140,
|
||||
"\x00\x0c\xf3\x0b\xe6\x0b\xd9\x0b\xcc\x0b\xbf\x0b\xb3\x0b\xa6\x0b",
|
||||
16);
|
||||
memcpy (buf + 0x0150,
|
||||
"\x9a\x0b\x8e\x0b\x81\x0b\x75\x0b\x69\x0b\x5d\x0b\x52\x0b\x46\x0b",
|
||||
16);
|
||||
memcpy (buf + 0x0160,
|
||||
"\x3a\x0b\x2f\x0b\x23\x0b\x18\x0b\x0d\x0b\x02\x0b\xf6\x0a\xeb\x0a",
|
||||
16);
|
||||
memcpy (buf + 0x0170,
|
||||
"\xe1\x0a\xd6\x0a\xcb\x0a\xc0\x0a\xb6\x0a\xab\x0a\xa1\x0a\x97\x0a",
|
||||
16);
|
||||
memcpy (buf + 0x0180,
|
||||
"\x8c\x0a\x82\x0a\x78\x0a\x6e\x0a\x64\x0a\x5a\x0a\x50\x0a\x47\x0a",
|
||||
16);
|
||||
memcpy (buf + 0x0190,
|
||||
"\x3d\x0a\x33\x0a\x2a\x0a\x20\x0a\x17\x0a\x0e\x0a\x04\x0a\xfb\x09",
|
||||
16);
|
||||
memcpy (buf + 0x01a0,
|
||||
"\xf2\x09\xe9\x09\xe0\x09\xd7\x09\xce\x09\xc6\x09\xbd\x09\xb4\x09",
|
||||
16);
|
||||
memcpy (buf + 0x01b0,
|
||||
"\xab\x09\xa3\x09\x9a\x09\x92\x09\x8a\x09\x81\x09\x79\x09\x71\x09",
|
||||
16);
|
||||
memcpy (buf + 0x01c0,
|
||||
"\x69\x09\x61\x09\x59\x09\x51\x09\x49\x09\x41\x09\x39\x09\x31\x09",
|
||||
16);
|
||||
memcpy (buf + 0x01d0,
|
||||
"\x29\x09\x22\x09\x1a\x09\x12\x09\x0b\x09\x03\x09\xfc\x08\xf5\x08",
|
||||
16);
|
||||
memcpy (buf + 0x01e0,
|
||||
"\xed\x08\xe6\x08\xdf\x08\xd8\x08\xd0\x08\xc9\x08\xc2\x08\xbb\x08",
|
||||
16);
|
||||
memcpy (buf + 0x01f0,
|
||||
"\xb4\x08\xad\x08\xa6\x08\xa0\x08\x00\x00\x00\x00\x00\x00\x00\x00",
|
||||
16);
|
||||
memcpy (buf + 0x0200, "\x00\x00\x00\x00", 4);
|
||||
count = 516;
|
||||
sanei_usb_write_bulk (fd, buf, &count);
|
||||
cp2155_set (fd, 0x71, 0x01);
|
||||
cp2155_set (fd, 0x0230, 0x11);
|
||||
cp2155_set (fd, 0x71, 0x14);
|
||||
cp2155_set (fd, 0x72, 0x00);
|
||||
cp2155_set (fd, 0x73, 0x20);
|
||||
cp2155_set (fd, 0x74, 0x03);
|
||||
cp2155_set (fd, 0x75, 0x04);
|
||||
cp2155_set (fd, 0x76, 0x00);
|
||||
cp2155_set (fd, 0x0239, 0x40);
|
||||
cp2155_set (fd, 0x0238, 0x89);
|
||||
cp2155_set (fd, 0x023c, 0x2f);
|
||||
cp2155_set (fd, 0x0264, 0x20);
|
||||
memcpy (buf + 0x0000,
|
||||
write_buf (fd, count, buf, 0x03, 0x00);
|
||||
write_buf (fd, count, buf, 0x03, 0x02);
|
||||
write_buf (fd, count, buf, 0x03, 0x06);
|
||||
|
||||
memcpy (buf + 0x00000000,
|
||||
"\x04\x70\x18\x00\x80\x25\xc0\x1c\x4f\x17\x9a\x13\xe9\x10\xde\x0e",
|
||||
16);
|
||||
memcpy (buf + 0x0010,
|
||||
"\x44\x0d\xfa\x0b\xea\x0a\x07\x0a\x46\x09\xa0\x08\x4a\x20\xeb\x1f",
|
||||
memcpy (buf + 0x00000010,
|
||||
"\x44\x0d\xfa\x0b\xea\x0a\x07\x0a\x46\x09\xa0\x08\x80\x25\x80\x25",
|
||||
16);
|
||||
memcpy (buf + 0x0020, "\x8f\x1f\x34\x1f", 4);
|
||||
memcpy (buf + 0x00000020, "\x80\x25\x80\x25", 4);
|
||||
count = 36;
|
||||
sanei_usb_write_bulk (fd, buf, &count);
|
||||
cp2155_set (fd, 0x71, 0x01);
|
||||
cp2155_set (fd, 0x0230, 0x11);
|
||||
cp2155_set (fd, 0x71, 0x14);
|
||||
cp2155_set (fd, 0x72, 0x02);
|
||||
cp2155_set (fd, 0x73, 0x00);
|
||||
cp2155_set (fd, 0x74, 0x03);
|
||||
cp2155_set (fd, 0x75, 0x06);
|
||||
cp2155_set (fd, 0x76, 0x00);
|
||||
cp2155_set (fd, 0x0239, 0x40);
|
||||
cp2155_set (fd, 0x0238, 0x89);
|
||||
cp2155_set (fd, 0x023c, 0x2f);
|
||||
cp2155_set (fd, 0x0264, 0x20);
|
||||
memcpy (buf + 0x0000,
|
||||
"\x04\x70\xf4\x01\x80\x25\x00\x25\x84\x24\x0b\x24\x96\x23\x23\x23",
|
||||
16);
|
||||
memcpy (buf + 0x0010,
|
||||
"\xb3\x22\x46\x22\xdb\x21\x73\x21\x0e\x21\xab\x20\x4a\x20\xeb\x1f",
|
||||
16);
|
||||
memcpy (buf + 0x0020,
|
||||
"\x8f\x1f\x34\x1f\xdc\x1e\x85\x1e\x31\x1e\xde\x1d\x8d\x1d\x3e\x1d",
|
||||
16);
|
||||
memcpy (buf + 0x0030,
|
||||
"\xf0\x1c\xa4\x1c\x59\x1c\x10\x1c\xc9\x1b\x83\x1b\x3e\x1b\xfa\x1a",
|
||||
16);
|
||||
memcpy (buf + 0x0040,
|
||||
"\xb8\x1a\x77\x1a\x38\x1a\xf9\x19\xbc\x19\x80\x19\x44\x19\x0a\x19",
|
||||
16);
|
||||
memcpy (buf + 0x0050,
|
||||
"\xd1\x18\x99\x18\x62\x18\x2c\x18\xf7\x17\xc3\x17\x8f\x17\x5d\x17",
|
||||
16);
|
||||
memcpy (buf + 0x0060,
|
||||
"\x2b\x17\xfa\x16\xca\x16\x9b\x16\x6c\x16\x3e\x16\x11\x16\xe5\x15",
|
||||
16);
|
||||
memcpy (buf + 0x0070,
|
||||
"\xb9\x15\x8e\x15\x64\x15\x3a\x15\x11\x15\xe9\x14\xc1\x14\x9a\x14",
|
||||
16);
|
||||
memcpy (buf + 0x0080,
|
||||
"\x73\x14\x4d\x14\x27\x14\x02\x14\xde\x13\xba\x13\x96\x13\x74\x13",
|
||||
16);
|
||||
memcpy (buf + 0x0090,
|
||||
"\x51\x13\x2f\x13\x0d\x13\xec\x12\xcc\x12\xab\x12\x8c\x12\x6c\x12",
|
||||
16);
|
||||
memcpy (buf + 0x00a0,
|
||||
"\x4d\x12\x2f\x12\x11\x12\xf3\x11\xd5\x11\xb8\x11\x9c\x11\x80\x11",
|
||||
16);
|
||||
memcpy (buf + 0x00b0,
|
||||
"\x64\x11\x48\x11\x2d\x11\x12\x11\xf7\x10\xdd\x10\xc3\x10\xa9\x10",
|
||||
16);
|
||||
memcpy (buf + 0x00c0,
|
||||
"\x90\x10\x77\x10\x5e\x10\x46\x10\x2e\x10\x16\x10\xfe\x0f\xe7\x0f",
|
||||
16);
|
||||
memcpy (buf + 0x00d0,
|
||||
"\xd0\x0f\xb9\x0f\xa2\x0f\x8c\x0f\x76\x0f\x60\x0f\x4b\x0f\x35\x0f",
|
||||
16);
|
||||
memcpy (buf + 0x00e0,
|
||||
"\x20\x0f\x0b\x0f\xf7\x0e\xe2\x0e\xce\x0e\xba\x0e\xa6\x0e\x92\x0e",
|
||||
16);
|
||||
memcpy (buf + 0x00f0,
|
||||
"\x7f\x0e\x6c\x0e\x59\x0e\x46\x0e\x33\x0e\x21\x0e\x0f\x0e\xfd\x0d",
|
||||
16);
|
||||
memcpy (buf + 0x0100,
|
||||
"\xeb\x0d\xd9\x0d\xc8\x0d\xb6\x0d\xa5\x0d\x94\x0d\x83\x0d\x73\x0d",
|
||||
16);
|
||||
memcpy (buf + 0x0110,
|
||||
"\x62\x0d\x52\x0d\x41\x0d\x31\x0d\x22\x0d\x12\x0d\x02\x0d\xf3\x0c",
|
||||
16);
|
||||
memcpy (buf + 0x0120,
|
||||
"\xe3\x0c\xd4\x0c\xc5\x0c\xb6\x0c\xa7\x0c\x99\x0c\x8a\x0c\x7c\x0c",
|
||||
16);
|
||||
memcpy (buf + 0x0130,
|
||||
"\x6e\x0c\x60\x0c\x52\x0c\x44\x0c\x36\x0c\x28\x0c\x1b\x0c\x0d\x0c",
|
||||
16);
|
||||
memcpy (buf + 0x0140,
|
||||
"\x00\x0c\xf3\x0b\xe6\x0b\xd9\x0b\xcc\x0b\xbf\x0b\xb3\x0b\xa6\x0b",
|
||||
16);
|
||||
memcpy (buf + 0x0150,
|
||||
"\x9a\x0b\x8e\x0b\x81\x0b\x75\x0b\x69\x0b\x5d\x0b\x52\x0b\x46\x0b",
|
||||
16);
|
||||
memcpy (buf + 0x0160,
|
||||
"\x3a\x0b\x2f\x0b\x23\x0b\x18\x0b\x0d\x0b\x02\x0b\xf6\x0a\xeb\x0a",
|
||||
16);
|
||||
memcpy (buf + 0x0170,
|
||||
"\xe1\x0a\xd6\x0a\xcb\x0a\xc0\x0a\xb6\x0a\xab\x0a\xa1\x0a\x97\x0a",
|
||||
16);
|
||||
memcpy (buf + 0x0180,
|
||||
"\x8c\x0a\x82\x0a\x78\x0a\x6e\x0a\x64\x0a\x5a\x0a\x50\x0a\x47\x0a",
|
||||
16);
|
||||
memcpy (buf + 0x0190,
|
||||
"\x3d\x0a\x33\x0a\x2a\x0a\x20\x0a\x17\x0a\x0e\x0a\x04\x0a\xfb\x09",
|
||||
16);
|
||||
memcpy (buf + 0x01a0,
|
||||
"\xf2\x09\xe9\x09\xe0\x09\xd7\x09\xce\x09\xc6\x09\xbd\x09\xb4\x09",
|
||||
16);
|
||||
memcpy (buf + 0x01b0,
|
||||
"\xab\x09\xa3\x09\x9a\x09\x92\x09\x8a\x09\x81\x09\x79\x09\x71\x09",
|
||||
16);
|
||||
memcpy (buf + 0x01c0,
|
||||
"\x69\x09\x61\x09\x59\x09\x51\x09\x49\x09\x41\x09\x39\x09\x31\x09",
|
||||
16);
|
||||
memcpy (buf + 0x01d0,
|
||||
"\x29\x09\x22\x09\x1a\x09\x12\x09\x0b\x09\x03\x09\xfc\x08\xf5\x08",
|
||||
16);
|
||||
memcpy (buf + 0x01e0,
|
||||
"\xed\x08\xe6\x08\xdf\x08\xd8\x08\xd0\x08\xc9\x08\xc2\x08\xbb\x08",
|
||||
16);
|
||||
memcpy (buf + 0x01f0,
|
||||
"\xb4\x08\xad\x08\xa6\x08\xa0\x08\x00\x00\x00\x00\x00\x00\x00\x00",
|
||||
16);
|
||||
memcpy (buf + 0x0200, "\x00\x00\x00\x00", 4);
|
||||
count = 516;
|
||||
sanei_usb_write_bulk (fd, buf, &count);
|
||||
cp2155_set (fd, 0x71, 0x01);
|
||||
cp2155_set (fd, 0x0230, 0x11);
|
||||
cp2155_set (fd, 0x71, 0x14);
|
||||
cp2155_set (fd, 0x72, 0x00);
|
||||
cp2155_set (fd, 0x73, 0x20);
|
||||
cp2155_set (fd, 0x74, 0x03);
|
||||
cp2155_set (fd, 0x75, 0x08);
|
||||
cp2155_set (fd, 0x76, 0x00);
|
||||
cp2155_set (fd, 0x0239, 0x40);
|
||||
cp2155_set (fd, 0x0238, 0x89);
|
||||
cp2155_set (fd, 0x023c, 0x2f);
|
||||
cp2155_set (fd, 0x0264, 0x20);
|
||||
memcpy (buf + 0x0000,
|
||||
"\x04\x70\x18\x00\x80\x25\xc0\x1c\x4f\x17\x9a\x13\xe9\x10\xde\x0e",
|
||||
16);
|
||||
memcpy (buf + 0x0010,
|
||||
"\x44\x0d\xfa\x0b\xea\x0a\x07\x0a\x46\x09\xa0\x08\x4a\x20\xeb\x1f",
|
||||
16);
|
||||
memcpy (buf + 0x0020, "\x8f\x1f\x34\x1f", 4);
|
||||
count = 36;
|
||||
sanei_usb_write_bulk (fd, buf, &count);
|
||||
write_buf (fd, count, buf, 0x03, 0x04);
|
||||
write_buf (fd, count, buf, 0x03, 0x08);
|
||||
|
||||
cp2155_set (fd, 0x10, 0x05);
|
||||
cp2155_set (fd, 0x11, 0x35);
|
||||
cp2155_set (fd, 0x60, 0x01);
|
||||
|
|
Ładowanie…
Reference in New Issue