Z-Wave Protocol Controller Reference
zwave_tx_queue_element Struct Reference

Z-Wave TX queue element. More...

#include <zwave_tx_queue.hpp>

Collaboration diagram for zwave_tx_queue_element:

Public Attributes

uint8_t data [ZWAVE_MAX_FRAME_SIZE]
 Frame payload. More...
 
uint16_t data_length
 Size of the frame payload. More...
 
zwapi_tx_report_t send_data_tx_status
 
zwave_tx_options_t options
 Options for transmitting this element. Refer to zwave_tx_options_t. More...
 
zwave_controller_connection_info_t connection_info
 Requested connection_info (transport/encapsulation information) More...
 
zwave_tx_session_id_t zwave_tx_session_id
 Session ID for this element. It's a unique identifier. More...
 
clock_time_t queue_timestamp
 
clock_time_t transmission_timestamp
 Transmissions timestamp, used to record when the frame is sent. More...
 
clock_time_t transmission_time
 
on_zwave_tx_send_data_complete_t callback_function
 
void * user
 
uint8_t send_data_status
 

Detailed Description

Z-Wave TX queue element.

This structure represents an element in our Z-Wave TX queue where incoming element to transmit are saved and tracked.

The order of this struct is manually picked to get it as best as possible aligned with 32 bit systems! Please respect this when changing.

Member Data Documentation

◆ callback_function

on_zwave_tx_send_data_complete_t zwave_tx_queue_element::callback_function

Callback function for the component/user that requested the frame to be transmitted. It will return the status of transmission as well as the user pointer.

◆ connection_info

zwave_controller_connection_info_t zwave_tx_queue_element::connection_info

Requested connection_info (transport/encapsulation information)

◆ data

uint8_t zwave_tx_queue_element::data[ZWAVE_MAX_FRAME_SIZE]

Frame payload.

◆ data_length

uint16_t zwave_tx_queue_element::data_length

Size of the frame payload.

◆ options

zwave_tx_options_t zwave_tx_queue_element::options

Options for transmitting this element. Refer to zwave_tx_options_t.

◆ queue_timestamp

clock_time_t zwave_tx_queue_element::queue_timestamp

Queuing timestamp, records when the frame was added to the queue. Will be used with the zwave_tx_options.discard_timeout_ms to decide

◆ send_data_status

uint8_t zwave_tx_queue_element::send_data_status

Transmission status returned by the Z-Wave API. See Z-Wave API send_data return codes

◆ send_data_tx_status

zwapi_tx_report_t zwave_tx_queue_element::send_data_tx_status

Transmission data returned by the Z-Wave API Refer to zwapi_send_data()

◆ transmission_time

clock_time_t zwave_tx_queue_element::transmission_time

Transmission time, records how long the frame took to be delivered to a destination.

◆ transmission_timestamp

clock_time_t zwave_tx_queue_element::transmission_timestamp

Transmissions timestamp, used to record when the frame is sent.

◆ user

void* zwave_tx_queue_element::user

User poiner that will be passed as argument to the on_zwave_tx_send_data_complete_t callback_function

◆ zwave_tx_session_id

zwave_tx_session_id_t zwave_tx_queue_element::zwave_tx_session_id

Session ID for this element. It's a unique identifier.


The documentation for this struct was generated from the following file: