DLN_SPI_MASTER_READ_WRITE Command and Response

The DLN_SPI_MASTER_READ_WRITE command is used to send and receive data via SPI-bus.

DLN_SPI_MASTER_READ_WRITE Command

Go to response

 typedef struct
 {
    DLN_MSG_HEADER header;
    uint8_t port;
    uint16_t size;
    uint8_t attribute;
    uint8_t buffer[256];
 } __PACKED_ATTR DLN_SPI_MASTER_READ_WRITE_CMD;

Parameters:

header

Defines the DLN message header DLN_MSG_HEADER. The header contains several predefined fields and is used to identify and route messages. You must fill the following fields before sending the command:

Field Description
size The size of the message. Must be equal to the size of the DLN_SPI_MASTER_READ_WRITE_CMD structure.
msgId Identifies the message. For the DLN_SPI_MASTER_READ_WRITE command it must be set to 0x021A. You can use the DLN_MSG_ID_SPI_MASTER_READ_WRITE constant.
echoCounter Can be used to link a command to a response. The response will have the same echoCounter value. This field can be any numerical value from 0 to 0xFFFF (65536).
handle A handle to the DLN-series adapter.
port
A number of the SPI master port to be used.
size
A size of the message buffer. This parameter is specified in bytes. The maximum value is 256 bytes.
buffer
A 256-element array. Each of the elements is an 8-bit value. The buffer must contain the information to be sent to a slave.

DLN_SPI_MASTER_READ_WRITE Response

Go to command

The adapter sends the DLN_SPI_MASTER_READ_WRITE response after the DLN_SPI_MASTER_READ_WRITE command execution. The response contains confirmation of data transfer as well as data received from the SPI slave device.

 typedef struct
 {
    DLN_MSG_HEADER header;
    DLN_RESULT result;
    uint16_t size;
    uint8_t buffer[256];
 } __PACKED_ATTR DLN_SPI_MASTER_READ_WRITE_RSP;

Parameters:

header

Defines the DLN message header DLN_MSG_HEADER. The response header contains the following fields:

Field Description
size The size of the message. It is equal to the size of the DLN_SPI_MASTER_READ_WRITE_RSP structure.
msgId Contains the message id. For the DLN_SPI_MASTER_READ_WRITE response it is set to 0x021A. The DLN_MSG_ID_SPI_MASTER_READ_WRITE constant can be used to check the message ID.
echoCounter Links a command to a response. The echoCounter value is copied from the respective command header.
handle A handle to the DLN-series adapter. You can use the handle field to determine the adapter that have sent the response.
result

Contains the result of the command execution. For DLN_SPI_MASTER_READ_WRITE command DLN-series adapter can return the following result values:

Return Code Description
DLN_RES_SUCCESS The data have been successfully transmitted.
DLN_RES_INVALID_BUFFER_SIZE The buffer size is beyond 1 to 256 limits.
size
The size of the message buffer specified in bytes.
buffer
A 256-element array. Each of the elements is an 8-bit value. The buffer contains the information received from a slave.