Octets: | 1 | 1 |
---|---|---|
Fields: | HEADER | CMD_NOOP |
No-Operation command. Induces the NCP to send a success status back to the host. This is primarily used for liveliness checks.
The command payload for this command SHOULD be empty. The receiver MUST ignore any non-empty command payload.
There is no error condition for this command.
Octets: | 1 | 1 |
---|---|---|
Fields: | HEADER | CMD_RESET |
Reset NCP command. Causes the NCP to perform a software reset. Due to the nature of this command, the TID is ignored. The host should instead wait for a CMD_PROP_VALUE_IS
command from the NCP indicating PROP_LAST_STATUS
has been set to STATUS_RESET_SOFTWARE
.
The command payload for this command SHOULD be empty. The receiver MUST ignore any non-empty command payload.
If an error occurs, the value of PROP_LAST_STATUS
will be emitted instead with the value set to the generated status code for the error.
Octets: | 1 | 1 | 1-3 |
---|---|---|---|
Fields: | HEADER | CMD_PROP_VALUE_GET | PROP_ID |
Get property value command. Causes the NCP to emit a CMD_PROP_VALUE_IS
command for the given property identifier.
The payload for this command is the property identifier encoded in the packed unsigned integer format described in (#packed-unsigned-integer).
If an error occurs, the value of PROP_LAST_STATUS
will be emitted instead with the value set to the generated status code for the error.
Octets: | 1 | 1 | 1-3 | n |
---|---|---|---|---|
Fields: | HEADER | CMD_PROP_VALUE_SET | PROP_ID | VALUE |
Set property value command. Instructs the NCP to set the given property to the specific given value, replacing any previous value.
The payload for this command is the property identifier encoded in the packed unsigned integer format described in (#packed-unsigned-integer), followed by the property value. The exact format of the property value is defined by the property.
If an error occurs, the value of PROP_LAST_STATUS
will be emitted with the value set to the generated status code for the error.
Octets: | 1 | 1 | 1-3 | n |
---|---|---|---|---|
Fields: | HEADER | CMD_PROP_VALUE_INSERT | PROP_ID | VALUE |
Insert value into property command. Instructs the NCP to insert the given value into a list-oriented property, without removing other items in the list. The resulting order of items in the list is defined by the individual property being operated on.
The payload for this command is the property identifier encoded in the packed unsigned integer format described in (#packed-unsigned-integer), followed by the value to be inserted. The exact format of the value is defined by the property.
If the type signature of the property specified by PROP_ID
consists of a single structure enclosed by an array (A(t(...))
), then the contents of VALUE
MUST contain the contents of the structure (...
) rather than the serialization of the whole item (t(...)
). Specifically, the length of the structure MUST NOT be prepended to VALUE
. This helps to eliminate redundant data.
If an error occurs, the value of PROP_LAST_STATUS
will be emitted with the value set to the generated status code for the error.
Octets: | 1 | 1 | 1-3 | n |
---|---|---|---|---|
Fields: | HEADER | CMD_PROP_VALUE_REMOVE | PROP_ID | VALUE |
Remove value from property command. Instructs the NCP to remove the given value from a list-oriented property, without affecting other items in the list. The resulting order of items in the list is defined by the individual property being operated on.
Note that this command operates by value, not by index!
The payload for this command is the property identifier encoded in the packed unsigned integer format described in (#packed-unsigned-integer), followed by the value to be removed. The exact format of the value is defined by the property.
If the type signature of the property specified by PROP_ID
consists of a single structure enclosed by an array (A(t(...))
), then the contents of VALUE
MUST contain the contents of the structure (...
) rather than the serialization of the whole item (t(...)
). Specifically, the length of the structure MUST NOT be prepended to VALUE
. This helps to eliminate redundant data.
If an error occurs, the value of PROP_LAST_STATUS
will be emitted with the value set to the generated status code for the error.
Octets: | 1 | 1 | 1-3 | n |
---|---|---|---|---|
Fields: | HEADER | CMD_PROP_VALUE_IS | PROP_ID | VALUE |
Property value notification command. This command can be sent by the NCP in response to a previous command from the host, or it can be sent by the NCP in an unsolicited fashion to notify the host of various state changes asynchronously.
The payload for this command is the property identifier encoded in the packed unsigned integer format described in (#packed-unsigned-integer), followed by the current value of the given property.
Octets: | 1 | 1 | 1-3 | n |
---|---|---|---|---|
Fields: | HEADER | CMD_PROP_VALUE_INSERTED | PROP_ID | VALUE |
Property value insertion notification command. This command can be sent by the NCP in response to the CMD_PROP_VALUE_INSERT
command, or it can be sent by the NCP in an unsolicited fashion to notify the host of various state changes asynchronously.
The payload for this command is the property identifier encoded in the packed unsigned integer format described in (#packed-unsigned-integer), followed by the value that was inserted into the given property.
If the type signature of the property specified by PROP_ID
consists of a single structure enclosed by an array (A(t(...))
), then the contents of VALUE
MUST contain the contents of the structure (...
) rather than the serialization of the whole item (t(...)
). Specifically, the length of the structure MUST NOT be prepended to VALUE
. This helps to eliminate redundant data.
The resulting order of items in the list is defined by the given property.
Octets: | 1 | 1 | 1-3 | n |
---|---|---|---|---|
Fields: | HEADER | CMD_PROP_VALUE_REMOVED | PROP_ID | VALUE |
Property value removal notification command. This command can be sent by the NCP in response to the CMD_PROP_VALUE_REMOVE
command, or it can be sent by the NCP in an unsolicited fashion to notify the host of various state changes asynchronously.
Note that this command operates by value, not by index!
The payload for this command is the property identifier encoded in the packed unsigned integer format described in (#packed-unsigned-integer), followed by the value that was removed from the given property.
If the type signature of the property specified by PROP_ID
consists of a single structure enclosed by an array (A(t(...))
), then the contents of VALUE
MUST contain the contents of the structure (...
) rather than the serialization of the whole item (t(...)
). Specifically, the length of the structure MUST NOT be prepended to VALUE
. This helps to eliminate redundant data.
The resulting order of items in the list is defined by the given property.
Octets: | 1 | 1 | 4 | 2 |
---|---|---|---|---|
Fields: | HEADER | CMD_PEEK | ADDRESS | COUNT |
This command allows the NCP to fetch values from the RAM of the NCP for debugging purposes. Upon success, CMD_PEEK_RET
is sent from the NCP to the host. Upon failure, PROP_LAST_STATUS
is emitted with the appropriate error indication.
Due to the low-level nature of this command, certain error conditions may induce the NCP to reset.
The NCP MAY prevent certain regions of memory from being accessed.
The implementation of this command has security implications. See (#security-considerations) for more information.
This command requires the capability CAP_PEEK_POKE
to be present.
Octets: | 1 | 1 | 4 | 2 | n |
---|---|---|---|---|---|
Fields: | HEADER | CMD_PEEK_RET | ADDRESS | COUNT | BYTES |
This command contains the contents of memory that was requested by a previous call to CMD_PEEK
.
This command requires the capability CAP_PEEK_POKE
to be present.
Octets: | 1 | 1 | 4 | 2 | n |
---|---|---|---|---|---|
Fields: | HEADER | CMD_POKE | ADDRESS | COUNT | BYTES |
This command writes the bytes to the specified memory address for debugging purposes.
Due to the low-level nature of this command, certain error conditions may induce the NCP to reset.
The implementation of this command has security implications. See (#security-considerations) for more information.
This command requires the capability CAP_PEEK_POKE
to be present.
A(i)
CAP_CMD_MULTI
Fetch the value of multiple properties in one command. Arguments are an array of property IDs. If all properties are fetched successfully, a CMD_PROP_VALUES_ARE
command is sent back to the host containing the propertyid and value of each fetched property. The order of the results in CMD_PROP_VALUES_ARE
match the order of properties given in CMD_PROP_VALUE_GET
.
Errors fetching individual properties are reflected as indicating a change to PROP_LAST_STATUS
for that property's place.
Not all properties can be fetched using this method. As a general rule of thumb, any property that blocks when getting will fail for that individual property with STATUS_INVALID_COMMAND_FOR_PROP
.
A(iD)
CAP_CMD_MULTI
Octets: | 1 | 1 | n |
---|---|---|---|
Fields: | HEADER | CMD_PROP_VALUE_MULTI_SET | Property/Value Pairs |
With each property/value pair being:
Octets: | 2 | 1-3 | n |
---|---|---|---|
Fields: | LENGTH | PROP_ID | PROP_VALUE |
This command sets the value of several properties at once in the given order. The setting of properties stops at the first error, ignoring any later properties.
The result of this command is generally CMD_PROP_VALUES_ARE
unless (for example) a parsing error has occured (in which case CMD_PROP_VALUE_IS
for PROP_LAST_STATUS
would be the result). The order of the results in CMD_PROP_VALUES_ARE
match the order of properties given in CMD_PROP_VALUE_MULTI_SET
.
Since the processing of properties to set stops at the first error, the resulting CMD_PROP_VALUES_ARE
can contain fewer items than the requested number of properties to set.
Not all properties can be set using this method. As a general rule of thumb, any property that blocks when setting will fail for that individual property with STATUS_INVALID_COMMAND_FOR_PROP
.
A(iD)
CAP_CMD_MULTI
Octets: | 1 | 1 | n |
---|---|---|---|
Fields: | HEADER | CMD_PROP_VALUES_ARE | Property/Value Pairs |
With each property/value pair being:
Octets: | 2 | 1-3 | n |
---|---|---|---|
Fields: | LENGTH | PROP_ID | PROP_VALUE |
This command is emitted by the NCP as the response to both the CMD_PROP_VALUE_MULTI_GET
and CMD_PROP_VALUE_MULTI_SET
commands. It is roughly analogous to CMD_PROP_VALUE_IS
, except that it contains more than one property.
This command SHOULD NOT be emitted asynchronously, or in response to any command other than CMD_PROP_VALUE_MULTI_GET
or CMD_PROP_VALUE_MULTI_SET
.
The arguments are a list of structures containing the emitted property and the associated value. These are presented in the same order as given in the associated initiating command. In cases where getting or setting a specific property resulted in an error, the associated slot in this command will describe PROP_LAST_STATUS
.