Hi Florian,

I have tried this version. The CTRL_SAMPLING packet (value:0x20 index:0x20)
is now identical. But it still doesn't work. It also doesn't work after
removing these 2 issues:

The function la2016_upload_firmware() calls "ezusb_upload_firmware(sr_ctx,
dev, 0, fw_file);" The parameter configuration should be 1 since the
Configuration Descriptor has bConfigurationValue=1. This is also done in the
other hardware drivers. e.g. fx2lafw/api.c, line 349:
  ezusb_upload_firmware(drvc->sr_ctx, devlist[i], USB_CONFIGURATION,
prof->firmware)
There is a "#define USB_CONFIGURATION 1" in the corresponding "protocol.h"
files of the other drivers.
I don't know why this is not a problem on the Linux platform.

There was a subtle difference in the CTRL_THRESHOLD packet (value:0x48
index:0). The Linux driver sends "58 02 F2 00", the Windows version "57 02
F2 00". This data is just a threshold value. It's calculated from floating
point values. Probably there are differences in the floating point
libraries.
But anyway, this is just a value for the sample threshold. Although the
value should not be important, I changed the function and the Windows driver
sends now the same value. But unfortunately this doesn't change the
behavior. After la2016_start_acquisition() is called, no IN transfer is
initiated by the LA2016 on the USB bus.

The last remaining difference in the USB data is the data in unknown_resp1,
read from EP:0 request:96, value:0, index:0. But this is a device-to-host
control transfer. So the data content is not under control of the LA2016
driver in libsigrok. The actual value changes in each run, independent of
the OS.

Regards,
Helge

-----Original Message-----
From: Florian Schmidt [mailto:schmidt_flor...@gmx.de]
Sent: Wednesday, October 28, 2020 7:14 PM
To: sigrok-devel@lists.sourceforge.net
Subject: Re: [sigrok-devel] kingst-la2016 & MXE compiler - (was: Getting
firmware for Kingston LA2016)

hi helge,

can you please pull branch "kingst-la2016/no-packed" from
https://github.com/fastflo/libsigrok.git
and try to compile it with this MXE compiler?

i successfully tested to compile with gcc 9.3 and run it on linux. if it
compiles, this should fix the issue with struct sample_config (and also
decoding the received data).

flo.

On 10/28/20 5:33 PM, Florian Schmidt wrote:
> ...non-gcc compilers when i used "__attribute__((packed))" in that
code-base.
> ...i will prepare a branch from libsigrok master to implement this.
> ...
> On 10/28/20 3:15 PM, Helge Kruse wrote:
>> This __packed__ attribute is not honored in the
>> MXE compiler. Fill bytes are inserted.



_______________________________________________
sigrok-devel mailing list
sigrok-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sigrok-devel



_______________________________________________
sigrok-devel mailing list
sigrok-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sigrok-devel

Reply via email to