Z-Wave Protocol Controller Reference
zwave_tx_process.h
Go to the documentation of this file.
1/******************************************************************************
2 * # License
3 * <b>Copyright 2021 Silicon Laboratories Inc. www.silabs.com</b>
4 ******************************************************************************
5 * The licensor of this software is Silicon Laboratories Inc. Your use of this
6 * software is governed by the terms of Silicon Labs Master Software License
7 * Agreement (MSLA) available at
8 * www.silabs.com/about-us/legal/master-software-license-agreement. This
9 * software is distributed to you in Source Code format and is governed by the
10 * sections of the MSLA applicable to Source Code.
11 *
12 *****************************************************************************/
13
14#ifndef ZWAVE_TX_PROCESS_H
15#define ZWAVE_TX_PROCESS_H
16
17#include "zwave_tx.h"
18#include "process.h"
75PROCESS_NAME(zwave_tx_process);
76
80typedef enum {
86
90typedef enum {
105
109typedef enum zwave_tx_state {
120
121#ifdef __cplusplus
122extern "C" {
123#endif
124
132
149
156
164
173 uint8_t number_of_incoming_frames);
174
179
187
192
193#ifdef __cplusplus
194}
195#endif
196
199#endif // ZWAVE_TX_PROCESS_H
uint32_t sl_status_t
Definition: sl_status.h:139
uint16_t zwave_node_id_t
Z-Wave NodeID type.
Definition: zwave_node_id_definitions.h:84
void * zwave_tx_session_id_t
Handle that can be used for aborting ongoing transmissions or identifying TX Queue elements.
Definition: zwave_tx_definitions.h:77
zwave_tx_events_t
Event definitions for the Z-Wave TX Process.
Definition: zwave_tx_process.h:80
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.
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.
zwave_tx_state
The Z-Wave TX Process states.
Definition: zwave_tx_process.h:109
void zwave_tx_process_check_queue()
Triggers the processing of the next frame in the queue if we are idle.
bool zwave_tx_process_queue_flush_is_ongoing()
Verifies if we are trying to flush the queue or keep it empty.
sl_status_t zwave_tx_process_flush_queue_reset_step()
Initiates a flush of the Tx Queue for a reset operation.
PROCESS_NAME(zwave_tx_process)
Name the of contiki process for the Z-Wave TX.
void zwave_tx_process_open_tx_queue()
(Re-)opens the Z-Wave Tx Queue to accept frames.
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.
void zwave_tx_process_log_state()
Logs the state of the Z-Wave TX Process using sl_log.
zwave_tx_backoff_reason_t
List of reasons for going into a Tx Back-off-.
Definition: zwave_tx_process.h:90
enum zwave_tx_state zwave_tx_state_t
The Z-Wave TX Process states.
@ ZWAVE_TX_SEND_NEXT_MESSAGE
Send the next message in the TX Queue.
Definition: zwave_tx_process.h:82
@ ZWAVE_TX_SEND_OPERATION_COMPLETE
The ongoing transmission is now completed.
Definition: zwave_tx_process.h:84
@ ZWAVE_TX_STATE_IDLE
Definition: zwave_tx_process.h:112
@ ZWAVE_TX_STATE_BACKOFF
Definition: zwave_tx_process.h:118
@ ZWAVE_TX_STATE_TRANSMISSION_ONGOING
Definition: zwave_tx_process.h:115
@ BACKOFF_INCOMING_UNSOLICITED_ROUTED_FRAME
Definition: zwave_tx_process.h:103
@ BACKOFF_CURRENT_SESSION_ID
Definition: zwave_tx_process.h:93
@ BACKOFF_PROTOCOL_SENDING_FRAMES
Definition: zwave_tx_process.h:99
@ BACKOFF_EXPECTED_ADDITIONAL_FRAMES
Definition: zwave_tx_process.h:96
const zwave_node_id_t node_id