Well, I have made this work, which is good, but there are a number of issues that mean that I am not comfortable committing my changes - basically looking for some advice on how to overcome them or if it is worth bothering.
1) Needs to run as root - this looks like a permissions issue when opening the usb device (ie /dev/bus/usb/xxx/yyy). I suspect there is some way to configure linux to give appropriate permissions to the USB device when plugged in, but this is outside my knowledge, sadly
2) Library linkage - I have both dynamic and static libraries for x64, x86, armv5, armv6 and mac. I've managed to tweak the CMakeLists.txt file to link to one version of the static libraries for testing, but it's going to need a more elegant solution so it will find the right library for the current architecture. Any suggestions welcome - I have never 'cmaked' before...
3) Name clash - the ZWO libraries have a public symbol named 'pCamera' which clashes with the global pCamera in phd.cpp. Now, the easy solution for me is to just rename pCamera to (say) pGuideCamera throughout the source (266 locations!), which works. Not the nicest thing to have to do just to link to a library though. Acceptable? Or not?
Any advice welcome :)
cheers,
Robin