Michael,
It looks like when we send a command to the dive computer, we get back an echo
(which is normal for the edy protocol), but not the actual data packet.
Just to be sure, I assume that it's not the first time you use this pc
interface, so you know the correct procedure to download? Things like activate a
PC mode on the device, etc. (I haven't used one myself, so I don't know.)
This could be some timing related issue. It's not unlikely that the device needs
a bit more time after changing settings. That's very common with other dive
computers too. So I made a build with a few extra sleep calls here and there.
Can you give this a try? Download the "iq700" test application from the
libdivecomputer website (pick the OS of your choice):
http://www.libdivecomputer.org/builds/experimental/
and run it with these options:
iq700 -v -l iq700.log -m iq700.bin -b edy <serialport>
where you replace <serialport> with the correct serial port. Send back both the
iq700.log and iq700.bin files. Note that the latter file will only be created
after a successful download.
Next step will be to capture the communication between the dive computer and the
tusa application. Due to the usb-only driver, you won't be able to capture
serial communication with portmon, and you'll have to capture at the usb level.
Have a look here for some windows application:
http://libdivecomputer.org/usb.html
They are not very intuitive, so don't hesitate to ask help if necessary. It's
also possible to capture on linux (using usbmon) with the cressi software
running inside a VM.
A few years ago, I received another request for the IQ-700, and we noticed the
same symptoms. I have an usbsnoop capture from back then, and the protocol is
certainly identical to edy protocol. I can't notice any obvious mistakes. The
only odd thing are the serial line settings. From the usb trace, I get this:
b0 04 00 00 01 00 08 -> 1200 8N1.5
c0 12 00 00 01 00 08 -> 4800 8N1.5
But at least on windows, 8N1.5 is an invalid combination. You can't set this
mode through the win32 serial api. It might be that the usb-only driver allows
this. libdivecomputer is using 8N1.
(If anyone wants this usbsnoop capture file to have a look, just ask. It's
pretty large, so I didn't attach it here.)
Jef