Hey Linus,
I like where this is going. Sadly I don't have my EON Steel, yet, so I can't really test it.
One small comment, you forgot to add the fix for the broken headers on some Windows builds. We need something like this:
#ifdef HAVE_LIBUSB
#ifdef _WIN32 #define NOGDI #endif
#include <libusb-1.0/libusb.h>
With that applied (and a reasonably recent libusb - you're using a couple of interfaces that are somewhat new, they were added early last year and on one of my cross build setup I still had an older one...) it cross builds fine for Windows for me.
There are a few warnings about pointers targets differing in signedness (you pass char * to a send_receive which expects const unsigned char *, and then the other way around with alloc_dirent(); finally strcpy doesn't like unsigned char *, either). But in all these cases a quick glance at the function shows that these are not a problem.
On Wed, Oct 29, 2014 at 09:20:57AM -0700, Linus Torvalds wrote:
Also, to show how DC_FIELD_STRING allows other things, I added "Deco algorithm", "Battery before dive" and "Battery after dive" parsing to the EON Steel backend, although right now my subsurface patch just simply ignores that extra data. We'll need a way to show it, or at least save/restore it sanely, so that will take a bit of effort.
Neat. I'll implement a simplistic way to show these soon. I'll wait for Jef's feedback on the DC_FIELD_STRING ;-)
Whatever. The subsurface patch is still pretty small and straightforward, although to save/show generic strings will definitely take more effort. But battery information is apparently something people have been asking for, so I think it's all good.
Yes, this is awesome.
I could have done inter-diffs from the previous version, but with the big renames of "eon_steel" to "eonsteel", that diff wouldn't really have been very useful anyway, and it's not like the previous version was applied, so this is an all-new series. Three patches for libdivecomputer, and one patch for subsurface.
Not speaking for Jef, I prefer new patches in situations like this. No point to add the previous version to the git history.
/D