3.5.1. CDB
To understand the CDB commands, you should refer to the OIF-CMIS-05.3 specification Section 7.2, Section 7.3, and Section 7.4, and Section 9.
Important
CDB commands support both set and get operations.
The
setoperation is to sendCMD Data.
If there is no CMD Data to send, you should send an empty JSON object {}, e.g.
>> 0/0 PX_CDB_ABORT_FW_DOWNLOAD [0] {}
>> <OK>
The
getoperation is to readREPLY StatusandREPLY Data.
If you send a get command before the CDB Command Completion Flag (00h:8.6 or 00h:8.7) is set, you will receive a <PENDING> status message. This means that the command is still being processed and the result is not yet available.
For example:
>> 0/0 PX_CDB_WRITE_FW_BLOCK_EPL[0] {"block_address": 12, "firmware_block": "0x00010203040506070809"}
>> <OK>
>> 0/0 PX_CDB_WRITE_FW_BLOCK_EPL[0] ?
>> <PENDING> # This indicates that the CDB status is not available.
>> 0/0 PX_CDB_WRITE_FW_BLOCK_EPL[0] ?
>> <PENDING> # This indicates that the CDB status is not available.
>> 0/0 PX_CDB_WRITE_FW_BLOCK_EPL[0] ?
>> 0/0 PX_CDB_WRITE_FW_BLOCK_EPL[0] {"cdb_status": "0x83"} # This indicates that the CDB status is In Progress.
>> 0/0 PX_CDB_WRITE_FW_BLOCK_EPL[0] ?
>> 0/0 PX_CDB_WRITE_FW_BLOCK_EPL[0] {"cdb_status": "0x01"} # This indicates that the CDB status is On Success.
Important
If you send a get operation without sending the set operation of the same command, you will receive a <NOTVALID> status message.
For example:
>> 0/0 PX_CDB_WRITE_FW_BLOCK_LPL[0] {"block_address": 12, "firmware_block": "0x00010203040506070809"}
>> 0/0 PX_CDB_WRITE_FW_BLOCK_EPL[0] ?
>> <NOTVALID>