<p dir="ltr">> square and seems to contain the image 3 times</p>
<p dir="ltr">Could be because convert is hardcoded at 96x96.</p>
<br><div class="gmail_quote"><div dir="ltr">On Thu, 18 Jan 2018, 12:04 Hans de Goede, <<a href="mailto:hdegoede@redhat.com">hdegoede@redhat.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
<br>
On 18-01-18 10:48, Sébastien Béchet wrote:<br>
> On 17-01-18 19:21, Igor Filatov wrote:<br>
>> We didn't have the spec before so I had no idea how different devices worked. Especially given that some commands which worked fine for me produced errors one other devices. Now that we have the docs I'll work on adapting the driver. Naturally, any info you have is welcome and so is any help with testing.<br>
><br>
> I have done the [synthesis](<a href="https://github.com/sbechet/elanfp/blob/master/README.md" rel="noreferrer" target="_blank">https://github.com/sbechet/elanfp/blob/master/README.md</a>) about all informations we have a prepare questions for KT.<br>
<br>
My 0x0c16 id reader has firmware version 1.56, resolution 96x96<br>
<br>
I also have bought a stand-alone USB reader for when I would<br>
find time to work on this, this has an usb-id of: 0x0c26.<br>
<br>
After making these changes:<br>
<br>
--- elanfp.c~   2018-01-18 10:58:59.919912347 +0100<br>
+++ elanfp.c    2018-01-18 11:01:50.346280668 +0100<br>
@@ -71,7 +71,8 @@<br>
                  (desc.idVendor == 0x04f3) && (desc.idProduct == 0x0903) ||<br>
                  (desc.idVendor == 0x04f3) && (desc.idProduct == 0x0907) ||<br>
                  (desc.idVendor == 0x04f3) && (desc.idProduct == 0x0c03) ||<br>
-                (desc.idVendor == 0x04f3) && (desc.idProduct == 0x0c16) ) {<br>
+                (desc.idVendor == 0x04f3) && (desc.idProduct == 0x0c16) ||<br>
+                (desc.idVendor == 0x04f3) && (desc.idProduct == 0x0c26) ) {<br>
                  r0 = 0;<br>
                  printf("Device with vid %x pid %x found.\n", desc.idVendor, desc.idProduct);<br>
                  break;<br>
@@ -156,7 +157,7 @@<br>
          printf("CMD Get Image Size sent\n");<br>
      }<br>
      r0 = libusb_bulk_transfer(handle, BULK_EP3_IN, img_buf, 4, &transferred, 0);<br>
-    printf("Width x height = %dx%d\n", img_buf[0], img_buf[2]);<br>
+    printf("Width x height = %dx%d\n", (unsigned char)img_buf[0], (unsigned char)img_buf[2]);<br>
<br>
      /* calibration */<br>
<br>
@@ -180,6 +181,7 @@<br>
          }<br>
          r0 = libusb_bulk_transfer(handle, BULK_EP3_IN, &result, 1, &transferred, 0);<br>
          printf("Calibration Status: 0x%x\n", result);<br>
+        if (result == 0x03) break;<br>
<br>
          r0 = libusb_bulk_transfer(handle, BULK_EP1_OUT, get_cmd_status, 2, &transferred, 0);<br>
          if((r0 == 0) && (transferred == 2)) {<br>
<br>
This one works with the POC too, although for some reason the generated out.png<br>
is square and seems to contain the image 3 times?<br>
<br>
This one has firmware version 1.64, resolution 64x144 and as shown in the necessary changes this<br>
one does report a calibration status of 0x03 when it is done with the calibration, I think<br>
we should add an extra column for this to the hardware report table.<br>
<br>
Regards,<br>
<br>
Hans<br>
</blockquote></div>