Skip to content
Pete Schwamb edited this page Sep 3, 2017 · 22 revisions

Message assembly from packets

Messages are assembled from one or more packets. Here's an example of a series of packets that make up a temp basal being issued.

First packet from PDM to POD: 1f07b1eeb91f07b1ee30201a0ebee0a2d001007d01384000020002160e40000015051be550 is decoded as ID1:1f07b1ee PTYPE:PDM SEQ:25 ID2:1f07b1ee B9:30 BLEN:32 MTYPE:1a0e BODY:bee0a2d001007d01384000020002160e40000015051be5 CRC:50

Then the POD acks with: 1f07b1ee5a1f07b1ee30

Second packet from PDM to POD is a CON packet 1f07b1ee9b6d0015051be56d8137f3, which is decoded as ID1:1f07b1ee PTYPE:CON SEQ:27 CON:6d0015051be56d8137 CRC:f3

The final message is 1f07b1ee30321a0ebee0a2d001007d01384000020002160e40000015051be56d0015051be56d8137.

Message Structure

Let's break the above message down into parts, in order:

  • Pod ID (4 bytes): 1f07b1ee
  • B9 (1 byte): 30
  • BLEN (1 byte): 32
  • Message Type (2 bytes): 1a0e
  • Body (variable, up to 201 bytes): bee0a2d001007d01384000020002160e40000015051be56d0015051be56d
  • CRC16 (2 bytes): 8137

The length of the message type + body above is 0x20 bytes, matching the BLEN.

Message Patterns

Status Packet Exchange

  • PDM (0e01) (Status Request)
  • POD (1d18) (Status Response)
  • ACK

Bolus Packet Exchange

  • PDM (0e01) (Status Request)
  • POD (1d18) (Status Response)
  • ACK
  • PDM (1a0e) (Bolus Request)
  • ACK
  • CON
  • POD (1d**) (Delivery Confirmation??)
  • CON
  • PDM (0e01) (Status Request)
  • POD (1d18) (Status Response)
  • ACK

Temp Basal Packet Exchange

  • PDM (1a0e) (Basal Change Request)
  • ACK
  • CON
  • POD (1d**) (Basal Confirmation)
  • ACK
Clone this wiki locally