DLN_GPIO_PIN_SET_EVENT_CFG Command and Response

The DLN_GPIO_PIN_SET_EVENT_CFG command is used to configure the event generation conditions for the specified pin.

DLN_GPIO_PIN_SET_EVENT_CFG Command

Go to response

 typedef struct
 {
    DLN_MSG_HEADER header;
    uint8_t pin;
    uint8_t eventType;
    uint16_t eventPeriod;
 } __PACKED_ATTR DLN_GPIO_PIN_SET_EVENT_CFG_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_GPIO_PIN_SET_EVENT_CFG_CMD structure.
msgId Identifies the message. For the DLN_GPIO_PIN_SET_EVENT_CFG command it must be set to 0x011E. You can use the DLN_MSG_ID_GPIO_PIN_SET_EVENT_CFG 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.
pin
A number of the pin to set direction for.
eventType

Must contain the condition for event generation for the pin. The following values are available:

Value Description
0 or DLN_GPIO_EVENT_NONE No events are generated for the current pin.
1 or DLN_GPIO_EVENT_CHANGE Events are generated when the level on the digital input line changes.
2 or DLN_GPIO_EVENT_LEVEL_HIGH Events are generated when high level (logical 1) is detected on the digital input line.
3 or DLN_GPIO_EVENT_LEVEL_LOW Events are generated when low level (logical 1) is detected on the digital input line.
4 or DLN_GPIO_EVENT_LEVEL_ALWAYS Events are sent periodically with predefined repeat interval. The non-zero interval must be specified for this event type.

For more detailed information see GPIO Events

eventPeriod
Must contain the repeat interval for DLN_GPIO_CONDITION_MET_EV event generation on the pin. The repeat interval is set in ms (1 to 65,535ms). If the repeat interval is set to 0, the device will send a single event when the level on the line changes to meet the specified conditions.

DLN_GPIO_PIN_SET_EVENT_CFG Response

Go to command

The adapter sends the DLN_GPIO_PIN_SET_EVENT_CFG response after the DLN_GPIO_PIN_SET_EVENT_CFG command execution. The result field informs a user if the event generation conditions for the pin have been successfully set.

 typedef struct
 {
    DLN_MSG_HEADER header;
    DLN_RESULT result;
 } __PACKED_ATTR DLN_GPIO_PIN_SET_EVENT_CFG_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_GPIO_PIN_SET_EVENT_CFG_RSP structure.
msgId Contains the message id. For the DLN_GPIO_PIN_SET_EVENT_CFG response it is set to 0x011E. The DLN_MSG_ID_GPIO_PIN_SET_EVENT_CFG 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_GPIO_PIN_SET_EVENT_CFG command DLN-series adapter can return the following result values:

Return Code Description
DLN_RES_SUCCESS Event generation conditions for the specified pin have been successfully set.
DLN_RES_INVALID_PIN_NUMBER Invalid pin number was specified.
DLN_RES_INVALID_EVENT_TYPE Invalid event type was specified.
DLN_RES_INVALID_EVENT_PERIOD Invalid event perios was specified.