Skip to content

Command 1F Cancel Request

Joe Moran edited this page Sep 11, 2018 · 15 revisions

0x1F Cancel Command

Command $1F is the Cancel command. It has the following format:

1f 05 NNNNNNNN AX
  • 1f (1 byte): Mtype value of $1f specifies a cancel command
  • 05 (1 byte): The cancel command always has a fixed length of 05
  • NNNNNNNN (4 bytes): Nonce, the 32-bit validator (random looking numbers)
  • AX (1 byte): Command byte of the form aaaa0bcd:
    • The aaaa (A) nibble in the range of (0..8) and is the type of the Pod alarm/beep type to sound. An aaaa value of 0 is no alarm, while other values create different types of beeps, 2 is used for generate two quick beeps, and 6 is used by the PDM when cancelling a temporary basal or a bolus and generates one longer beep. Values of A larger than 8 are out of range and can lock up a Pod with a constant beep.
    • The b ($04) bit being set will cancel any ongoing bolus and will turn off the RR reminder variables set from the $17 Bolus Extra command.
    • The c ($02) bit being set will cancel any ongoing temporary basal and will turn off the RR reminder variables set from the $16 Temp Basal command.
    • The d ($01) bit being set will cancel the basal program and will turn off the RR reminder variables set from the $13 Basal Schedule command.

The Pod responds to the $1F command with a $1D status message.

Cancel Temp Basal

An important use of the $1F command is to cancel a temp basal.

An example from Temp Basal Packets:

1f 05 NNNNNNNN AX
1f 05 d88df895 62

The AX value of $62 has an aaaa nibble value of 6 which will cause the Pod to emit a a single longer beep. The c ($02) bit being set cancels the in-progress temporary basal and clears any associated Confidence and Program Reminders.

An example cancel temporary basal sequence:

2017-10-04T14:37:14.307150 ID1:1f0b3555 PTYPE:PDM SEQ:23 ID2:1f0b3555 B9:08 BLEN:7 BODY:1f05156b93e8620028 CRC:35
2017-10-04T14:37:14.377525 ID1:1f0b3555 PTYPE:POD SEQ:24 ID2:1f0b3555 B9:0c BLEN:10 BODY:1d1800251000000063ff82bb CRC:91
2017-10-04T14:37:14.378063 ID1:1f0b3555 PTYPE:ACK SEQ:25 ID2:1f0b3555 CRC:f0

Pod Deactivate

A cancel is also done as part of Deactivate Pod

1f 05 NNNNNNNN AX
1f 05 e1f78752 07

The AX value of $07 will cancel any ongoing bolus, temporary basal, and basal program in effect and clears any associated Confidence and Program Reminders.

Suspend

The $1F command is also used as part of a "Suspend" in conjunction with a $19 command. Consider this example Suspend for 0.5 hours taken from Temp basal with suspend cancel (csholmq).

1f 05 NNNNNNNN AX  19 LL NNNNNNNN IVXX YYYY 0J0K IVXX YYYY 0J0K
1f 05 b15898b0 03  19 10 b15898b0 580f 000f 0604 6800 001e 0302

In this example, the Cancel Command AX value of $03 won't sound a beep with an A nibble value of 0 while the c ($02) and d ($01) bits being set will cancel the current temporary basal and basal programs and clears any associated Confidence and Program Reminders. The subsequent Command 19 Configure Alerts then sets the Suspend related beeps.

Cancel Insulin Delivery

Yet, another $1F command variation is to cancel certain amount and then cancel half way through. The PDM reports the partially delivered amount.

2017-11-17T15:07:17.702593 ID1:1f068f54 PTYPE:PDM SEQ:17 ID2:1f068f54 B9:08 BLEN:7 BODY:1f053b9a70286401c0 CRC:2c
2017-11-17T15:07:17.737905 ID1:1f068f54 PTYPE:POD SEQ:18 ID2:1f068f54 B9:0c BLEN:10 BODY:1d1800d610010007dfff803b CRC:87
2017-11-17T15:07:18.143485 ID1:1f068f54 PTYPE:ACK SEQ:19 ID2:1f068f54 CRC:33
2017-11-17T15:07:22.162888 ID1:1f068f54 PTYPE:PDM SEQ:20 ID2:1f068f54 B9:10 BLEN:3 BODY:0e01000110 CRC:f7
2017-11-17T15:07:22.236193 ID1:1f068f54 PTYPE:POD SEQ:21 ID2:1f068f54 B9:14 BLEN:10 BODY:1d1800d610010007dfff02b5 CRC:d3

1f 05 NNNNNNNN AX
1f 05 3b9a7028 64

In this cancel bolus example, the $1F command AX value is 64. The aaaa nibble value will generate one longer beep and the b ($04) bit being set specifies to cancel the bolus and clears any associated Confidence and Program Reminders.

Clone this wiki locally