Lines Matching defs:dev
103 #define _DEFAULT_DEVICE "/dev/usbscanner"
280 XDBG ((2, "Init calibrator size %d\n",30720 * s->dev->epro_mult));
281 s->shading_buffer_w = (unsigned char *) malloc (30720 * s->dev->epro_mult); /*epro*/
282 s->shading_buffer_b = (unsigned char *) malloc (30720 * s->dev->epro_mult); /*epro*/
284 (unsigned int *) malloc (5120 * s->dev->epro_mult * sizeof(unsigned int));/*epro*/
286 (unsigned int *) malloc (5120 * s->dev->epro_mult * sizeof (unsigned int));/*epro*/
288 (unsigned int *) malloc (5120 * s->dev->epro_mult * sizeof (unsigned int));/*epro*/
290 (unsigned int *) malloc (5120 * s->dev->epro_mult * sizeof (unsigned int));/*epro*/
292 (unsigned int *) malloc (5120 * s->dev->epro_mult * sizeof (unsigned int));/*epro*/
294 (unsigned int *) malloc (5120 * s->dev->epro_mult * sizeof (unsigned int));/*epro*/
327 for (i = 0; i < 5120 * s->dev->epro_mult; i++) /*epro*/
341 for (i = 0; i < 5120 * s->dev->epro_mult; i++) /*epro*/
360 div = s->dev->shading_lines_w;
365 div = s->dev->shading_lines_b;
368 for (i = 0; i < 5120 * s->dev->epro_mult; i++) /*epro*/
380 for (c = 0; c < (30720 * s->dev->epro_mult) - 5; c += 6) /*epro*/
400 div = s->dev->shading_lines_w;
402 for (i = 0; i < 5120 * s->dev->epro_mult; i++) /*epro*/
416 for (c = 0; c < (30720 * s->dev->epro_mult) - 5; c += 6) /*epro*/
445 div = s->dev->shading_lines_b;
447 for (i = 0; i < 5120 * s->dev->epro_mult; i++) /*epro*/
461 for (c = 0; c < (30720 * s->dev->epro_mult) - 5; c += 6) /*epro*/
509 if ((s->reader->params.ydpi == 1200) && (s->dev->is_epro == 0)) /*epro*/
736 Artec48U_Device *dev;
746 for (dev = first_dev; dev; dev = dev->next)
748 if (0 == strcmp (dev->name, dev_name))
751 *devp = dev;
758 artec48u_device_new (&dev);
759 if (NULL == dev)
762 dev->fd = -1;
763 dev->name = strdup (dev_name);
764 dev->sane.name = strdup (dev_name);
768 status = artec48u_device_open (dev);
772 artec48u_device_free (dev);
780 dev->sane.vendor = strdup (vendor_string);
782 dev->sane.model = strdup (model_string);
784 dev->sane.type = "flatbed scanner";
785 dev->firmware_path = strdup (firmwarePath);
787 dev->epro_mult = eProMult;
788 dev->is_epro = isEPro;
791 dev->optical_xdpi = 600 * dev->epro_mult; /*epro*/
792 dev->optical_ydpi = 1200 * dev->epro_mult; /*epro*/
793 dev->base_ydpi = 600 * dev->epro_mult; /*epro*/
794 dev->xdpi_offset = 0; /* in optical_xdpi units */
795 dev->ydpi_offset = 280 * dev->epro_mult; /* in optical_ydpi units */
796 dev->x_size = 5120 * dev->epro_mult; /*epro*/ /* in optical_xdpi units */
797 dev->y_size = 14100 * dev->epro_mult; /*epro*/ /* in optical_ydpi units */
798 dev->shading_offset = 10 * dev->epro_mult;
799 dev->shading_lines_b = 70 * dev->epro_mult;
800 dev->shading_lines_w = 70 * dev->epro_mult;
802 dev->gamma_master = gamma_master_default;
803 dev->gamma_r = gamma_r_default;
804 dev->gamma_g = gamma_g_default;
805 dev->gamma_b = gamma_b_default;
807 dev->afe_params.r_offset = afe_params.r_offset;
808 dev->afe_params.g_offset = afe_params.g_offset;
809 dev->afe_params.b_offset = afe_params.b_offset;
811 dev->afe_params.r_pga = default_afe_params.r_pga;
812 dev->afe_params.g_pga = default_afe_params.g_pga;
813 dev->afe_params.b_pga = default_afe_params.b_pga;
815 dev->exp_params.r_time = exp_params.r_time;
816 dev->exp_params.g_time = exp_params.g_time;
817 dev->exp_params.b_time = exp_params.b_time;
821 dev->next = first_dev;
822 first_dev = dev;
826 status = artec48u_device_close (dev);
833 Artec48U_Device *dev;
836 status = attach (devname, &dev);
980 artec48u_check_buttons (Artec48U_Device * dev, SANE_Int * value)
989 status = artec48u_device_small_req (dev, req, req);
1000 artec48u_generic_start_scan (Artec48U_Device * dev)
1008 return artec48u_device_req (dev, req, req);
1013 artec48u_generic_read_scanned_data (Artec48U_Device * dev, SANE_Bool * ready)
1022 status = artec48u_device_req (dev, req, req);
1040 artec48u_download_firmware (Artec48U_Device * dev,
1051 CHECK_DEV_ACTIVE ((Artec48U_Device *) dev,
1065 status = artec48u_device_memory_write (dev, addr, block_size, block);
1068 status = artec48u_device_memory_read (dev, addr, block_size, check_buf);
1085 status = artec48u_device_req (dev, boot_req, boot_req);
1092 artec48u_is_moving (Artec48U_Device * dev, SANE_Bool * moving)
1100 status = artec48u_device_req (dev, req, req);
1117 artec48u_carriage_home (Artec48U_Device * dev)
1125 return artec48u_device_req (dev, req, req);
1130 artec48u_stop_scan (Artec48U_Device * dev)
1137 return artec48u_device_small_req (dev, req, req);
1164 XDBG ((1,"setup scan is_epro %d\n",s->dev->is_epro));
1165 XDBG ((1,"setup scan epro_mult %d\n",s->dev->epro_mult));
1178 pixel_y0 = s->dev->shading_offset;
1179 pixel_ys = s->dev->shading_lines_w;
1181 pixel_xs = 5120 * s->dev->epro_mult; /*epro*/
1182 xdpi = ydpi = 600 * s->dev->epro_mult; /*epro*/
1190 pixel_y0 = s->dev->shading_offset;
1191 pixel_ys = s->dev->shading_lines_b;
1193 pixel_xs = 5120 * s->dev->epro_mult; /*epro*/
1194 xdpi = ydpi = 600 * s->dev->epro_mult; /*epro*/
1202 pixel_y0 = s->dev->shading_offset;
1203 pixel_ys = s->dev->shading_lines_w;
1205 pixel_xs = 5120 * s->dev->epro_mult; /*epro*/
1206 xdpi = ydpi = 600 * s->dev->epro_mult; /*epro*/
1213 pixel_y0 = s->dev->shading_offset;
1214 pixel_ys = s->dev->shading_lines_w;
1216 pixel_xs = 5120 * s->dev->epro_mult; /*epro*/
1217 xdpi = ydpi = 600 * s->dev->epro_mult; /*epro*/
1224 SANE_Fixed x0 = request->x0 + s->dev->xdpi_offset;
1227 if ((ydpi == 1200) && (s->dev->is_epro == 0))
1229 y0 = request->y0 + s->dev->ydpi_offset;
1265 base_xdpi = s->dev->optical_xdpi;
1266 base_ydpi = s->dev->base_ydpi;
1369 status = artec48u_device_req (s->dev, req, req);
1381 artec48u_generic_set_exposure_time (s->dev,
1382 &(s->dev->
1384 artec48u_generic_set_afe (s->dev, &(s->dev->artec_48u_afe_params));
1388 artec48u_generic_set_exposure_time (s->dev, &exp_params_black);
1389 artec48u_generic_set_afe (s->dev, &(s->dev->afe_params));
1393 artec48u_generic_set_exposure_time (s->dev, &(s->dev->exp_params));
1394 artec48u_generic_set_afe (s->dev, &(s->dev->afe_params));
1413 artec48u_generic_set_afe (Artec48U_Device * dev,
1427 return artec48u_device_req (dev, req, req);
1432 artec48u_generic_set_exposure_time (Artec48U_Device * dev,
1446 return artec48u_device_req (dev, req, req);
1452 DECLARE_FUNCTION_NAME ("artec48u_device_new") Artec48U_Device *dev;
1458 dev = (Artec48U_Device *) malloc (sizeof (Artec48U_Device));
1460 if (!dev)
1467 *dev_return = dev;
1469 memset (dev, 0, sizeof (Artec48U_Device));
1471 dev->fd = -1;
1472 dev->active = SANE_FALSE;
1474 dev->read_buffer = NULL;
1475 dev->requested_buffer_size = 32768;
1482 artec48u_device_free (Artec48U_Device * dev)
1485 XDBG ((7, "%s: enter: dev=%p\n", function_name, (void *) dev));
1486 if (dev)
1488 if (dev->active)
1489 artec48u_device_deactivate (dev);
1491 if (dev->fd != -1)
1492 artec48u_device_close (dev);
1494 XDBG ((7, "%s: freeing dev\n", function_name));
1495 free (dev);
1502 artec48u_device_open (Artec48U_Device * dev)
1508 XDBG ((7, "%s: enter: dev=%p\n", function_name, (void *) dev));
1510 CHECK_DEV_NOT_NULL (dev, function_name);
1512 if (dev->fd != -1)
1518 status = sanei_usb_open (dev->sane.name, &fd);
1526 dev->fd = fd;
1533 artec48u_device_close (Artec48U_Device * dev)
1536 XDBG ((7, "%s: enter: dev=%p\n", function_name, (void *) dev));
1538 CHECK_DEV_OPEN (dev, function_name);
1540 if (dev->active)
1541 artec48u_device_deactivate (dev);
1543 sanei_usb_close (dev->fd);
1544 dev->fd = -1;
1551 artec48u_device_activate (Artec48U_Device * dev)
1554 CHECK_DEV_OPEN (dev, function_name);
1556 if (dev->active)
1562 XDBG ((7, "%s: model \"%s\"\n", function_name, dev->sane.model));
1564 dev->xdpi_offset = SANE_FIX (dev->xdpi_offset *
1565 MM_PER_INCH / dev->optical_xdpi);
1566 dev->ydpi_offset = SANE_FIX (dev->ydpi_offset *
1567 MM_PER_INCH / dev->optical_ydpi);
1569 dev->active = SANE_TRUE;
1575 artec48u_device_deactivate (Artec48U_Device * dev)
1580 CHECK_DEV_ACTIVE (dev, function_name);
1582 if (dev->read_active)
1583 artec48u_device_read_finish (dev);
1585 dev->active = SANE_FALSE;
1591 artec48u_device_memory_write (Artec48U_Device * dev,
1598 XDBG ((8, "%s: dev=%p, addr=0x%x, size=0x%x, data=%p\n",
1599 function_name, (void *) dev, addr, size, (void *) data));
1600 CHECK_DEV_ACTIVE (dev, function_name);
1602 status = sanei_usb_control_msg (dev->fd, 0x40, 0x01,
1615 artec48u_device_memory_read (Artec48U_Device * dev,
1621 XDBG ((8, "%s: dev=%p, addr=0x%x, size=0x%x, data=%p\n",
1622 function_name, (void *) dev, addr, size, (void *) data));
1623 CHECK_DEV_ACTIVE (dev, function_name);
1625 status = sanei_usb_control_msg (dev->fd, 0xc0, 0x01,
1638 artec48u_device_generic_req (Artec48U_Device * dev,
1647 CHECK_DEV_ACTIVE (dev, function_name);
1649 status = sanei_usb_control_msg (dev->fd,
1661 status = sanei_usb_control_msg (dev->fd,
1674 artec48u_device_req (Artec48U_Device * dev, Artec48U_Packet cmd,
1677 return artec48u_device_generic_req (dev,
1685 artec48u_device_small_req (Artec48U_Device * dev, Artec48U_Packet cmd,
1694 return artec48u_device_generic_req (dev,
1702 artec48u_device_read_raw (Artec48U_Device * dev, SANE_Byte * buffer,
1708 CHECK_DEV_ACTIVE (dev, function_name);
1712 status = sanei_usb_read_bulk (dev->fd, buffer, size);
1727 artec48u_device_set_read_buffer_size (Artec48U_Device * dev,
1731 CHECK_DEV_NOT_NULL (dev, function_name);
1733 if (dev->read_active)
1742 dev->requested_buffer_size = buffer_size;
1751 artec48u_device_read_prepare (Artec48U_Device * dev, size_t expected_count)
1754 CHECK_DEV_ACTIVE (dev, function_name);
1756 if (dev->read_active)
1762 dev->read_buffer = (SANE_Byte *) malloc (dev->requested_buffer_size);
1763 if (!dev->read_buffer)
1766 function_name, (unsigned long) dev->requested_buffer_size));
1770 dev->read_active = SANE_TRUE;
1771 dev->read_pos = dev->read_bytes_in_buffer = 0;
1772 dev->read_bytes_left = expected_count;
1792 artec48u_device_read_start (Artec48U_Device * dev)
1794 CHECK_DEV_ACTIVE (dev, "artec48u_device_read_start");
1800 artec48u_device_read (Artec48U_Device * dev, SANE_Byte * buffer,
1808 CHECK_DEV_ACTIVE (dev, function_name);
1810 if (!dev->read_active)
1818 if (dev->read_bytes_in_buffer == 0)
1820 block_size = dev->requested_buffer_size;
1821 if (block_size > dev->read_bytes_left)
1822 block_size = dev->read_bytes_left;
1826 status = artec48u_device_read_raw (dev, dev->read_buffer,
1833 dev->read_pos = 0;
1834 dev->read_bytes_in_buffer = block_size;
1835 dev->read_bytes_left -= block_size;
1839 if (transfer_size > dev->read_bytes_in_buffer)
1840 transfer_size = dev->read_bytes_in_buffer;
1843 memcpy (buffer, dev->read_buffer + dev->read_pos, transfer_size);
1844 dev->read_pos += transfer_size;
1845 dev->read_bytes_in_buffer -= transfer_size;
1861 artec48u_device_read_finish (Artec48U_Device * dev)
1864 CHECK_DEV_ACTIVE (dev, function_name);
1866 if (!dev->read_active)
1873 function_name, (long) dev->read_bytes_left));
1875 free (dev->read_buffer);
1876 dev->read_buffer = NULL;
1878 dev->read_active = SANE_FALSE;
1987 status = artec48u_device_read (reader->dev, reader->pixel_buffer, &size);
2008 status = artec48u_device_read (reader->dev, reader->pixel_buffer, &size);
2030 status = artec48u_device_read (reader->dev, pixel_buffer, &size);
2066 status = artec48u_device_read (reader->dev, pixel_buffer, &size);
2160 artec48u_line_reader_new (Artec48U_Device * dev,
2189 reader->dev = dev;
2252 artec48u_device_set_read_buffer_size (reader->dev,
2256 status = artec48u_device_read_prepare (reader->dev, image_size);
2291 status = artec48u_device_read_finish (reader->dev);
2313 artec48u_scanner_new (Artec48U_Device * dev,
2326 s->dev = dev;
2464 status = artec48u_wait_for_positioning (s->dev);
2472 status = artec48u_generic_start_scan (s->dev);
2482 status = artec48u_generic_read_scanned_data (s->dev, &ready);
2500 status = artec48u_device_read_start (s->dev);
2520 status = artec48u_wait_for_positioning (s->dev);
2536 status = artec48u_line_reader_new (s->dev, params, &s->reader);
2572 return artec48u_stop_scan (s->dev);
2670 if(s->dev->is_epro == 0)
2829 s->val[OPT_GAMMA].w = SANE_FIX (s->dev->gamma_master);
2840 s->val[OPT_GAMMA_R].w = SANE_FIX (s->dev->gamma_r);
2850 s->val[OPT_GAMMA_G].w = SANE_FIX (s->dev->gamma_g);
2860 s->val[OPT_GAMMA_B].w = SANE_FIX (s->dev->gamma_b);
3081 artec48u_carriage_home (s->dev);
3083 artec48u_wait_for_positioning (s->dev);
3096 for (c = 0; c < s->dev->shading_lines_b; c++)
3115 s->dev->afe_params.r_offset -= 1;
3121 s->dev->afe_params.r_offset += 1;
3130 s->dev->afe_params.g_offset -= 1;
3136 s->dev->afe_params.g_offset += 1;
3145 s->dev->afe_params.b_offset -= 1;
3151 s->dev->afe_params.b_offset += 1;
3161 artec48u_carriage_home (s->dev);
3163 artec48u_wait_for_positioning (s->dev);
3176 for (c = 0; c < s->dev->shading_lines_w; c++)
3199 s->dev->exp_params.r_time += exp_off;
3210 s->dev->exp_params.r_time -= exp_off;
3224 s->dev->exp_params.g_time += exp_off;
3235 s->dev->exp_params.g_time -= exp_off;
3249 s->dev->exp_params.b_time += exp_off;
3260 s->dev->exp_params.b_time -= exp_off;
3268 s->dev->exp_params.r_time, s->dev->exp_params.g_time,
3269 s->dev->exp_params.b_time));
3271 s->dev->afe_params.r_offset, s->dev->afe_params.g_offset,
3272 s->dev->afe_params.b_offset));
3279 XDBG ((1, "option redOffset 0x%x\n", s->dev->afe_params.r_offset));
3280 XDBG ((1, "option greenOffset 0x%x\n", s->dev->afe_params.g_offset));
3281 XDBG ((1, "option blueOffset 0x%x\n", s->dev->afe_params.b_offset));
3282 XDBG ((1, "option redExposure 0x%x\n", s->dev->exp_params.r_time));
3283 XDBG ((1, "option greenExposure 0x%x\n", s->dev->exp_params.g_time));
3284 XDBG ((1, "option blueExposure 0x%x\n", s->dev->exp_params.b_time));
3286 s->dev->artec_48u_afe_params.r_offset = s->dev->afe_params.r_offset;
3287 s->dev->artec_48u_afe_params.g_offset = s->dev->afe_params.g_offset;
3288 s->dev->artec_48u_afe_params.b_offset = s->dev->afe_params.b_offset;
3290 s->dev->artec_48u_afe_params.r_pga = s->dev->afe_params.r_pga;
3291 s->dev->artec_48u_afe_params.g_pga = s->dev->afe_params.g_pga;
3292 s->dev->artec_48u_afe_params.b_pga = s->dev->afe_params.b_pga;
3294 s->dev->artec_48u_exposure_params.r_time = s->dev->exp_params.r_time;
3295 s->dev->artec_48u_exposure_params.g_time = s->dev->exp_params.g_time;
3296 s->dev->artec_48u_exposure_params.b_time = s->dev->exp_params.b_time;
3301 artec48u_carriage_home (s->dev);
3303 artec48u_wait_for_positioning (s->dev);
3316 for (c = 0; c < s->dev->shading_lines_b; c++)
3328 artec48u_carriage_home (s->dev);
3330 artec48u_wait_for_positioning (s->dev);
3341 for (c = 0; c < s->dev->shading_lines_w; c++)
3506 artec48u_carriage_home (s->dev);
3527 Artec48U_Device *dev;
3541 for (dev = first_dev; dev_num < num_devices; dev = dev->next)
3543 devlist[dev_num] = &dev->sane;
3544 XDBG ((3, "sane_get_devices: name %s\n", dev->sane.name));
3545 XDBG ((3, "sane_get_devices: vendor %s\n", dev->sane.vendor));
3546 XDBG ((3, "sane_get_devices: model %s\n", dev->sane.model));
3601 cnt = fread (s->shading_buffer_b, sizeof (unsigned char), 30720*s->dev->epro_mult, f); /*epro*/
3602 if (cnt != (30720*s->dev->epro_mult)) /*epro*/
3621 cnt = fread (s->shading_buffer_w, sizeof (unsigned char), 30720*s->dev->epro_mult, f);/*epro*/
3622 if (cnt != (30720*s->dev->epro_mult)) /*epro*/
3642 fread (&s->dev->artec_48u_afe_params, sizeof (Artec48U_AFE_Parameters), 1,
3664 fread (&s->dev->artec_48u_exposure_params,
3723 cnt = fwrite (s->shading_buffer_b, sizeof (unsigned char), 30720*s->dev->epro_mult, f); /*epro*/
3725 if (cnt != (30720*s->dev->epro_mult))/*epro*/
3746 cnt = fwrite (s->shading_buffer_w, sizeof (unsigned char), 30720*s->dev->epro_mult, f);/*epro*/
3747 if (cnt != (30720*s->dev->epro_mult)) /*epro*/
3769 fwrite (&s->dev->artec_48u_afe_params, sizeof (Artec48U_AFE_Parameters),
3793 fwrite (&s->dev->artec_48u_exposure_params,
3809 Artec48U_Device *dev = 0;
3819 for (dev = first_dev; dev; dev = dev->next)
3821 if (strcmp (dev->sane.name, devicename) == 0)
3824 dev->sane.name));
3828 if (!dev)
3830 status = attach (devicename, &dev);
3839 dev = first_dev;
3841 if (!dev)
3844 status = artec48u_device_open (dev);
3851 XDBG ((2, "sane_open: opening device `%s', handle = %p\n", dev->sane.name,
3852 (void *) dev));
3854 XDBG ((1, "sane_open - %s\n", dev->sane.name));
3855 XDBG ((2, "sane_open: try to open %s\n", dev->sane.name));
3857 status = artec48u_device_activate (dev);
3866 status = download_firmware_file (dev);
3874 artec48u_stop_scan (dev);
3876 artec48u_wait_for_positioning (dev);
3878 artec48u_scanner_new (dev, &s);
3911 artec48u_device_close (s->dev);
3966 if(s->dev->is_epro != 0)
4010 s->val[OPT_GAMMA].w = SANE_FIX (s->dev->gamma_master);
4013 s->val[OPT_GAMMA_R].w = SANE_FIX (s->dev->gamma_r);
4014 s->val[OPT_GAMMA_G].w = SANE_FIX (s->dev->gamma_g);
4015 s->val[OPT_GAMMA_B].w = SANE_FIX (s->dev->gamma_b);
4083 status = artec48u_check_buttons (s->dev, &button_state);
4157 if ((resx == 1200) && (s->dev->is_epro == 0))
4185 if ((resx == 1200) && (s->dev->is_epro == 0))
4196 if ((resx == 1200) && (s->dev->is_epro == 0))
4235 artec48u_carriage_home (s->dev);
4237 artec48u_wait_for_positioning (s->dev);
4247 if ((s->params.ydpi == 1200) && (s->dev->is_epro == 0))
4331 artec48u_carriage_home (s->dev);
4557 Artec48U_Device *dev, *next;
4560 for (dev = first_dev; dev; dev = next)
4562 next = dev->next;
4564 artec48u_device_close (dev);
4565 artec48u_device_free (dev);