Hi Jef,
a friend of mine happenes to use a Liquivision X1 computer.
I understand libdivecomputer does not yet support that model, but wanted to ask whether there are any known attempts underway to change that?
Or would it be realistic to assume that borrowing that computer for just a few days trying to sniff its protocol would deliver enough information to support it?
Regards,
Lutz Vieweg
On 2013-02-18 15:43, Lutz Vieweg wrote:
a friend of mine happenes to use a Liquivision X1 computer.
I understand libdivecomputer does not yet support that model, but wanted to ask whether there are any known attempts underway to change that?
Or would it be realistic to assume that borrowing that computer for just a few days trying to sniff its protocol would deliver enough information to support it?
I looked briefly at the Liquivision Xen/Xeo last year. But I didn't get very far due to a lack of time.
One of the problems with these devices is that capturing the communication is a bit more challenging. The Liquivision application uses the FTDI D2XX driver and library to talk to the device. This means there is no virtual COM port and thus capturing the serial communication isn't possible as far as I know. The alternative is to capture the usb communication. But because usb is a lot more verbose then plain serial communication, the result is much more difficult to interpret. I also don't know any relative easy to use applications to capture usb communication (like a portmon equivalent for usb).
Jef
Maybe a talk with the Diving Log guys could help?
"OK, great news: I've heard back from Liquivision and got already some material - and also a direct download with Diving Log seems not too far away, but I can't promise more about that right now. An import is almost working already."
"So, here we go: Thanks to the documentation I got yesterday, I finally managed to read the Dive Log file format (*.lvd) and created a first import which you can test. It works with the 2 logbook files I have, but it is possible that it has still bugs. I managed to import almost all data, except profile events (e.g. warnings and gas switches). If you have any logbook files containing dive profiles with gas switches and warnings, please send me the files."
(from http://www.divinglog.de/phpbb/viewtopic.php?f=4&t=1408 @ Nov.2011)
Henrik
Jef Driesen wrote:
On 2013-02-18 15:43, Lutz Vieweg wrote:
a friend of mine happenes to use a Liquivision X1 computer.
I understand libdivecomputer does not yet support that model, but wanted to ask whether there are any known attempts underway to change that?
Or would it be realistic to assume that borrowing that computer for just a few days trying to sniff its protocol would deliver enough information to support it?
I looked briefly at the Liquivision Xen/Xeo last year. But I didn't get very far due to a lack of time.
One of the problems with these devices is that capturing the communication is a bit more challenging. The Liquivision application uses the FTDI D2XX driver and library to talk to the device. This means there is no virtual COM port and thus capturing the serial communication isn't possible as far as I know. The alternative is to capture the usb communication. But because usb is a lot more verbose then plain serial communication, the result is much more difficult to interpret. I also don't know any relative easy to use applications to capture usb communication (like a portmon equivalent for usb).
Jef _______________________________________________ subsurface mailing list subsurface@hohndel.org http://lists.hohndel.org/cgi-bin/mailman/listinfo/subsurface
On 2013-02-19 09:42, Henrik Brautaset Aronsen wrote:
Maybe a talk with the Diving Log guys could help?
"OK, great news: I've heard back from Liquivision and got already some material - and also a direct download with Diving Log seems not too far away, but I can't promise more about that right now. An import is almost working already."
"So, here we go: Thanks to the documentation I got yesterday, I finally managed to read the Dive Log file format (*.lvd) and created a first import which you can test. It works with the 2 logbook files I have, but it is possible that it has still bugs. I managed to import almost all data, except profile events (e.g. warnings and gas switches). If you have any logbook files containing dive profiles with gas switches and warnings, please send me the files."
(from http://www.divinglog.de/phpbb/viewtopic.php?f=4&t=1408 @ Nov.2011)
That talk already happened around the time the above was posted. The first quote (regarding the direct download) was in fact posted due to that discussion :-)
In a nutshell, Sven (the Diving Log author) received from Liquivision some documentation about the data format (which he used to write the importer), and also a shared library for the communication. Sven asked me if I could write the necessary glue code to use this library from .NET (because he's not a C/C++ developer). I tried, but unfortunately I couldn't get it to work. The small prototype app I wrote did compile, and even managed to communicate with the device, but then crashed somewhere inside the shared library. I suspect this was due to the fact it's a C++ library and there was some mismatch between compiler versions (or options) and/or the stl libraries. C++ isn't as portable as C in that regard. I didn't really had the time to investigate in more detail.
Jef
Ok... But if we could get Sven to share the *.lvd file format documentation we could at least provide Liquivision file import to Subsurface?
Henrik Den 19. feb. 2013 16:46 skrev "Jef Driesen" jefdriesen@telenet.be følgende:
On 2013-02-19 09:42, Henrik Brautaset Aronsen wrote:
Maybe a talk with the Diving Log guys could help?
"OK, great news: I've heard back from Liquivision and got already some material - and also a direct download with Diving Log seems not too far away, but I can't promise more about that right now. An import is almost working already."
"So, here we go: Thanks to the documentation I got yesterday, I finally managed to read the Dive Log file format (*.lvd) and created a first import which you can test. It works with the 2 logbook files I have, but it is possible that it has still bugs. I managed to import almost all data, except profile events (e.g. warnings and gas switches). If you have any logbook files containing dive profiles with gas switches and warnings, please send me the files."
(from http://www.divinglog.de/phpbb/**viewtopic.php?f=4&t=1408http://www.divinglog.de/phpbb/viewtopic.php?f=4&t=1408@ Nov.2011)
That talk already happened around the time the above was posted. The first quote (regarding the direct download) was in fact posted due to that discussion :-)
In a nutshell, Sven (the Diving Log author) received from Liquivision some documentation about the data format (which he used to write the importer), and also a shared library for the communication. Sven asked me if I could write the necessary glue code to use this library from .NET (because he's not a C/C++ developer). I tried, but unfortunately I couldn't get it to work. The small prototype app I wrote did compile, and even managed to communicate with the device, but then crashed somewhere inside the shared library. I suspect this was due to the fact it's a C++ library and there was some mismatch between compiler versions (or options) and/or the stl libraries. C++ isn't as portable as C in that regard. I didn't really had the time to investigate in more detail.
Jef
On 2013-02-19 17:10, Henrik Brautaset Aronsen wrote:
Ok... But if we could get Sven to share the *.lvd file format documentation we could at least provide Liquivision file import to Subsurface?
That's certainly an option, but a direct download is of course the preferred solution in the long term :-)
Jef
Den 21. feb. 2013 10:16 skrev "Jef Driesen" jefdriesen@telenet.be følgende:
On 2013-02-19 17:10, Henrik Brautaset Aronsen wrote:
Ok... But if we could get Sven to share the *.lvd file format
documentation
we could at least provide Liquivision file import to Subsurface?
That's certainly an option, but a direct download is of course the
preferred solution in the long term :-)
Agreed. But it's more than just an option. It's the difference between supported and entirely unsupported.
Henrik
On 02/19/2013 09:34 AM, Jef Driesen wrote:
The alternative is to capture the usb communication. But because usb is a lot more verbose then plain serial communication, the result is much more difficult to interpret. I also don't know any relative easy to use applications to capture usb communication (like a portmon equivalent for usb).
Wireshark is said to do that: http://wiki.wireshark.org/CaptureSetup/USB
(But I've got no personal experience in doing so.)
Regards,
Lutz Vieweg
On 2013-02-19 10:51, Lutz Vieweg wrote:
On 02/19/2013 09:34 AM, Jef Driesen wrote:
The alternative is to capture the usb communication. But because usb is a lot more verbose then plain serial communication, the result is much more difficult to interpret. I also don't know any relative easy to use applications to capture usb communication (like a portmon equivalent for usb).
Wireshark is said to do that: http://wiki.wireshark.org/CaptureSetup/USB
Yes, but according to the same page only on linux. Most dive computer manufacturers only have a Windows application, which means we need to be able to capture on Windows! Having to setup a Windows VM on a Linux host may work fine for you and me, but it's certainly not an option for the average end-user.
That's why PortMon is so convenient. There is no need to even install it. You only have to adjust a couple of options, and you are ready to capture. This is something the majority of the end-users can get to work.
(But I've got no personal experience in doing so.)
Me neither.
Jef