|
Z-Wave Protocol Controller Reference
|
Z-Wave TX process taking care of the TX Queue and interfaces with the Z-Wave API. More...
Typedefs | |
| typedef enum zwave_tx_state | zwave_tx_state_t |
| The Z-Wave TX Process states. More... | |
Enumerations | |
| enum | zwave_tx_events_t { ZWAVE_TX_SEND_NEXT_MESSAGE , ZWAVE_TX_SEND_OPERATION_COMPLETE } |
| Event definitions for the Z-Wave TX Process. More... | |
| enum | zwave_tx_backoff_reason_t { BACKOFF_CURRENT_SESSION_ID , BACKOFF_EXPECTED_ADDITIONAL_FRAMES , BACKOFF_PROTOCOL_SENDING_FRAMES , BACKOFF_INCOMING_UNSOLICITED_ROUTED_FRAME } |
| List of reasons for going into a Tx Back-off-. More... | |
| enum | zwave_tx_state { ZWAVE_TX_STATE_IDLE , ZWAVE_TX_STATE_TRANSMISSION_ONGOING , ZWAVE_TX_STATE_BACKOFF } |
| The Z-Wave TX Process states. More... | |
Functions | |
| PROCESS_NAME (zwave_tx_process) | |
| Name the of contiki process for the Z-Wave TX. More... | |
| void | zwave_tx_process_inspect_received_frame (zwave_node_id_t node_id) |
| Checks after receiving a frame from a NodeID if we should resume from TX back-off. More... | |
| sl_status_t | zwave_tx_process_abort_transmission (zwave_tx_session_id_t session_id) |
| Aborts a transmission that has been queued but not delivered yet. More... | |
| bool | zwave_tx_process_queue_flush_is_ongoing () |
| Verifies if we are trying to flush the queue or keep it empty. More... | |
| void | zwave_tx_process_check_queue () |
| Triggers the processing of the next frame in the queue if we are idle. More... | |
| void | zwave_tx_process_set_expected_frames (zwave_node_id_t remote_node_id, uint8_t number_of_incoming_frames) |
| Tells the Z-Wave TX process that more frames are to be expected f from some NodeIDs. More... | |
| void | zwave_tx_process_log_state () |
| Logs the state of the Z-Wave TX Process using sl_log. More... | |
| sl_status_t | zwave_tx_process_flush_queue_reset_step () |
| Initiates a flush of the Tx Queue for a reset operation. More... | |
| void | zwave_tx_process_open_tx_queue () |
| (Re-)opens the Z-Wave Tx Queue to accept frames. More... | |
Z-Wave TX process taking care of the TX Queue and interfaces with the Z-Wave API.
The Z-Wave TX Process is responsible for looking into the Z-Wave TX queue and perform transmission requests, monitor callbacks with the Z-Wave API. This process requires the Z-Wave API to be initialized before it will work properly. The TX Process is a small state machine consisting of 3 states, depicted in the following diagram:
The Z-Wave TX Process must be started after the Z-Wave RX process
| typedef enum zwave_tx_state zwave_tx_state_t |
The Z-Wave TX Process states.
List of reasons for going into a Tx Back-off-.
| enum zwave_tx_events_t |
| enum zwave_tx_state |
The Z-Wave TX Process states.
| PROCESS_NAME | ( | zwave_tx_process | ) |
Name the of contiki process for the Z-Wave TX.
This is used to register the name of the Z-Wave TX Process.
| sl_status_t zwave_tx_process_abort_transmission | ( | zwave_tx_session_id_t | session_id | ) |
Aborts a transmission that has been queued but not delivered yet.
This function is used to attempt to abort a queued or ongoing transmission.
| session_id | the session_id of the element to abort. |
| void zwave_tx_process_check_queue | ( | ) |
Triggers the processing of the next frame in the queue if we are idle.
Use this function instead of posting directly a ZWAVE_TX_SEND_NEXT_MESSAGE event to the Z-Wave TX Process
| sl_status_t zwave_tx_process_flush_queue_reset_step | ( | ) |
Initiates a flush of the Tx Queue for a reset operation.
Tx Queue will be closed for new elements until calling zwave_tx_process_open_tx_queue();
| void zwave_tx_process_inspect_received_frame | ( | zwave_node_id_t | node_id | ) |
Checks after receiving a frame from a NodeID if we should resume from TX back-off.
| node_id | Z-Wave NodeID that sent us the frame |
| void zwave_tx_process_log_state | ( | ) |
Logs the state of the Z-Wave TX Process using sl_log.
| void zwave_tx_process_open_tx_queue | ( | ) |
(Re-)opens the Z-Wave Tx Queue to accept frames.
| bool zwave_tx_process_queue_flush_is_ongoing | ( | ) |
Verifies if we are trying to flush the queue or keep it empty.
| void zwave_tx_process_set_expected_frames | ( | zwave_node_id_t | remote_node_id, |
| uint8_t | number_of_incoming_frames | ||
| ) |
Tells the Z-Wave TX process that more frames are to be expected f from some NodeIDs.
| remote_node_id | The remote NodeID that will send us >1 frame(s) |
| number_of_incoming_frames | The number of frames to add. |