As for the compilation errors. I am using the newest DDK available from Microsoft at http://www.microsoft.com/whdc/devtools/ddk/default.mspx I clicked on "Download the Windows Server 2003 SP1 DDK [236 MB ISO file]"
I haven't attempted to use Microsofts DDK with MingW, so it wouldn't be a surprise if there were issues. Some Googling confirms that this is rarely attempted, and a far easier path would be to create the necessary declarations by hand and dynamically linking to the dlls rather than trying to #include the DDK files and link to the DDK .lib files. (There are more than enough issues in getting it to work with Microsoft's own compilers, never mind gcc. Why the application level API to HID is only in the DDK is another puzzle in itself.)
Then I compiled your version of AJAM (with one change - I had to remove all blank lines from jam.h - I do not know if those were added "in transit" or there was an error on my side - maybe just take a look and see if everything is OK with your version [just see if there are any redundant blank lines in preprocessor commands] :). All in all, I do not think this is the problem.
I'm not sure why you had that particular problem. There are some odd things about the way FT-jam/ajam is packaged and built, but I haven't at this stage attempted to address those problems, preferring to leave it as close to FT-jam as possible. Perhaps it's a line ending thing ? (ie. CR vs. CR/LF).
The problem is with usb.h, usb100.h and usb200.h, for example: In file included from spectro\icoms.h:35, from spectro\inst.c:43: E:/WINDDK/3790.1830/inc/wxp/usb.h:44: error: syntax error before "PIRP" E:/WINDDK/3790.1830/inc/wxp/usb.h:44: warning: data definition has no type or storage class E:/WINDDK/3790.1830/inc/wxp/usb.h:45: error: syntax error before "PMDL" E:/WINDDK/3790.1830/inc/wxp/usb.h:45: warning: data definition has no type or storage class Is anyone interested in full compilation log? Graeme - do you want them via PM?
It might be a better question for MingW forums, along the lines of "how do I use Microsoft's DDK with MingW ?". At this stage I'm not prepared to figure it out, since I have an environment (VC++6) in which it works, and there is the workaround of using Libusb with the Huey in any case.
It just crashes - "There was a problem with application dispcal..."
Error signature: AppName: dispcal.exe, AppVer:0.0.0.0 ModName: unknown ModVer: 0.0.0.0 Offset: 00198fe4
You've run it under gdb ?
As this is Microsoft's function, I think the problem is with my compilation - the necessity of using Win2k libs on WinXP.
Yes, sounds something like a linking conventions problem between the compiled code and the DDK libraries. I wouldn't waste your time on it.
Minor thing - could you take a look at the very end of hidio.h? The following stuff is outside #if #endif protection against double inclusion. Is this intentional? /* Cleanup and then free an hev entry */ void hid_del_hid_device(hid_device *hev);
I think you're right, this should be inside the #ifdef.
One more thing - if I #undef ENABLE_NT_HID and recompile, everything seems to work fine (I will be doing a few tests soon :) ) so my previous crash is definitely connected to ENABLE_NT_HID.
I think that's the case if you try and use the DDK with MingW (probably the wrong function call declaration). Graeme Gill.