On 11/22/2011 02:12 AM, m. allan noah wrote: > Sane is free/open source software. Take a spin thru the backend, and > see if you can find a good place to send this command. > > allan > >
I've dug through the code and made copy/paste/rename adjustments everywhere it seemed reasonable (first day with c-code...). This will probably more show how lost I am than anything else, but below are the diffs for all files I've been poking around (don't think I forgot any). I think my main issue is that I have no clue how to connect the static that I made (SANE_EPSON_CAP_FULL_SENSOR_IN_TPU) to what is being sent in the scanner in "define esci_set_full_sensor(s,v) e2_esc_cmd( s,(s)->hw->cmd->set_full_sensor, v)". That is to give set_full_sensor the value of SANE_EPSON_CAP_FULL_SENSOR_IN_TPU. /Martin ***epson2.h 100,102d99 < /* undocumented sensor feature for V700 */ < #define SANE_EPSON_CAP_FULL_SENSOR_IN_TPU 0x803D < 224d220 < unsigned char set_full_sensor; /* For scanning the full area in TPU on V700*/ 267d262 < OPT_FULL_SENSOR, 346d340 < SANE_Bool sensorSupport; /* does the scanner have support for full sensor mode when TPU is source? */ 400d393 < SANE_Bool fullSensor; ***epson2.c 1341,1354d1340 < /* full sensor in TPU */ < s->opt[OPT_FULL_SENSOR].name = "full-sensor"; < s->opt[OPT_FULL_SENSOR].title = SANE_I18N("TPU sensor modes"); < s->opt[OPT_FULL_SENSOR].desc = SANE_I18N("In TPU mode some scanners (e.g. V700) reduce the max parameters for the scanning area. This option by-passes that 'functionality'"); < s->opt[OPT_FULL_SENSOR].type = SANE_TYPE_BOOL; < s->val[OPT_FULL_SENSOR].w = SANE_FALSE; < < s->opt[OPT_FULL_SENSOR].cap |= SANE_CAP_ADVANCED; < < if (s->hw->sensorSupport == SANE_TRUE) < s->opt[OPT_FULL_SENSOR].cap &= ~SANE_CAP_INACTIVE; < else < s->opt[OPT_FULL_SENSOR].cap |= SANE_CAP_INACTIVE; < 1637d1622 < case OPT_FULL_SENSOR: 1731d1715 < /*s->fullSensor = SANE_FALSE; since this option isn't documented best not always activate */ 1751,1752d1734 < deactivateOption(s, OPT_FULL_SENSOR, &dummy); < 1769,1776d1750 < /* enable full size scanning */ < if (s->hw->cmd->set_full_sensor != 0) { < s->hw->x_range = &s->hw->x_range; < s->hw->y_range = &s->hw->y_range; < activateOption(s, OPT_FULL_SENSOR, &dummy); < } else { < deactivateOption(s, OPT_FULL_SENSOR, &dummy); < } 1799d1772 < deactivateOption(s, OPT_FULL_SENSOR, &dummy); 1986d1958 < case OPT_FULL_SENSOR: ***epson2-commands.h 32d31 < #define esci_set_full_sensor(s,v) e2_esc_cmd( s,(s)->hw->cmd->set_full_sensor, v) ***epson2-ops.c 762,766d761 < /* There should be a proper way to test if scanner supports < full sensor mode */ < < dev->sensorSupport = SANE_TRUE; < 774d768 < 1001,1009d994 < if (s->hw->sensorSupport == SANE_TRUE) { < if (s->val[OPT_FULL_SENSOR].w == SANE_FALSE) { < DBG(1, "setting sensor to capture full area"); < esci_set_full_sensor(s, SANE_TRUE); < } else { < DBG(1, "setting sensor to standard capture area"); < esci_set_full_sensor(s, SANE_FALSE); < } < } 1081,1087d1065 < if (status != SANE_STATUS_GOOD) < return status; < } < < if (SANE_OPTION_IS_ACTIVE(s->opt[OPT_FULL_SENSOR].cap)) { < status = esci_set_full_sensor(s, s->val[OPT_FULL_SENSOR].w); < -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.alioth.debian.org/pipermail/sane-devel/attachments/20111122/49cccc41/attachment.html>