[argyllcms] Re: [SpyderX] Dispread only works once when using any -y option other than -yl

  • From: Sebastian Friedel <sebastian.friedel42@xxxxxxxxx>
  • To: argyllcms@xxxxxxxxxxxxx
  • Date: Sun, 12 Dec 2021 19:21:36 +0100

Hi,

I actually got it to work. After diving into the source and
discovering the usbflags, I simply had to add
icomuf_reset_before_close to the usbflags of the SpyderX and the
problem vanished.
I'll add my (actually quite trivial) patch against Argyll 2.2.1 to the
attachments.

Now I only have to figure out how to get the build working on Windows.
I tried it earlier but gave up when the build (using the current
Visual Studio CLI build tools) complained about conflicting
definitions from some Windows SDK headers and switched to my Ubuntu
installation where the build worked fine.

Best regards - Sebastian
diff --git a/spectro/spydX.c b/spectro/spydX.c
index 138daef..ce8cf5f 100755
--- a/spectro/spydX.c
+++ b/spectro/spydX.c
@@ -685,6 +685,7 @@ spydX_init_coms(inst *pp, baud_rate br, flow_control fc, 
double tout) {
 
 //     usbflags |= icomuf_no_open_clear;
 //     usbflags |= icomuf_resetep_before_read;
+       usbflags |= icomuf_reset_before_close;
 
        /* Set config, interface, write end point, read end point */
        /* ("serial" end points aren't used - the spydX uses USB control & 
write/read) */

Other related posts: