The "flash" source code from GitHub is directly compatible with 32 bit XP - provided you don't try to compile it using a Microsoft compiler as it uses C-99 extensions. I've just compiled it without any trouble on XP using gcc from the MinGW distribution . The USB driver is already available in XP - you just need the same inf file as works in Windows 7, ie EFM32-Cdc.inf. The XP build is reading the UID and firmware CRC and uploading new firmware and runs on 64-bit Windows 7 as well.
The configuration software is more tricky but I've managed to edit main.c and hid.c so that usbhidtool will compile in MSVC 6 and it's now working perfectly from the command line in XP. My grasp of C is very shaky and it's a long time since I used Visual Basic so it may take me some time to produce a working user interface - although I have progressed as far as setting the AudioMoth time in either UTC or local time.
Hi Alex
The issue is that M$oft didn't even start to implement C99 until VS 2013, with further additions in 2015 and as far as I am aware the latest version of VS that will run on XP is VS 2010.
usbhidtool was easy to modify for earlier versions of VS - hid.c compiles without any mods and most of the issues in main.c are due to mixing declarations and expressions in the same statement so were easily fixed. Whilst stdbool.h doesn't exist it also would be easy to fix but booleans aren't actually used in the program anyway.
Flash was more of a problem and there are pointer issues in rs232-win.c that are beyond me at the moment.
However both utilities compile, link and execute without any issues in XP using gcc.
I can confirm that neither the compiled 32-bit versions of flash nor usbhidtool on github work under Windows XP - both return the error: "not a valid Win32 application". This is because recent versions of Visual Studio do not support Windows XP, by default. However XP support can easily be added by installing the Windows XP platform toolset, which adds support for Windows XP and Server 2003 whilst still allowing programs to run on more recent Windows operating systems. According to Chris Corben (designer of the Anabat detector and author/maintainer of the companion AnalookW software) installation and usage of the XP platform toolset is very straightforward.
See the M$oft article "Configuring Programs for Windows XP" at https://docs.microsoft.com/en-us/cpp/build/configuring-programs-for-windows-xp?view=vs-2017
I don't think that the javascript part of the configuration utility will be so easy to fix for XP - as far as I am aware XP is completely unsupported by the current version of node.js. My aim is to attempt build a user interface to the usbhidtool library using Visual Basic.
That sounds good. Strange that the Microsoft compiler doesn't like the flash source files as we use the standard Visual Studio command line tools on Windows 10 to compile them. Maybe they changed the default C standard and it needs to be told to use C99.
Just to confirm. Neither the compiled 32-bit versions of flash or usbhidtool on github work under Windows XP?