Skip to content

62: Cellular Diagnostics ​

Runtime cellular-module, upload-buffer, and internet-link diagnostic state. GET returns NotSupported when cellular diagnostics are unavailable on the device. Upload-buffer values are zero when their runtime objects are absent. L1 (Cloud link 1) values are zero when its runtime object is absent. L2 (Cloud link 2) fields 13-15 are omitted when its runtime object is unavailable. RX/TX counts belong to L1 (Cloud link 1) and L2 (Cloud link 2), not the UART used to request diagnostics. They count V3 messages, not bytes or cellular network packets. RX increments after protocol, length and checksum validation in the receive path, before message handling. It is not a count of unique messages or successfully executed commands; repeated frames count again. TX increments for each message send request, before queuing or sending, including requests that are later dropped or fail. Uploading or retrying buffered data does not itself increment TX again. Control messages, including ACKs and heartbeats, count when they use these same paths. Each counter starts at zero when its link object is created (normally at boot), survives link reconnects and diagnostic GETs, and wraps from 4294967295 to zero. These are link-object lifetime counters, not per-session totals.

FieldNameDescriptionType
5MethodRequest a service to be perform an action
Possible values:
  • 1: SET— Set one or more values that are provided in the message payload.
  • 2: GET— Get values for the associated message type.
  • 3: SUBSCRIBE— Subscribe to values for the associated message type. Can be used in conjunction with other header fields to define the subscription parameters, such as Interval, Duration, Timeout, Storage Level and Message Level. If no interval is provided, messages will be sent as and when new data is available. Some data, such as GPS position, may require a set interval to be provided.
  • 5: UNSUBSCRIBE— Unsubscribe from a previous subscription.
uint8
This is an extract of header fields that are relevant to this message type, you can find them all documented in the Headers section.

Payload ​

FieldNameDescriptionTypeUnit
1Cellular Module StatePossible values:
  • 0: Off
  • 1: Turning On
  • 2: Resetting
  • 3: Initializing
  • 4: Awaiting Network
  • 5: Initializing Data
  • 6: Ready
  • 7: Sleeping
uint8
2Network RegistrationCellular network registration code reported by the modem
Possible values:
  • 0: Not Connected
  • 1: Connected
  • 2: Searching
  • 3: Denied
  • 4: Unknown
  • 5: Roaming
  • 6: No SIM or SMS Only
  • 7: SMS Only Roaming
  • 11: Emergency
uint8
3Pending Upload FilesFiles waiting to be uploadeduint16
4Buffer 0 Useduint8%
5Buffer 1 Useduint8%
6Buffer 2 Useduint8%
10Primary Link OpenL1 (Cloud link 1) open state. False when its link object is absent.bool
11Primary Link RX CountL1 (Cloud link 1) V3 receive-path count; see the RX/TX counting rules above. Zero when its link object is absent.uint32
12Primary Link TX CountL1 (Cloud link 1) V3 message send-request count; see the RX/TX counting rules above. Zero when its link object is absent.uint32
13Secondary Link OpenL2 (Cloud link 2) open state. Omitted when its link object is absent.bool
14Secondary Link RX CountL2 (Cloud link 2) V3 receive-path count; see the RX/TX counting rules above. Omitted when its link object is absent.uint32
15Secondary Link TX CountL2 (Cloud link 2) V3 message send-request count; see the RX/TX counting rules above. Omitted when its link object is absent.uint32

Code ​

For convenience, the following constants can be used to reference this message type.