Acknowledgements

Some message codes require an acknowledgement from the receiver. In this case, the receiver should send either an acknowledgement (ACK) or negative-acknoledgement (NAK) within 1 second of receiving the message.

Message Group Name Value
Acknowledgement 0xFF
Acknowledgement Code Name Value
ACK 0x01
NAK 0x02

Acknowledgments should be sent directly after message is received so that the sender can act accordingly. An acknowledgment should contain the message group and code for the message that it is referencing. For example, if the Provider receives a message containing the ring action (0x0401), it should acknowledge the action by sending back 0xFF0100020401 where:

  • 0xFF: ACK event
  • 0x01: ACK code
  • 0x0002: Additional data length
  • 0x0401: Additional data, the action message group and code

For a NAK, the reason should also be included as the first byte of additional data. Reasons include:

  • 0x00: Not supported
  • 0x01: Device busy
  • 0x02: Not allowed due to current state

From the previous example, if the ring were to be NAK'ed instead due to the Provider being busy with another task, the returned packet should be set to 0xFF020003010401.