Recovery Node Display in rocketview
Note: Message IDs are described in the form DEFINED_MESSAGE_NAME = [16bit ID] = [11bit ID] [RTR] [length] [byte0] ... [byte7], where the 16bit ID is the 16 bit "packed value" of the ID (11 bits CAN ID + 1 bit RTR + 4 bits length).
If the data is unkown - e.g., because a message has not been received which sets this data - then display a dash(-).
Recovery Node ([-|Safe|2m Armed|Armed]) |
Here's how to map CAN messages to the display:
The recovery node's mode is set by 2m REC_REPORT_MODE = 941 = 4a 0 1 [0x30|0x33|0x3F] where:
- 0x30 =
'Safe' - 0x33 =
'2m Armed' - 0x3F =
'Armed'
Power is set by REC_REPORT_BATTERY = 9C6 = 4E 0 6 [batt] [Vb MSB] [Vb LSB] [Ib MSB] [Ib LSB] [EXT PWR] where:
[EXT PWR] = 0 -> 'HAP'[EXT PWR] = 1 -> 'External'
Charge is set by REC_REPORT_BATTERY = 9C6 = 4E 0 6 [batt] [Vb MSB] [Vb LSB] [Ib MSB] [Ib LSB] [EXT PWR] where:
[batt] = 0 -> 'Off'[batt] = 1 -> 'Trickle'[batt] = 2 -> 'Fast'
Battery is set by set by REC_REPORT_BATTERY = 9C6 = 4E 0 6 [batt] [Vb MSB] [Vb LSB] [Ib MSB] [Ib LSB] [EXT PWR] where:
- Battery voltage is
(([Vb MSB] << 8) + [Vb LSB])*5/1024volts - Battery current is
([Ib MSB] << 8) + [Ib LSB]which is the raw 10bit ADC value (thus the "#A" units in the display)
Last DTMF is set by REC_REPORT_DTMF = 9A3 = 4D 0 3 [DTMF tone] [tone_number] [tone_sequence] where:
i (j,k)is DTMF tone 1..12 (tone number, tone sequence)- The DTMF tones from 1..12 are 1234567890*#
- The control will show the received DTMF sequence starting with #. Sending a # will reset the sequence.
Timer i: is set by REC_REPORT_TIMER = 923 = 49 0 3 [MSB timer] [LSB timer] [timer #] where:
i = [timer # 1..4]([MSB timer] << 8) + [LSB timer]
Pyro i: is set by REC_REPORT_PYRO = 902 = 48 0 2 [pyro #] [Fired] where:
i = [pyro # 1..4]'Fired(nx)'wherenis a count of how many times[Fired]was1fori = [pyro #]- Please don't ever clear this, even if you get a
[Fired] = 0. If[Fired]is ever equal to 1, then just increment the number of firings (1x, 2x, 3x, etc) and never reset it (until rocketview is restarted, of course).