Device Control Shared API¶
The following structures and functions are common to the control instance on the xcore device and the host.
-
typedef uint8_t control_resid_t¶
These types are used in control functions to identify the resource id, command, version, and status.
-
typedef uint8_t control_cmd_t¶
-
typedef uint8_t control_version_t¶
-
typedef uint8_t control_status_t¶
-
enum control_ret_t¶
This type enumerates the possible outcomes from a control transaction.
Values:
-
enumerator CONTROL_SUCCESS¶
-
enumerator CONTROL_REGISTRATION_FAILED¶
-
enumerator CONTROL_BAD_COMMAND¶
-
enumerator CONTROL_DATA_LENGTH_ERROR¶
-
enumerator CONTROL_OTHER_TRANSPORT_ERROR¶
-
enumerator CONTROL_ERROR¶
-
enumerator CONTROL_SUCCESS¶
-
enum control_direction_t¶
This type is used to inform the control library the direction of a control transfer from the transport layer.
Values:
-
enumerator CONTROL_HOST_TO_DEVICE¶
-
enumerator CONTROL_DEVICE_TO_HOST¶
-
enumerator CONTROL_HOST_TO_DEVICE¶
-
CONTROL_VERSION¶
This is the version of control protocol. Used to check compatibility
-
IS_CONTROL_CMD_READ(c)¶
Checks if the read bit is set in a command code.
- Parameters
c – [in] The command code to check
- Returns
true if the read bit in the command is set
- Returns
false if the read bit is not set
-
CONTROL_CMD_SET_READ(c)¶
Sets the read bit on a command code
- Parameters
c – [inout] The command code to set the read bit on.
-
CONTROL_CMD_SET_WRITE(c)¶
Clears the read bit on a command code
- Parameters
c – [inout] The command code to clear the read bit on.
-
CONTROL_SPECIAL_RESID¶
This is the special resource ID owned by the control library. It can be used to check the version of the control protocol. Servicers may not register this resource ID.
-
CONTROL_MAX_RESOURCE_ID¶
The maximum resource ID. IDs greater than this cannot be registered.
-
CONTROL_GET_VERSION¶
The command to read the version of the control protocol. It must be sent to resource ID CONTROL_SPECIAL_RESID.
-
CONTROL_GET_LAST_COMMAND_STATUS¶
The command to read the return status of the last command. It must be sent to resource ID CONTROL_SPECIAL_RESID.
-
DEVICE_CONTROL_HOST_MODE¶
The mode value to use when initializing a device control instance that is on the same tile as its associated transport layer. These may be connected to device control instances on other tiles that have been initialized with DEVICE_CONTROL_CLIENT_MODE.
-
DEVICE_CONTROL_CLIENT_MODE¶
The mode value to use when initializing a device control instance that is not on the same tile as its associated transport layer. These must be connected to a device control instance on another tile that has been initialized with DEVICE_CONTROL_HOST_MODE.
-
DEVICE_CONTROL_CALLBACK_ATTR¶
This attribute must be specified on all device control command handler callback functions provided by the application.