[sane-devel] backend Kodak i260 Image depth 48 bits stream. How is coded?

Jose Guadalupe Osuna Chavez jose.chaves at sat.gob.mx
Fri Aug 29 00:02:46 UTC 2008


Allan:	

   I didn't find anything about if multi-stream is supported by the scanner. I don't have a manual or something like that. I'm studying the information generated by kds logs on windows and there aren't any multi-stream options. 
   
   The CompressionType byte on SetWindow command is set to 0, I think that means uncompressed.
 
   I'd find a couple of bytes with names like scan_method and scan_mode on SetConfig command. Normally with values of 01 and 02, I'll change it to another else, and will check what could happen.

   Curiously on Windows don't care what the image settings are; always scan to 48 bpp and might be converting the image to target afterwards.



    Thank you for you help, I'll post any result..
   


Jose Osuna


P.S. This is the SetConfig settings on windows and I did emulate on Linux.

wr_cwirebase              2334   183 S5 CDB : 28 00 80 00    SC 00 00 59 00
wr_cwirescsiscan           874    31 S5 MGR : 0x1,SRB_STATUS_SUCCESS
wr_cwirebase              2503   183 S5 GET : 

00 00 00 59 01 02 08 00 00 00 00 00 01 33 00 00 
00 00 00 00 01 00 00 00 00 00 09 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00

wr_cwirebase        2532   183 S5 STS : srbsts/0x01 hres/0x00000000 pcbActualData/89
kdsprot       10564   183 S5 DMP : sizeof_AlienConfig:                89
kdsprot  	  10565   183 S5 DMP : scan_method:                      1
kdsprot       10566   183 S5 DMP : continuous_doc_mode:               0
kdsprot       10567   183 S5 DMP : special_doc_mode:                  0
kdsprot       10568   183 S5 DMP : scan_mode:                         2
kdsprot       10569   183 S5 DMP : transport_timeout:                 8
kdsprot       10570   183 S5 DMP : ultrasonic_detection_mode:         0
kdsprot       10571   183 S5 DMP : length_detection_length:           0
kdsprot       10572   183 S5 DMP : multipage_response:                0
kdsprot       10573   183 S5 DMP : page_on_demand_count:              1
kdsprot       10574   183 S5 DMP : platen_color_table_id:             3
kdsprot       10575   183 S5 DMP : platen_window_zone_id:             3
kdsprot       10576   183 S5 DMP : dp1_position:                      0
kdsprot       10577   183 S5 DMP : dp1_font:                          0
kdsprot       10578   183 S5 DMP : dp1_orientation:                   0
kdsprot       10579   183 S5 DMP : dp1_date_delimiter:                1
kdsprot       10580   183 S5 DMP : dp1_count:                         0
kdsprot       10581   183 S5 DMP : dp1_count_format:                  0
kdsprot       10582   183 S5 DMP : dp1_count_width:                   9
kdsprot       10585   183 S5 DMP : dp1_message1:                      <>
kdsprot       10588   183 S5 DMP : dp1_writesequence:                 <>
kdsprot       10589   183 S5 DMP : patch_type:                        0
kdsprot       10590   183 S5 DMP : rear_output_switch:                0
kdsprot       10591   183 S5 DMP : front_output_switch:               0
kdsprot       6836   183 S5 >>> CDev::DeviceImageOrder(0)


-----Mensaje original-----
De: m. allan noah [mailto:kitno455 at gmail.com] 
Enviado el: Jueves, 28 de Agosto de 2008 01:14 p.m.
Para: Jose Guadalupe Osuna Chavez
CC: sane-devel at lists.alioth.debian.org
Asunto: Re: [sane-devel] backend Kodak i260 Image depth 48 bits stream. How is coded?

two options- 1. does the scanner have multi-stream support? if so, it
might be scanning in duplex with all 4 heads at the same time.

2. i have a backend for the i1860 in development. it sets weird values
in the bit depth field- depending on if it is in compression mode or
not.

allan

2008/8/28 Jose Guadalupe Osuna Chavez <jose.chaves at sat.gob.mx>:
> Hi:
>
>
>
>     I'm making a backend for a i260 kodak scanner on Linux, but now I'm
> stuck trying to decode the image's stream.
>
>
>
>     As a result of analyzing the driver's log on window, all appears to show
> that the scanner only works with depth of 48 bits per pixel. Every time that
> I'd send a SetWindow command with another pixel depth, an error occurs.
>
>
>
>     The SetWindow command on window's log is the next:
>
>
>
> 01904 104543281 kdsprot                   7703   183 S5 CMD : SetWindow
>
> 01905 104543281 kdsprot                   7711   183 S5 DMP :
> aWindowDescLength:                 0
>
> 01906 104543281 kdsprot                   7712   183 S5 DMP :
> aWindowDataLength:                 46
>
> 01907 104543281 kdsprot                   7713   183 S5 DMP :
> aWindowId:                         3
>
> 01908 104543281 kdsprot                   7714   183 S5 DMP :
> aX_resolution:                     200
>
> 01909 104543281 kdsprot                   7715   183 S5 DMP :
> aY_resolution:                     200
>
> 01910 104543281 kdsprot                   7716   183 S5 DMP :
> aUpperLeft_X:                      0
>
> 01911 104543281 kdsprot                   7717   183 S5 DMP :
> aUpperLeft_Y:                      0
>
> 01912 104543281 kdsprot                   7718   183 S5 DMP :
> aWidth:                            14400
>
> 01913 104543281 kdsprot                   7719   183 S5 DMP :
> aLength:                           20400
>
> 01914 104543281 kdsprot                   7720   183 S5 DMP :
> aBrightness:                       0
>
> 01915 104543281 kdsprot                   7721   183 S5 DMP :
> aThreshold:                        0
>
> 01916 104543281 kdsprot                   7722   183 S5 DMP :
> aContrast:                         0
>
> 01917 104543281 kdsprot                   7723   183 S5 DMP :
> aImageComposition:                 5
>
> 01918 104543281 kdsprot                   7724   183 S5 DMP :
> aBitsPerPixel:                     48
>
> 01919 104543281 kdsprot                   7725   183 S5 DMP :
> aHalftonePattern:                  0
>
> 01920 104543281 kdsprot                   7726   183 S5 DMP :
> aPaddingType:                      0
>
> 01921 104543281 kdsprot                   7727   183 S5 DMP :
> aRif:                              0
>
> 01922 104543281 kdsprot                   7728   183 S5 DMP :
> aBitOrdering:                      1
>
> 01923 104543281 kdsprot                   7729   183 S5 DMP :
> aCompressionType:                  0
>
> 01924 104543281 kdsprot                   7730   183 S5 DMP :
> aCompressionArgument:              0
>
> 01925 104543281 kdsprot                   7731   183 S5 DMP :
> aImageOverscan:                    0
>
> 01926 104543281 kdsprot                   7732   183 S5 DMP :
> aColorDropoutColor:                0
>
> 01927 104543281 kdsprot                   7733   183 S5 DMP :
> aColorDropoutBackground:           245
>
> 01928 104543281 kdsprot                   7734   183 S5 DMP :
> aColorDropoutThreshold:            175
>
> 01929 104543281 kdsprot                   7735   183 S5 DMP :
> aImageMagnificationFactor:         10
>
> 01930 104543281 kdsprot                   1108   183 S5 >>>
> KDSPROT::Escape(0x2a24,10891898,54,0)
>
> 01931 104543281 wr_cwirebase              2307   183 S5 ARG : command/2a 24
> buffer/0x10891898 buflen/54 direction/0x0 mode:1
>
> 01932 104543281 wr_cwirebase              2314   183 S5 SRB : flags/0x00
> cdblen/10
>
>
>
> 01933 104543281 wr_cwirebase              2374   183 S5 CDB : 24 00 00 00 00
> 00 00 00 36 00
>
>
>
> 01934 104543281 wr_cwirebase              2437   183 S5 PUT :
>
> 00 00 00 00 00 00 00 2e 03 00 00 c8 00 c8 00 00
>
> 00 00 00 00 00 00 00 00 38 40 00 00 4f b0 00 00
>
> 00 05 30 00 00 00 00 01 00 00 00 00 00 00 00 00
>
> 00 00 00 f5 af 0a
>
>
>
>
>
>      The scanner works fine, but after the ReadImage command I don't
> understand the data stream of 48 bits. I'll like to convert this image to 8
> bits grayscale and Bitonal after.
>
>
>
>       Does anybody have any information about this image stream?   Thank you
>
>
>
>       The stream show two bytes with 80 80 every four, just like this on
> linux.
>
>
>
> [kodak] sane_read: start
>
> [kodak] read_from_scanner: start
>
> [kodak] read_from_scanner: to:7920000 rx:0 re:7920000 bu:32766 pa:32766
>
> [kodak] do_cmd: start
>
> [kodak] cmd: writing 10 bytes
>
> [kodak] cmd: >>
>
> [kodak] 000: 28 00 00 00 00 00 00 7f fe 00                      /* ReadImage
> command */
>
> [kodak] in: reading 32766 bytes
>
> [kodak] in: <<
>
> [kodak] 000: 09 09 80 80 0b 0a 80 80 07 07 80 80 08 09 80 80    /* Image
> stream */
>
> [kodak] 010: 09 09 80 80 0a 0b 80 80 0a 09 80 80 09 09 80 80
>
> [kodak] 020: 0b 0a 80 80 08 09 80 80 0b 0c 80 80 0a 09 80 80
>
> [kodak] 030: 0b 0a 80 80 09 0a 80 80 0b 0b 80 80 0b 09 80 80
>
> [kodak] 040: 08 07 80 80 08 0a 80 80 0c 0b 80 80 09 08 80 80
>
> [kodak] 050: 08 07 80 80 0a 0b 80 80 0b 0b 80 80 09 09 80 80
>
> [kodak] 060: 0b 0a 80 80 09 08 80 80 09 09 80 80 0a 0b 80 80
>
> ......
>
>
>
> Jose Osuna
>
> Coordinación Técnica
>
> CRDC Cd. Obregon
>
> Vangent de Mexico, S.A. de C.V.
>
>
>
> --
> sane-devel mailing list: sane-devel at lists.alioth.debian.org
> http://lists.alioth.debian.org/mailman/listinfo/sane-devel
> Unsubscribe: Send mail with subject "unsubscribe your_password"
>             to sane-devel-request at lists.alioth.debian.org
>



-- 
"The truth is an offense, but not a sin"




More information about the sane-devel mailing list