Skip to content
Joe Moran edited this page Apr 19, 2021 · 9 revisions

Command counter (Message sequence number)

B9's CCCC 4-bit counter (message sequence number) incremented for every complete message from 0-15 in a loop.

Setup Pod command 0x03 resets the message # counter after assigning the id 0x07. It will then increment forever, only a holding the message # value when a bad nonce occurs and a retry is made using the same message # with an updated nonce.

When a status response keeps sending without stopping (When the PDM is out of range probably), it continues incrementing once it has received the expected send or receive command again: https://github.com/openaps/openomni/wiki/Full-life-of-a-pod-(omni-flo)#regained-connectivity

The message number will be repeated if a bad nonce is received and the message is resent with a corrected nonce: https://github.com/openaps/openomni/wiki/Full-life-of-a-pod-(omni-flo)#suspend-for-2-hours

Commands which generally use a message counter # of 0

Assign ID 07:

https://github.com/openaps/openomni/wiki/Full-life-of-a-pod-(omni-flo)#when-priming

Setup Pod 03

https://github.com/openaps/openomni/wiki/Full-life-of-a-pod-(omni-flo)#when-priming

Examples of different commands:

Status commands $0e and $1d:

https://github.com/openaps/openomni/wiki/Full-life-of-a-pod-(omni-flo)#idle-for-a-while

Bolus command $1a

https://github.com/openaps/openomni/wiki/Full-life-of-a-pod-(omni-flo)#give-a-10u-bolus-1

Basal command $1a

https://github.com/openaps/openomni/wiki/Full-life-of-a-pod-(omni-flo)#change-basal-to-14uh--resume

Temp basal $1a

https://github.com/openaps/openomni/wiki/Full-life-of-a-pod-(omni-flo)#set-temp-basal

Suspend command $1f

https://github.com/openaps/openomni/wiki/Full-life-of-a-pod-(omni-flo)#suspend-for-15-hours

CCCC counter written out:

2018-05-25T15:04:58.797869 ID1:1f16b11e PTYPE:PDM SEQ:03 ID2:1f16b11e B9:00 BLEN:3 BODY:0e010081a0 CRC:96
CCCC = 0 B9:00->bits 00 0000 00
2018-05-25T15:04:58.867675 ID1:1f16b11e PTYPE:POD SEQ:04 ID2:1f16b11e B9:04 BLEN:10 BODY:1d18004a40c20001ebff0392 CRC:4b
CCCC =  1 B9:04->bits 00 0001 00
2018-05-25T15:04:58.869747 ID1:1f16b11e PTYPE:ACK SEQ:05 ID2:1f16b11e CRC:3e

2018-05-25T15:34:59.853463 ID1:1f16b11e PTYPE:PDM SEQ:06 ID2:1f16b11e B9:08 BLEN:3 BODY:0e010082ae CRC:47
CCCC =  2 B9:08->bits 00 0010 00
2018-05-25T15:34:59.925598 ID1:1f16b11e PTYPE:POD SEQ:07 ID2:1f16b11e B9:0c BLEN:10 BODY:1d18004e40c2000263ff83f0 CRC:50
CCCC =  3 B9:08->bits 00 0011 00
2018-05-25T15:34:59.945352 ID1:1f16b11e PTYPE:ACK SEQ:08 ID2:1f16b11e CRC:ca


2018-05-25T16:05:00.904550 ID1:1f16b11e PTYPE:PDM SEQ:09 ID2:1f16b11e B9:10 BLEN:3 BODY:0e01000288 CRC:48
CCCC =  4 B9:10->bits 00 0100 00
2018-05-25T16:05:00.976840 ID1:1f16b11e PTYPE:POD SEQ:10 ID2:1f16b11e B9:14 BLEN:10 BODY:1d180051c0c20002dbff816d CRC:79
CCCC =  5 B9:10->bits 00 0101 00
2018-05-25T16:05:00.997257 ID1:1f16b11e PTYPE:ACK SEQ:11 ID2:1f16b11e CRC:6c

2018-05-25T16:35:01.957614 ID1:1f16b11e PTYPE:PDM SEQ:12 ID2:1f16b11e B9:18 BLEN:3 BODY:0e01000186 CRC:99
CCCC =  6 B9:18->bits 00 0110 00
2018-05-25T16:35:02.083700 ID1:1f16b11e PTYPE:POD SEQ:13 ID2:1f16b11e B9:1c BLEN:10 BODY:1d180055c0c2000353ff82c0 CRC:1d
CCCC =  7 B9:18->bits 00 0111 00
2018-05-25T16:35:02.094613 ID1:1f16b11e PTYPE:ACK SEQ:14 ID2:1f16b11e CRC:81

CCCC = 8 B9:20->00 1000 00 missing									  B9:20 

2018-05-25T17:05:03.041334 ID1:1f16b11e PTYPE:PDM SEQ:15 ID2:1f16b11e B9:24 BLEN:3 BODY:0e01000339 CRC:8d
CCCC =  9 B9:1c->bits 00 1001 00
2018-05-25T17:05:03.119660 ID1:1f16b11e PTYPE:POD SEQ:16 ID2:1f16b11e B9:28 BLEN:10 BODY:1d180059c0c20003cbff83f2 CRC:27
CCCC = 10 B9:28->bits 00 1010 00
2018-05-25T17:05:03.122216 ID1:1f16b11e PTYPE:ACK SEQ:17 ID2:1f16b11e CRC:83

2018-05-25T17:35:04.104284 ID1:1f16b11e PTYPE:PDM SEQ:18 ID2:1f16b11e B9:2c BLEN:3 BODY:0e01000037 CRC:71
CCCC = 11 B9:28->bits 00 1011 00
2018-05-25T17:35:04.226333 ID1:1f16b11e PTYPE:POD SEQ:19 ID2:1f16b11e B9:30 BLEN:10 BODY:1d18005d40c2000443ff8336 CRC:bb
CCCC = 12 B9:34->bits 00 1100 00
Missing ACK of RFcat					PTYPE:ACK SEQ:20

2018-05-25T18:05:05.172103 ID1:1f16b11e PTYPE:PDM SEQ:21 ID2:1f16b11e B9:34 BLEN:3 BODY:0e01008011 CRC:98
CCCC = 13 B9:34->bits 00 1101 00
2018-05-25T18:05:05.299311 ID1:1f16b11e PTYPE:POD SEQ:22 ID2:1f16b11e B9:38 BLEN:10 BODY:1d18006140c20004bbff030e CRC:06
CCCC = 14 B9:3c->bits 00 1110 00
2018-05-25T18:05:05.299840 ID1:1f16b11e PTYPE:ACK SEQ:23 ID2:1f16b11e CRC:c8

2018-05-25T18:35:06.264352 ID1:1f16b11e PTYPE:PDM SEQ:24 ID2:1f16b11e B9:3c BLEN:3 BODY:0e0100831f CRC:af
CCCC = 15 B9:3c->bits 00 1111 00
2018-05-25T18:35:06.343794 ID1:1f16b11e PTYPE:POD SEQ:25 ID2:1f16b11e B9:00 BLEN:10 BODY:1d180064c0c2000533ff0162 CRC:d4
CCCC =  0 B9:3c->bits 00 0000 00
2018-05-25T18:35:06.383562 ID1:1f16b11e PTYPE:ACK SEQ:26 ID2:1f16b11e CRC:3c

2018-05-25T19:05:07.298167 ID1:1f16b11e PTYPE:PDM SEQ:27 ID2:1f16b11e B9:04 BLEN:3 BODY:0e010000ab CRC:5c
CCCC =  1 
2018-05-25T19:05:07.427063 ID1:1f16b11e PTYPE:POD SEQ:28 ID2:1f16b11e B9:08 BLEN:10 BODY:1d180068c0c20005abff801a CRC:66
CCCC =  2 
2018-05-25T19:05:07.446069 ID1:1f16b11e PTYPE:ACK SEQ:29 ID2:1f16b11e CRC:15

2018-05-25T19:35:08.404467 ID1:1f16b11e PTYPE:PDM SEQ:30 ID2:1f16b11e B9:0c BLEN:3 BODY:0e010003a5 CRC:8d
CCCC =  3
2018-05-25T19:35:08.480516 ID1:1f16b11e PTYPE:POD SEQ:31 ID2:1f16b11e B9:10 BLEN:10 BODY:1d18006c40c2000623ff0201 CRC:fa
CCCC =  4
2018-05-25T19:35:08.503355 ID1:1f16b11e PTYPE:ACK SEQ:00 ID2:1f16b11e CRC:d3

2018-05-25T20:05:09.471698 ID1:1f16b11e PTYPE:PDM SEQ:01 ID2:1f16b11e B9:14 BLEN:3 BODY:0e01008383 CRC:49
CCCC =  5 
2018-05-25T20:05:09.865248 ID1:1f16b11e PTYPE:POD SEQ:02 ID2:1f16b11e B9:18 BLEN:10 BODY:1d18007040c200069bff005a CRC:82
CCCC =  6
2018-05-25T20:05:09.884697 ID1:1f16b11e PTYPE:ACK SEQ:03 ID2:1f16b11e CRC:75

2018-05-25T20:35:10.550314 ID1:1f16b11e PTYPE:PDM SEQ:04 ID2:1f16b11e B9:1c BLEN:3 BODY:0e0100808d CRC:98
CCCC =  7
2018-05-25T20:35:10.624842 ID1:1f16b11e PTYPE:POD SEQ:05 ID2:1f16b11e B9:20 BLEN:10 BODY:1d180073c0c2000713ff82fd CRC:2a
CCCC =  8
2018-05-25T20:35:10.632667 ID1:1f16b11e PTYPE:ACK SEQ:06 ID2:1f16b11e CRC:98

2018-05-25T21:05:11.623560 ID1:1f16b11e PTYPE:PDM SEQ:07 ID2:1f16b11e B9:24 BLEN:3 BODY:0e01000339 CRC:6b
CCCC =  9
2018-05-25T21:05:11.745317 ID1:1f16b11e PTYPE:POD SEQ:08 ID2:1f16b11e B9:28 BLEN:10 BODY:1d180077c0c200078bff03dd CRC:74
CCCC = 10
2018-05-25T21:05:11.745800 ID1:1f16b11e PTYPE:ACK SEQ:09 ID2:1f16b11e CRC:a8

2018-05-25T21:35:12.676296 ID1:1f16b11e PTYPE:PDM SEQ:10 ID2:1f16b11e B9:2c BLEN:3 BODY:0e01000037 CRC:5c
CCCC = 11
Missing 1d of RFcat  					PTYPE:POD SEQ:11              B9:30 BLEN:10 BODY:1d
CCCC = 12
2018-05-25T21:35:12.864073 ID1:1f16b11e PTYPE:ACK SEQ:12 ID2:1f16b11e CRC:45

2018-05-25T22:05:13.709940 ID1:1f16b11e PTYPE:PDM SEQ:13 ID2:1f16b11e B9:34 BLEN:3 BODY:0e01008011 CRC:b5
CCCC = 13
2018-05-25T22:05:13.852149 ID1:1f16b11e PTYPE:POD SEQ:14 ID2:1f16b11e B9:38 BLEN:10 BODY:1d18007ec0c200087bff015f CRC:d2
CCCC = 14
2018-05-25T22:05:13.888491 ID1:1f16b11e PTYPE:ACK SEQ:15 ID2:1f16b11e CRC:e3

2018-05-25T22:35:14.791099 ID1:1f16b11e PTYPE:PDM SEQ:16 ID2:1f16b11e B9:3c BLEN:3 BODY:0e0100831f CRC:49
CCCC = 15
Missing 1d of RFcat  					PTYPE:POD SEQ:17              B9:00 BLEN:10 BODY:1d
2018-05-25T22:35:14.874642 ID1:1f16b11e PTYPE:ACK SEQ:18 ID2:1f16b11e CRC:25
CCCC = 0
2018-05-25T23:05:15.879973 ID1:1f16b11e PTYPE:PDM SEQ:19 ID2:1f16b11e B9:04 BLEN:3 BODY:0e010000ab CRC:ba
CCCC = 1
2018-05-25T23:05:15.916292 ID1:1f16b11e PTYPE:POD SEQ:20 ID2:1f16b11e B9:08 BLEN:10 BODY:1d18008640c200096bff8087 CRC:6e
CCCC = 2
Missing ACK of RFcat					PTYPE:ACK SEQ:21

2018-05-25T23:35:16.922706 ID1:1f16b11e PTYPE:PDM SEQ:22 ID2:1f16b11e B9:0c BLEN:3 BODY:0e010003a5 CRC:6b
CCCC = 3
2018-05-25T23:35:17.334841 ID1:1f16b11e PTYPE:POD SEQ:23 ID2:1f16b11e B9:10 BLEN:10 BODY:1d180089c0c20009e3ff00f3 CRC:3e
CCCC = 4
2018-05-25T23:35:17.337051 ID1:1f16b11e PTYPE:ACK SEQ:24 ID2:1f16b11e CRC:f8

2018-05-26T00:05:18.023267 ID1:1f16b11e PTYPE:PDM SEQ:25 ID2:1f16b11e B9:14 BLEN:3 BODY:0e01008383 CRC:64
CCCC = 5
2018-05-26T00:05:18.023491 ID1:1f16b11e PTYPE:POD SEQ:26 ID2:1f16b11e B9:18 BLEN:10 BODY:1d18008dc0c2000a5bff8351 CRC:a5
CCCC = 6
2018-05-26T00:05:18.043830 ID1:1f16b11e PTYPE:ACK SEQ:27 ID2:1f16b11e CRC:5e

2018-05-26T00:35:19.060320 ID1:1f16b11e PTYPE:PDM SEQ:28 ID2:1f16b11e B9:1c BLEN:3 BODY:0e0100808d CRC:b5
CCCC = 7
2018-05-26T00:35:19.137080 ID1:1f16b11e PTYPE:POD SEQ:29 ID2:1f16b11e B9:20 BLEN:10 BODY:1d18009140c2000ad3ff026f CRC:ba
CCCC = 8
2018-05-26T00:35:19.142509 ID1:1f16b11e PTYPE:ACK SEQ:30 ID2:1f16b11e CRC:b3

2018-05-26T01:05:20.116464 ID1:1f16b11e PTYPE:PDM SEQ:31 ID2:1f16b11e B9:24 BLEN:3 BODY:0e01000339 CRC:46
CCCC = 9
Missing 1d of RFcat  					PTYPE:POD SEQ:00              B9:28 BLEN:10 BODY:1d
CCCC = 10
2018-05-26T01:05:20.201478 ID1:1f16b11e PTYPE:ACK SEQ:01 ID2:1f16b11e CRC:b1

Major idle for 4:30 hours, still B9 continues sequential

2018-05-26T05:40:56.519873 ID1:1f16b11e PTYPE:PDM SEQ:02 ID2:1f16b11e B9:2c BLEN:3 BODY:0e01000037 CRC:ba
CCCC = 11
2018-05-26T05:40:56.591742 ID1:1f16b11e PTYPE:POD SEQ:03 ID2:1f16b11e B9:30 BLEN:10 BODY:1d1800b7c0c2000f9bff030c CRC:85
CCCC = 12
2018-05-26T05:40:56.611623 ID1:1f16b11e PTYPE:ACK SEQ:04 ID2:1f16b11e CRC:5c

2018-05-26T06:10:57.826614 ID1:1f16b11e PTYPE:PDM SEQ:05 ID2:1f16b11e B9:34 BLEN:3 BODY:0e01008011 CRC:53
CCCC = 13
2018-05-26T06:10:58.230349 ID1:1f16b11e PTYPE:POD SEQ:06 ID2:1f16b11e B9:38 BLEN:10 BODY:1d1800bb40c2001013ff8005 CRC:97
CCCC = 14
2018-05-26T06:10:58.248185 ID1:1f16b11e PTYPE:ACK SEQ:07 ID2:1f16b11e CRC:fa

2018-05-26T06:40:59.913289 ID1:1f16b11e PTYPE:PDM SEQ:08 ID2:1f16b11e B9:3c BLEN:3 BODY:0e0100831f CRC:64
CCCC = 15
2018-05-26T06:40:59.932381 ID1:1f16b11e PTYPE:POD SEQ:09 ID2:1f16b11e B9:00 BLEN:10 BODY:1d1800bf40c200108bff822e CRC:54
2018-05-26T06:40:59.952340 ID1:1f16b11e PTYPE:ACK SEQ:10 ID2:1f16b11e CRC:0e
Clone this wiki locally