Sorry, sent that last one to Jef only by mistake.
On 13/03/14 00:52, Hamish Moffatt wrote:
I'm starting to wonder if the dive computer needs that time and the only reason it works on Windows and Mac is because the default latency timer is higher which is adding that delay...
Aha. So, I increased the latency on linux (after first turning off the low_latency flag, which the driver sets by default):
# setserial /dev/ttyUSB0 ^low_latency # echo 16 > /sys/bus/usb-serial/devices/ttyUSB0/latency_timer
Now it works. With a value of 2 in there, it mostly works (glitches occasionally). Here's the timing:
[0.000026] DATETIME 2014-03-12T13:58:50Z (1394632730) [0.000052] VERSION 0.5.0-devel (575f2e9016ac9baa2b1b031caa6fe0bc77cdbbee) [0.000057] DEVICE=/dev/ttyUSB0 [0.000065] oceanic_atom2_device_open [0.000073] INFO: Open: name=/dev/ttyUSB0 [0.000812] INFO: Configure: baudrate=38400, databits=8, parity=0, stopbits=1, flowcontrol=0 [0.000929] INFO: Timeout: value=3000 [0.000940] INFO: Sleep: value=100 [0.101016] INFO: Flush: queue=3, input=0, output=0 [0.101439] INFO: Write: size=1, data=84 [0.103600] INFO: Read: size=1, data=5A [0.107599] INFO: Read: size=17, data=4F43452056543320523244203531324BBF [0.107615] dc_device_dump [0.108581] INFO: Write: size=3, data=B10000 [0.109599] INFO: Read: size=1, data=5A [0.121477] INFO: Read: size=17, data=0416041120081001425800730000000075 [0.124581] INFO: Write: size=3, data=B10001 [0.124596] INFO: Read: size=1, data=5A [0.135469] INFO: Read: size=17, data=6701DA064204E506E206DC06FF0FAAFBF6 [0.136583] INFO: Write: size=3, data=B10002 [0.137476] INFO: Read: size=1, data=5A [0.149352] INFO: Read: size=17, data=0000DC06FF0FDC06FF0F00000000AA8A14 [0.152581] INFO: Write: size=3, data=B10003 [0.152595] INFO: Read: size=1, data=5A [0.163354] INFO: Read: size=17, data=890E370D00011B0B670542053250AAE1C2 [0.164588] INFO: Write: size=3, data=B10004 [0.165312] INFO: Read: size=1, data=5A [0.177359] INFO: Read: size=17, data=300220028003500530BEB0BB0000000085 [0.180580] INFO: Write: size=3, data=B10005 [0.180595] INFO: Read: size=1, data=5A [0.191212] INFO: Read: size=17, data=A014000300002C01980805A0022100024E [0.192580] INFO: Write: size=3, data=B10006 [0.193229] INFO: Read: size=1, data=5A
With a value of 4 it downloaded the whole memory dump with no errors.
Hamish