Receiving Responses
As mentioned previously, every command sent to the host adapter will receive a response.
The Response Packets fall into one of three categories:
ACK Response
Section titled “ACK Response”An ACK response from the host adapter indicates that the received command has been executed successfully. An ACK response is represented by -OK
For example, the PING command always elicits an ACK response from the device:
+PING-OKNAK Response
Section titled “NAK Response”A NAK response from the host adapter indicates that the received command failed to execute. This could be indicative of a spelling error/typo, invalid command name or parameter values, or the failure to successfully execute the called function. A NAK response is represented by -NG
For example, a keyboard error caused +PING to be misspelled as +PONG, which is a non-existent command:
+PONG-NGData Response
Section titled “Data Response”Many of the commands sent to the host adapter result in the host adapter responding with data. In these cases, the format of the response is specific to the executed command. Typically the response contains the name of the command followed by the response data.
For example, sending the +FWVER command causes the device to respond as such:
+FWVER-FWVER 0.1.5The command pages in this section provide detailed example responses for each host adapter command.
But wait… What About Interrupts?
Section titled “But wait… What About Interrupts?”Interrupts aren’t actually a response to a command: they are unsolicited transmissions, and so they aren’t covered by the three formats above.

