[sane-devel] Re : LiDE 90 Half CCD

Guillaume Gastebois guillaume.gastebois at free.fr
Fri Apr 11 15:23:56 UTC 2008


Hello,

>Guillaume Gastebois schrieb:
>> Hello,
>>
>> I see in genesys_gl841.c line 2503 :
>>
>> /* gpio part. here: for canon lide 35 */
>>
>>     r = sanei_genesys_get_address (reg, 0x6c);
>>     if (half_ccd)
>> 	r->value &= ~0x80;
>>     else
>> 	r->value |= 0x80;

I modified this in :

/* gpio part. here: for canon lide 35 */
if (dev->model->gpo_type == GPO_CANONLIDE35)
  {
  r = sanei_genesys_get_address (reg, 0x6c);
  if (half_ccd)
  r->value &= ~0x80;
  else
  r->value |= 0x80;
}

/* gpio part. here: for canon lide 90 */
if (dev->model->gpo_type == GPO_CANONLIDE90)
  {
  r = sanei_genesys_get_address (reg, 0x6c);
  if (half_ccd)
  r->value |= 0x20;
  else
  r->value &= ~0x20;
}

correct ?

>>
>> Does it mean that for LiDE 35 GPIO16 is half CCD IO ? Because in LiDE 90, I
>> identify GPIO 14 for that.
>
>The GPIO16 is used as half CCD IO. Correct.
>
>> Another thing : In windows snoop, only GPIO 14, 13, 12 and 11 changes state.
>Is
>> it possible that scanner need different gpio state between calibration and
>> scanning (and different calibration phases) ? Where to add gpio state change
>> code in backend to change gpio between different phases ?
>
>There is no way to know what GPIO 11, 12, 13 do without some experiments
>(or tracing the wires on the pcb, which i advise against).
>
>For example, one GPIO could shut off the LED drivers(thus making black
>level calibration easier), another could be used to save power(as is
>GPIO 9 in Canon LiDE 35).
>
>Currently, i think the only possibly useful GPIOs for calibration and
>scanning are the half ccd and the black led selectors, of which the
>latter is not needed(At least my scanner does not need it, even when
>doing black-level calibration on a white target).

I make test with 0x1a=0x24 and 0x16=02 (like windows snoops) making 0x6c varying
:
0x6c   |  description
_______|_____________________________________________
12     | says "Extremely low brightness detected......"
1a     | says "Extremely low brightness detected......"
0e     | no home position detected
0a     | says sometimes "Extremely low brightness detected......"
       | or gives a black image
02     | black image
06     | no home position detected
16     | no home position detected
1e     | no home position detected

I think that GPIO11 is home switch and must be 0.

After that I make test with 0x1a=0x00 and 0x16=20 (like sane yet) making 0x6c
varying :
0x6c   |  description
_______|_____________________________________________
12     | image is half the width rest is black (half ccd problem ?)
       | result : http://ggastebois.free.fr/lide90_snoop/test_12.zip
1a     | image like others since today (total width of page calibration problem)
0a     | image with vertical lines (calibration big problem see 0x6c=0x02)
02     | like 0x6c=0x0a
       | result : http://ggastebois.free.fr/lide90_snoop/test_02.zip

What to conclude about that ?Half CCD problem is strange !

It only remains only fuction of GPIO12 and GPIO13.

>
>> Thank you.
>>
>> Regards
>> Guillaume
>
>Regards,
>   Pierre

Regards
Guillaume



More information about the sane-devel mailing list