-
Notifications
You must be signed in to change notification settings - Fork 46
Command 01 Version Response
This response is sent by the Pod to the two pairing commands (07 Assign ID Command and 03 Setup Pod Command) using during Pod startup and has two formats of different lengths for the two cases.
The 01 Version Response message with mlen of $15 is returned from the first pairing command 07 Command and has the following format:
OFF 1 2 3 4 5 6 7 8 9 10111213 14151617 18 19202122
01 15 MXMYMZ IXIYIZ VV 0J LLLLLLLL TTTTTTTT GS IIIIIIII
-
01
(1 byte) [0]: mtype value of 01 specifies the Version Response command -
15
(1 byte) [1]: mlen of $15 is this format (the 07 Command response) -
MXMYMZ
(3 bytes) [2:4]: PM MX.MY.MZ -
IXIYIZ
(3 bytes) [5:7]: PI IX.IY.IZ - ``VV` (1 byte) [8]: always 2 (at least for PM == PI == 2.7.0)
-
0J
(1 byte) [9]: Pod Progress State, typically 02 (but possibly 01) for this shorter response -
LLLLLLLL
(4 bytes) [$A:$D]: Pod Lot -
TTTTTTTT
(4 bytes) [$E:$11]: Pod TID -
GS
(1 byte): [18]: bitsggssssss
containing Pod radio information-
gg
: Pod's current receiver low gain, observed minimum gain is at 2 & observed maximum gain is at 0 -
ssssss
: Pod's current Received Signal Strength Indictor (RSSI) value, observed maximum & minimum values of 61 & 8
-
-
IIIIIIII
(4 bytes) [19:22]: ID (Pod address) as given in the 07 Command
When pairing using a 433 MHz RileyLink it has been observed that when the reported RSSI value is too high or too low, there is a significant increase in odds of 01 Version Response packets being dropped which can potentially lead to pairing difficulties &/or pods that won't get their radio ID register properly initialized.
Taken from Pairing 03:
01 15 MXMYMZ IXIYIZ VV 0J LLLLLLLL TTTTTTTT GS IIIIIIII
01 15 020700 020700 02 02 0000a377 0003ab37 9f 1f00ee87
- PM = 2.7.0
- PI = 2.7.0
- VV = 2
- 0J = 2 (Reminder initialized Pod Progress State)
- Lot =
$0000a377
= L41847 - TID =
$0003ab37
= 240439 - GS = $9f: Receiver Low Gain = 2, RSSI = $1f (31)
- IIIIIIII =
$1f00ee87
Assigned connection ID (address)
Taken from Pod setup with known Lot and TID:
01 15 MXMYMZ IXIYIZ VV 0J LLLLLLLL TTTTTTTT GS IIIIIIII
01 15 020700 020700 02 02 0000a640 00097c27 9c 1f08ced2
- PM = 2.7.0
- PI = 2.7.0
- VV = 2
- 0J = 2 (Reminder initialized Pod Progress State)
- Lot =
$0000a640
= L42560 - TID =
$00087c27
= 556071 - GS = $9c: Receiver Low Gain = 2, RSSI = $1c (28)
- IIIIIIII =
$1f08ced2
Assigned connection ID (address)
Because this format 01 Response is used to reply to
07 Command
that is used as the first step of activating a new Pod,
the Pod progress byte 0J
must be less than 03
(Pairing completed) for this format
and except in rare cases will always be 02
(Reminder initialized).
The 01 Version Response message with a mlen of $1b is returned from the Pod for the second pairing command 03 Command.
OFF 1 2 3 4 5 6 7 8 91011 121314 15 16 17181920 21222324 25262728
01 1b UUUU IB PB PP CP PL MXMYMZ IXIYIZ VV 0J LLLLLLLL TTTTTTTT IIIIIIII
01 1b 1388 10 08 34 0A 50 MXMYMZ IXIYIZ 02 0J LLLLLLLL TTTTTTTT IIIIIIII (always for PM = PI = 2.7.0)
-
01
(1 byte) [0]: mtype value of 01 specifies the Version Response command -
1b
(1 byte) [1]: mlen of $1b is this format (the 03 Command response) -
UUUU
(2 bytes) [2:3]: (always $1388 = 5000 for 2.7.0), # of micro Units per tenth pulse for U100 insulin -
IB
(1 byte) [4]: (always $10 for 2.7.0), # of 125 mS per pulse timing for Immediate Bolus -
PB
(1 byte) [5]: (always $08 for 2.7.0), # of 125 mS per pulse timing for Prime or Cannula Insertion Boluses -
PP
(1 byte) [6]: (always $34 for 2.7.0), # of Prime Pulses (52 pulses x 0.05U/pulse = 2.6U priming bolus) -
CP
(1 byte) [7]: (always $0A for 2.7.0), # of Cannula insertion Pulses (10 pulses x 0.05U/pulse = 0.5U cannula insertion bolus) -
PL
(1 byte) [8]: (always $50 for 2.7.0), # of hours maximum Pod Life (80 hours) -
MXMYMZ
(3 bytes) [9:11]: PM MX.MY.MZ -
IXIYIZ
(3 bytes) [12:14]: PI IX.IY.IZ -
VV
02
(1 byte) [15]: (always $02 for 2.7.0), checked if == 2 for alternate handling by PDM when pod firmware version is 2.6.0 -
0J
(1 byte) [16]: Pod Progress State, should always be03
for this response -
LLLLLLLL
(4 bytes) [17:20]: Pod Lot -
TTTTTTTT
(4 bytes) [21:24]: Pod TID -
IIIIIIII
(4 bytes) [25:28]: Assigned Connection ID (Pod address)
The PDM will error out on a pod if it doesn't return an UUUU
value of $1388
(i.e., 0.05U per pulse for U100 insulin)
and then uses the returned value in resulting insulin delivery calculations.
The PDM also uses the returned IB
, PB
, PP
and SP
values
for insulin delivery calculations without any checking (when UUUU
== 5000).
If PL
is > 72, then the PDM will set the nominal pod life to 72 hours,
else the nominal pod life will be set to PL
-1 hours.
Taken from Pod setup with known Lot and TID:
01 1b UUUU IB PB PP SP PL MXMYMZ IXIYIZ VV 0J LLLLLLLL TTTTTTTT IIIIIIII
01 1b 1388 10 08 34 0a 50 020700 020700 02 03 0000a377 0003ab37 1f00ee87
- UUUU =
$1388
= 5000 micro-Units per sub-pulse (0.05U per pulse with U100 insulin) - IB =
$10
= 16 x 125 mS per pulse timing = 2 seconds/pulse for Immediate Boluses - PB =
$08
= 8 x 125 mS per pulse timing = 1 second/pulse for Prime & cannula insertion Boluses - PP =
$34
= 52 Prime Pulses needed, 52 * 0.05U/pulse = 2.6U prime bolus size - SP =
$0a
= 10 Sub-Pulses per pulse - PL =
$50
= 80 hours maximum Pod Life - PM = 2.7.0
- PI = 2.7.0
- VV = 2
- 0J = 3 (Pairing completed Pod Progress State)
- Lot =
$0000a377
= L41847 - TID =
$0003ab37
= 240439 - IIIIIIII =
$1f00ee87
Assigned connection ID (address)
Because this format 01 Response is used as a response to a
03 Command
that is used as part of a fixed sequence when activating a new Pod,
the Pod progress byte 0J
should always be 03
(Pairing success) for this response format.
The shorter mlen $15 format message is the response for the
first pairing command 07 Command
and fits in a single packet.
This shorter format contains the GS
byte with the pod's
radio information which can be used to verify suitable communication quality
by the PDM or other controlling software before proceeding with the second step of pairing.
The longer mlen $1b format message is the response for the
second pairing command 03 Command.
This longer format doesn't contain a GS
byte,
but has a fixed byte 7 sequence (for at least pod firmware 2.7.0)
of previously unknown meaning that makes this version response span a packet.
The pod's radio configuration is not actually fully completed
until the after this longer response has been successfully acknowledged.
The fixed 7-byte sequence (of $13881008340a50
for pod firmware 2.7.0) in the longer format
is now known to have a number of basic pod configuration constants.
The controlling DIY software can simply verify that the
returned values match the expected constants
since it's unlikely that there will be some future Eros pod with
a major firmware revision returning anything other than pod firmware values of $13881008340a50
.
In the more general case,
the controlling DIY software should verify that UUUU
value is the expected value
and then use the other returned values in place of using various hardcoded constant values in most places.