Sentinel (and rEvo)

"Paul-Erik Törrönen" poltsi at 777-team.org
Mon Dec 28 13:33:48 PST 2015


> No worries, my rebreather unit is in Britain to be serviced, so I haven't
> had time to test against that.

It came back, with new electronics, so all data was naturally gone. Did a
couple of dives to gather more data.

A status update:

> Anton/Glance did remind me of just using a terminal software (such as
> minicom) to see what the dive computer/rebreather sends back, this should
> be pretty straigthforward since the commands are within the ASCII code
> range.

This appears not to be the case. While I do think I get the correct serial
settings (9600,8bit...), nothing happens when I send the command
characters to the unit.

What is more confounding, though, is that I can't make sense of the
*_device_dump-function called by the universal.

I've created a branch of libdivecomputer which I have uploaded to github.com:

https://github.com/Poltsi/libdivecomputer-sentinel

It has the basic modifications that I mentioned previously, and I've also
temporarily sprinkled som printf's on the vms-sentinel.c to see what is
going on.

The thing is, that currently when I run:

$ examples/universal -b sentinel -l sentinel-002.log -d dives-002.log
/dev/ttyUSB0

I get the following output (enhanced with line numbers):

      2 DATETIME 2015-12-28T20:34:14Z (1451334854)
      3 VERSION 0.5.0-devel (842c4ca466ec56aaff70e7a774a45dde1c95e2d4)
      4 Opening the device (VMS Sentinel, /dev/ttyUSB0).
      5 Registering the event handler.
      6 Registering the cancellation handler.
      7 Downloading the dives.
      8 Event: progress 0.00% (0/128000)
      9 Foo: '0'
     10 nbytes: '0'
     11 SZ_MEMORY: '128000'
     12 Available: '0'
     13 Data n is: '953' expected: '1024'
     14 Data is: '
     15 ver=V009B
     16 Recint=5
     17 SN=4AAD12245D5B7038
     18 V009B
     19 Mem 0, 4000, 919
     20 Memi 5920, 4049, 6839
     21 Start 4001, 757074885
     22 Finish 4002, 757079479
     23 MaxD 4003, 29.64
     24 Status 4004, 0
     25 OTU 4005, 93
     26 Descend prob 4006, 0
     27 DAtmos 4008, 1067
     28 DStack 4009, 7480
     29 DUsage 4010,    9
     30 DCNS 4011, 32.712226
     31 DSafety 4012, 0.004000
     32 Dexpert, 2
     33 Dtpm, 1
     34 DDecoAlg VGM
     35 DVGMMaxDSafety 0.000000
     36 DVGMStopSafety 0.000000
     37 DVGMMidSafety 0.000000
     38 Dfiltertype, 0
     39 Dcellhealth 1, 122
     40 Dcellhealth 2, 134
     41 Dcellhealth 3, 126d
     42 ver=V009B
     43 Recint=5
     44 SN=4AAD12245D5B7038
     45 V009B
     46 Mem 0, 4000, 595
     47 Memi 5325, 4049, 5920
     48 Start 4001, 756997189
     49 Finish 4002, 757000163
     50 MaxD 4003, 43.06
     51 Status 4004, 0
     52 OTU 4005, 66
     53 Descend prob 4006, 0
     54 DAtmos 4008, 1055
     55 DStack 4009, 4655
     56 DUsage 4010,    8
     57 DCNS 4011, 495.495605
     58 DSafety 4012, 0.004000
     59 Dexpert, 2
     60 Dtpm, 1
     61 DDecoAlg VGM
     62 DVGMMaxDSafety 0.000000
     63 DVGMStopSafety 0.000000
     64 DVGMMidSafety 0.000000
     65 Dfiltertype, 0
     66 'cellhealth 1, 122
     67 ERROR: Failed to receive the answer. [in vms_sentinel.c:244
(vms_sentinel_device_dump)]
     68 universal.c:831: Error downloading the dives.
     69 Result: Timeout

What I don't understand is why is

  int available = serial_get_received (device->port);

Returning 0 (line 12), but then

  n = serial_read (device->port, data + nbytes, len);

Returns 953 (line 13).

Also there is something else strange going on as line 42 is essentially a
repeat of line 15 and line 66 is a corrupted 39.

Could it be that the serial settings are not correct?

What I see from the portmon logs is:

19  0.00000000  ProLink2010oct.  IOCTL_SERIAL_SET_LINE_CONTROL  Silabser0 
StopBits: 1 Parity: NONE WordLength: 8
20  0.00000000  ProLink2010oct.  IOCTL_SERIAL_SET_CHAR  Silabser0  EOF:1a
ERR:0 BRK:0 EVT:0 XON:11 XOFF:13

Poltsi

-- 
Paul-Erik Törrönen   poltsi at 777-team.org
+358 40 703 1231     http://poltsi.fi/

     Science, it reduces the stupid



More information about the devel mailing list