4.3 Status/Error Codes

The device does not have a dedicated STATUS register, so the output FIFO is shared among status, error, and command results. All outputs from the device are returned to the system as complete groups which are formatted identically to input groups:

  • Count
  • Packet
  • Two byte CRC

After the device receives the first byte of an input command group, the system cannot read anything from the device until the system has sent all the bytes to the device.

After the wake and execution of a command, there will be error, status, or result bytes in the device’s output register that can be retrieved by the system. For a four bytes length of that group, the codes returned are detailed in Table 4-3. Some commands return more than four bytes when they execute successfully. The resulting packet description is listed in Section Device Commands .

CRC errors are always returned before any other type of error. They indicate that an I/O error occurred, and that the command may be resent to the device. No particular precedence is enforced among the remaining errors if more than one occurs.

Table 4-3. Status/Error Codes in Four Byte Groups
State DescriptionError/StatusDescription
Successful Command Execution0x00Command executed successfully.
Checkmac or Verify Miscompare0x01The CheckMac or Verify command was properly sent to the device, but the input response did not match the expected value.
Parse error0x03Command was properly received but the length, command opcode, or parameters are illegal regardless of the state (volatile and/or EEPROM configuration) of the ATECC608B-TNGLoRaWAN. Changes in the value of the command bits must be made before it is re-attempted.
ECC Fault0x05A computation error occurred during ECC processing that caused the result to be invalid. Retrying the command may result in a successful execution.
Self Test error0x07There was a Self Test error and the chip is in Failure mode waiting for the failure to be cleared.
Health Test error0x08There was a random number generator Health Test error and the chip fails subsequent commands requiring a random number until it is cleared.
Execution error0x0FCommand was properly received but could not be executed by the device in its current state. Changes in the device state or the value of the command bits must be made before it is re-attempted.
After Wake, 
Prior to First command0x11Indication that ATECC608B-TNGLoRaWAN has received a proper Wake token.
Watchdog About to Expire0xEEThere is insufficient time to execute the given command before the Watchdog Timer expires. The system must reset the Watchdog Timer by entering the Idle or Sleep modes.
CRC or Other Communications error0xFFCommand was not properly received by ATECC608B-TNGLoRaWAN and should be 
retransmitted by the I/O driver in the system. No attempt was made to parse or execute the command.