Trident IoT Z-Wave SDK
 
Loading...
Searching...
No Matches
zpal_radio.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Silicon Laboratories Inc. <https://www.silabs.com/>
2//
3// SPDX-License-Identifier: BSD-3-Clause
4
12#ifndef ZPAL_RADIO_H_
13#define ZPAL_RADIO_H_
14
15#include <stdbool.h>
16#include <stdint.h>
17#include "zpal_status.h"
18
19#ifdef __cplusplus
20extern "C" {
21#endif
22
204#define ZPAL_RADIO_INVALID_RSSI_DBM (-128)
205
209#define ZPAL_RADIO_RSSI_NOT_AVAILABLE (127)
210
211#define ZW_TX_POWER_10DBM 100
212#define ZW_TX_POWER_14DBM 140
213#define ZW_TX_POWER_20DBM 200
214
219#define ZPAL_RADIO_NUM_CHANNELS 3
220#define ZPAL_RADIO_NUM_CHANNELS_LR_CH_CFG_1_2 4
223#define ZPAL_RADIO_NUM_CHANNELS_LR_CH_CFG3 2
225
226
230typedef uint16_t node_id_t;
231
235typedef int16_t zpal_tx_power_t;
236
246
258
268
280
292
306
318
319
335
366
367#define REGION_2CH_NUM = (REGION_2CH_END - REGION_2CH_FIRST)
368#define REGION_3CH_NUM = (REGION_3CH_END - REGION_3CH_FIRST)
369
388
402
413
424
444
456
462
466typedef struct
467{
469 uint8_t frame_content[];
471
485
503
518
545
554void zpal_radio_set_network_ids(uint32_t home_id, node_id_t node_id, zpal_radio_mode_t mode, uint8_t home_id_hash);
555
562
571
578
592 uint8_t frame_header_length,
593 uint8_t const *const frame_header_buffer,
594 uint8_t frame_payload_length,
595 uint8_t const *const frame_payload_buffer,
596 uint8_t use_lbt,
597 int8_t tx_power);
598
609 uint8_t beam_data_len,
610 uint8_t const *const beam_data,
611 int8_t tx_power);
612
622
628
633
640
648
656
663void zpal_radio_set_lbt_level(uint8_t channel, int8_t level);
664
672
677
682
689
699
707
713
719
725
733
741
752zpal_status_t zpal_radio_get_background_rssi(uint8_t channel, int8_t *rssi);
753
760
767
772
779
787
793
800void zpal_radio_reset_after_beam_receive(bool start_receiver);
801
808
815
822
830
837
844
851
858
869
876
883
891
898
907
914
921
930
937
950bool zpal_radio_is_transmit_allowed(uint8_t channel, uint8_t frame_length, uint8_t frame_priority);
951
959bool zpal_radio_attenuate(uint8_t adjust_tx_power);
960
967
975
981#ifdef __cplusplus
982}
983#endif
984
985#endif /* ZPAL_RADIO_H_ */
void zpal_radio_request_calibration(bool forced)
Function to radio calibration.
void zpal_radio_rf_channel_statistic_tx_lbt_failures(void)
Function for incrementing the rf channel tx lbt failures.
uint16_t node_id_t
Node ID type.
Definition zpal_radio.h:230
void zpal_radio_rf_channel_statistic_tx_retries(void)
Function for incrementing the rf channel tx retries statistic.
bool zpal_radio_attenuate(uint8_t adjust_tx_power)
Function to reduce Tx power of classic non-listening devices.
void zpal_radio_rf_channel_statistic_tx_channel_set(zpal_radio_zwave_channel_t zwavechannel)
Function for setting the zwavechannel used when calling zpal_radio_rf_channel_statistic_tx_frames,...
zpal_status_t zpal_radio_get_background_rssi(uint8_t channel, int8_t *rssi)
Returns the background RSSI.
zpal_radio_crc_t
Enumeration containing supported checksum types in Z-Wave.
Definition zpal_radio.h:263
zpal_radio_region_t
Enumeration official Z-Wave regions.
Definition zpal_radio.h:340
void zpal_radio_get_last_received_frame(void)
Function to get last received frame. If a frame is received, zpal_radio_receive_handler_t will be inv...
zpal_radio_protocol_mode_t zpal_radio_get_protocol_mode(void)
Function to get the protocol mode used in the configured region.
zpal_radio_lr_channel_config_t
List of LR channel configurations. Used to select the correct phy configuration.
Definition zpal_radio.h:324
zpal_radio_lr_channel_config_t zpal_radio_get_lr_channel_config(void)
Function to read current Long Range Channel Configuration.
void zpal_radio_rf_channel_statistic_tx_frames(void)
Function for incrementing the rf channel tx frame statistic.
bool zpal_radio_is_flirs_enabled(void)
Returns whether FLiRS mode is enabled in the radio.
zpal_tx_power_t zpal_radio_get_minimum_lr_tx_power(void)
Returns the minimum transmit power for Z-Wave Long Range.
void zpal_radio_abort(void)
Turn radio off without changing configuration.
zpal_radio_event_t
Enumeratio radio events.
Definition zpal_radio.h:429
void zpal_radio_set_long_range_channel_auto_mode(bool enable)
Function to set the Long Range Channel selction mode.
void(* zpal_radio_receive_handler_t)(zpal_radio_rx_parameters_t *rx_parameters, zpal_radio_receive_frame_t *frame)
Function pointer declaration for handling of received frames.
Definition zpal_radio.h:484
const zpal_radio_profile_t * zpal_radio_get_rf_profile(void)
a getter on the current rf profile. Function return a pointer (instead of a struct) to reduce RAM mem...
void zpal_radio_rf_channel_statistic_clear(zpal_radio_zwave_channel_t zwavechannel)
Function for clearing specified rf channel statistics.
uint8_t zpal_radio_get_reduce_tx_power(void)
Function for getting the current reduce RF tx power compared to the default normal power in dBm.
zpal_tx_power_t zpal_radio_get_default_tx_power(void)
Function for getting the default tx power in deci dBm.
bool zpal_radio_is_lbt_enabled(void)
Returns whether listen before talk (LBT) is enabled.
void zpal_radio_clear_tx_timers(void)
Function for clearing current Channel Transmit timers.
void zpal_radio_rf_channel_statistic_background_rssi_average_update(zpal_radio_zwave_channel_t zwavechannel, int8_t rssi)
Function for updating the rf channel background noise rssi average statistic.
bool zpal_radio_get_long_range_channel_auto_mode(void)
Function to read current Long Range Channel selection mode.
zpal_radio_wakeup_t
Wakeup interval for the radio. A FLiRS node will use 250 or 1000 ms interval, all other nodes should ...
Definition zpal_radio.h:252
zpal_status_t zpal_radio_transmit_beam(zpal_radio_transmit_parameter_t const *const tx_parameters, uint8_t beam_data_len, uint8_t const *const beam_data, int8_t tx_power)
Function for transmitting a Z-Wave Beam frame though the radio.
void zpal_radio_set_lbt_level(uint8_t channel, int8_t level)
Function for setting the LBT RSSI level.
zpal_tx_power_t zpal_radio_get_maximum_tx_power(void)
Return the maximum board supported tx power for classic z-wave.
zpal_radio_lr_channel_t
Enumeration containing Long Range Channels.
Definition zpal_radio.h:285
zpal_status_t zpal_radio_transmit(zpal_radio_transmit_parameter_t const *const tx_parameters, uint8_t frame_header_length, uint8_t const *const frame_header_buffer, uint8_t frame_payload_length, uint8_t const *const frame_payload_buffer, uint8_t use_lbt, int8_t tx_power)
Function for transmitting a Z-Wave frame though the radio.
bool zpal_radio_rf_channel_statistic_get(zpal_radio_zwave_channel_t zwavechannel, zpal_radio_rf_channel_statistic_t *p_radio_channel_statistic)
void zpal_radio_power_down(void)
Powers down the radio transceiver.
zpal_radio_header_type_t
Z-Wave Frame header format types.
Definition zpal_radio.h:407
node_id_t zpal_radio_get_beam_node_id(void)
Returns the node ID associated with most recently received beam frame.
int16_t zpal_tx_power_t
Parameter type to store deci dBm values.
Definition zpal_radio.h:235
bool zpal_radio_is_debug_enabled(void)
Returns whether debug is enabled or disabled.
void zpal_radio_calibrate(void)
Calibrates the radio. Z-Wave expects the radio ZPAL implementation to generate a ZPAL_RADIO_EVENT_RXT...
zpal_radio_mode_t
Defines the different radio modes supported by Z-Wave.
Definition zpal_radio.h:241
zpal_status_t zpal_radio_change_region(zpal_radio_region_t eRegion, zpal_radio_lr_channel_config_t eLrChCfg)
Function used to change region and Long Range mode at the same time.
bool zpal_radio_is_long_range_locked(void)
Function to read the Long Range channel Locked status.
bool zpal_radio_is_transmit_allowed(uint8_t channel, uint8_t frame_length, uint8_t frame_priority)
Check if transmission is allowed for specified channel.
bool zpal_radio_is_region_supported(const zpal_radio_region_t region)
Function to check if the stack implementation supports a given region.
bool zpal_radio_is_fragmented_beam_enabled(void)
Returns whether use of fragmented beams is enabled or not for the active region.
int8_t zpal_radio_get_last_beam_rssi(void)
Get last beam RSSI. Retrieve the RSSI of the last beam received.
zpal_radio_tx_power_t
Enumeration containing Tx power settings.
Definition zpal_radio.h:374
void zpal_radio_clear_network_stats(void)
Function for clearing current Network statistics.
void zpal_radio_rf_channel_statistic_end_device_rssi_average_update(zpal_radio_zwave_channel_t zwavechannel, int8_t rssi)
Function for updating the rf channel end device noise rssi average statistic.
zpal_radio_speed_t
Enumeration containing supported baud rates.
Definition zpal_radio.h:273
int8_t zpal_radio_get_flirs_beam_tx_power(void)
Read the saved tx power of the last received long-range beam.
zpal_radio_zwave_channel_t zpal_radio_get_last_beam_channel(void)
Get last beam channel. Retrieve the channel on which we have last received a beam on.
zpal_radio_status_t
Radio status.
Definition zpal_radio.h:449
uint16_t zpal_radio_get_beam_startup_time(void)
Returns the time it takes to start transmission of wake up beams. Includes time spent on LBT.
zpal_radio_zwave_channel_t
Enumeration containing Z-Wave channels.
Definition zpal_radio.h:298
void zpal_radio_init(zpal_radio_profile_t *const profile)
Initializes the radio.
void(* zpal_radio_callback_t)(zpal_radio_event_t event)
Callback type used for radio events.
Definition zpal_radio.h:461
void zpal_radio_reset_after_beam_receive(bool start_receiver)
Resets the radio configuration to receive mode after having received a beam.
zpal_tx_power_t zpal_radio_get_maximum_lr_tx_power(void)
Returns the maximum transmit power for Z-Wave Long Range.
zpal_radio_protocol_mode_t
Enumeration containing Z-Wave channels known as protocol modes.
Definition zpal_radio.h:311
void zpal_radio_set_long_range_lock(bool lock)
Function to the set Long Range channel Locked status.
void zpal_radio_start_receive()
Starts the receiver and enables reception of frames.
void zpal_radio_enable_rx_broadcast_beam(bool enable)
Enable or disables reception of broadcast beam. Enable or disable FLiRS broadcast address.
zpal_radio_lr_channel_t zpal_radio_get_primary_long_range_channel(void)
Function to read current Primary Long Range Channel.
zpal_radio_region_t zpal_radio_get_region(void)
Function for getting REGION runtime.
void zpal_radio_set_network_ids(uint32_t home_id, node_id_t node_id, zpal_radio_mode_t mode, uint8_t home_id_hash)
Sets the home ID, the node ID and the radio mode.
void zpal_radio_start_receive_after_power_down(bool wait_for_beam)
Starts the receiver after power down.
void zpal_radio_enable_flirs(void)
Allows the radio to go into FLiRS receive mode.
void zpal_radio_set_primary_long_range_channel(zpal_radio_lr_channel_t channel)
Function to set the Primary Long Range Channel.
@ ZPAL_RADIO_CRC_NONE
No checksum.
Definition zpal_radio.h:264
@ ZPAL_RADIO_CRC_16_BIT_CCITT
16 bit CRC-CCITT checksum.
Definition zpal_radio.h:266
@ ZPAL_RADIO_CRC_8_BIT_XOR
8 bit XOR checksum.
Definition zpal_radio.h:265
@ REGION_HK
Radio is located in Region Hong Kong. 2 Channel region.
Definition zpal_radio.h:345
@ REGION_3CH_END
end of 3 channels regions (with 1 data rate)
Definition zpal_radio.h:360
@ REGION_EU_LR
Radio is located in Region EU. 2 Channel LR region.
Definition zpal_radio.h:354
@ REGION_3CH_FIRST
First 3 channels region (with 1 data rate)
Definition zpal_radio.h:357
@ REGION_EU
Radio is located in Region EU. 2 Channel region.
Definition zpal_radio.h:342
@ REGION_RU
Radio is located in Region Russia. 2 Channel region.
Definition zpal_radio.h:350
@ REGION_2CH_END
end of 2 channels regions (with 3 data rates)
Definition zpal_radio.h:355
@ REGION_IN
Radio is located in Region India. 2 Channel region.
Definition zpal_radio.h:348
@ REGION_ANZ
Radio is located in Region Australia/New Zealand. 2 Channel region.
Definition zpal_radio.h:344
@ REGION_UNDEFINED
Undefined region.
Definition zpal_radio.h:363
@ REGION_2CH_FIRST
First 2 channels region (with 3 data rates)
Definition zpal_radio.h:341
@ REGION_JP
Radio is located in Region Japan. 3 Channel region.
Definition zpal_radio.h:358
@ REGION_DEPRECATED_4
Deprecated value, should never be used.
Definition zpal_radio.h:346
@ REGION_IL
Radio is located in Region Israel. 2 Channel region.
Definition zpal_radio.h:349
@ REGION_KR
Radio is located in Region Korea. 3 Channel region.
Definition zpal_radio.h:359
@ REGION_DEPRECATED_10
Deprecated value, should never be used.
Definition zpal_radio.h:353
@ REGION_US_LR
Radio is located in Region US. 2 Channel LR region.
Definition zpal_radio.h:352
@ REGION_DEFAULT
Radio is located in Library Default Region EU. 2 Channel region.
Definition zpal_radio.h:364
@ REGION_US
Radio is located in Region US. 2 Channel region.
Definition zpal_radio.h:343
@ REGION_DEPRECATED_48
Deprecated value, should never be used.
Definition zpal_radio.h:362
@ REGION_CN
Radio is located in Region China. 2 Channel region.
Definition zpal_radio.h:351
@ ZPAL_RADIO_LR_CH_CFG_COUNT
enumeration items count
Definition zpal_radio.h:333
@ ZPAL_RADIO_LR_CH_CFG2
Definition zpal_radio.h:329
@ ZPAL_RADIO_LR_CH_CFG_NO_LR
Definition zpal_radio.h:325
@ ZPAL_RADIO_LR_CH_CFG3
Definition zpal_radio.h:331
@ ZPAL_RADIO_LR_CH_CFG1
Definition zpal_radio.h:327
@ ZPAL_RADIO_EVENT_TX_COMPLETE
Transmit complete.
Definition zpal_radio.h:432
@ ZPAL_RADIO_EVENT_FLAG_SUCCESS
Indicates a successful event.
Definition zpal_radio.h:440
@ ZPAL_RADIO_EVENT_RX_ABORT
Receive was aborted.
Definition zpal_radio.h:435
@ ZPAL_RADIO_EVENT_MASK
Radio event mask.
Definition zpal_radio.h:439
@ ZPAL_RADIO_EVENT_RX_BEAM_COMPLETE
Beam received.
Definition zpal_radio.h:433
@ ZPAL_RADIO_EVENT_TX_FAIL_LBT
Transmit failed because of an LBT failure.
Definition zpal_radio.h:437
@ ZPAL_RADIO_EVENT_TX_BEAM_COMPLETE
Beam sent.
Definition zpal_radio.h:434
@ ZPAL_RADIO_EVENT_TX_TIMEOUT
Transmit timeout.
Definition zpal_radio.h:441
@ ZPAL_RADIO_EVENT_RXTX_CALIBRATE
Radio needs calibration.
Definition zpal_radio.h:438
@ ZPAL_RADIO_EVENT_TX_FAIL
Transmit failed.
Definition zpal_radio.h:436
@ ZPAL_RADIO_EVENT_RX_COMPLETE
Frame received.
Definition zpal_radio.h:431
@ ZPAL_RADIO_EVENT_NONE
No radio event.
Definition zpal_radio.h:430
@ ZPAL_RADIO_EVENT_RX_TIMEOUT
Indicates Rx event started but never completed after 10 secs.
Definition zpal_radio.h:442
@ ZPAL_RADIO_WAKEUP_ALWAYS_LISTEN
Node is always listening.
Definition zpal_radio.h:254
@ ZPAL_RADIO_WAKEUP_NEVER_LISTEN
Node is not listening (Only listen when application requests it).
Definition zpal_radio.h:253
@ ZPAL_RADIO_WAKEUP_EVERY_1000ms
Node wakes up every 1000 ms interval to listen for a wakeup beam.
Definition zpal_radio.h:256
@ ZPAL_RADIO_WAKEUP_EVERY_250ms
Node wakes up every 250 ms interval to listen for a wakeup beam.
Definition zpal_radio.h:255
@ ZPAL_RADIO_LR_CHANNEL_UNKNOWN
Long Range Channel Unknown.
Definition zpal_radio.h:289
@ ZPAL_RADIO_LR_CHANNEL_B
Long Range Channel B.
Definition zpal_radio.h:288
@ ZPAL_RADIO_LR_CHANNEL_UNINITIALIZED
Long Range Channel setting not initialized.
Definition zpal_radio.h:286
@ ZPAL_RADIO_LR_CHANNEL_AUTO
Long Range automatically selected Channel.
Definition zpal_radio.h:290
@ ZPAL_RADIO_LR_CHANNEL_A
Long Range Channel A.
Definition zpal_radio.h:287
@ ZPAL_RADIO_HEADER_TYPE_UNDEFINED
Undefined Channel header format.
Definition zpal_radio.h:411
@ ZPAL_RADIO_HEADER_TYPE_LR
LR Channel header format.
Definition zpal_radio.h:410
@ ZPAL_RADIO_HEADER_TYPE_3CH
3 Channel header format.
Definition zpal_radio.h:409
@ ZPAL_RADIO_HEADER_TYPE_2CH
2 Channel header format.
Definition zpal_radio.h:408
@ ZPAL_RADIO_MODE_NON_LISTENING
The radio is not listening unless configured to for a period.
Definition zpal_radio.h:242
@ ZPAL_RADIO_MODE_ALWAYS_LISTENING
The radio is always listening.
Definition zpal_radio.h:243
@ ZPAL_RADIO_MODE_FLIRS
The radio is frequently listening.
Definition zpal_radio.h:244
@ ZPAL_RADIO_TX_POWER_MINUS9_DBM
-9 dBm TX power.
Definition zpal_radio.h:384
@ ZPAL_RADIO_TX_POWER_MINUS5_DBM
-5 dBm TX power.
Definition zpal_radio.h:380
@ ZPAL_RADIO_TX_POWER_MINUS6_DBM
-6 dBm TX power.
Definition zpal_radio.h:381
@ ZPAL_RADIO_TX_POWER_REDUCED
Default reduced TX power.
Definition zpal_radio.h:386
@ ZPAL_RADIO_TX_POWER_DEFAULT
Default, max TX power.
Definition zpal_radio.h:375
@ ZPAL_RADIO_TX_POWER_MINUS3_DBM
-3 dBm TX power.
Definition zpal_radio.h:378
@ ZPAL_RADIO_TX_POWER_MINUS1_DBM
-1 dBm TX power.
Definition zpal_radio.h:376
@ ZPAL_RADIO_TX_POWER_UNINITIALIZED
The TX power is uninitialized.
Definition zpal_radio.h:385
@ ZPAL_RADIO_TX_POWER_MINUS2_DBM
-2 dBm TX power.
Definition zpal_radio.h:377
@ ZPAL_RADIO_TX_POWER_MINUS8_DBM
-8 dBm TX power.
Definition zpal_radio.h:383
@ ZPAL_RADIO_TX_POWER_MINUS7_DBM
-7 dBm TX power.
Definition zpal_radio.h:382
@ ZPAL_RADIO_TX_POWER_MINUS4_DBM
-4 dBm TX power.
Definition zpal_radio.h:379
@ ZPAL_RADIO_SPEED_UNDEFINED
Undefined baud rate.
Definition zpal_radio.h:274
@ ZPAL_RADIO_SPEED_40K
40 kbps
Definition zpal_radio.h:276
@ ZPAL_RADIO_SPEED_100K
100 kbps
Definition zpal_radio.h:277
@ ZPAL_RADIO_SPEED_100KLR
100 kbps for long range
Definition zpal_radio.h:278
@ ZPAL_RADIO_SPEED_9600
9.6 kbps
Definition zpal_radio.h:275
@ ZPAL_RADIO_STATUS_RX_BEAM
Beam RX in progress.
Definition zpal_radio.h:454
@ ZPAL_RADIO_STATUS_RX
RX in progress.
Definition zpal_radio.h:451
@ ZPAL_RADIO_STATUS_TX_BEAM
Beam TX in progress.
Definition zpal_radio.h:453
@ ZPAL_RADIO_STATUS_IDLE
Radio is idling.
Definition zpal_radio.h:450
@ ZPAL_RADIO_STATUS_TX
TX in progress.
Definition zpal_radio.h:452
@ ZPAL_RADIO_ZWAVE_CHANNEL_4
Z-Wave channel 4.
Definition zpal_radio.h:303
@ ZPAL_RADIO_ZWAVE_CHANNEL_1
Z-Wave channel 1.
Definition zpal_radio.h:300
@ ZPAL_RADIO_ZWAVE_CHANNEL_0
Z-Wave channel 0.
Definition zpal_radio.h:299
@ ZPAL_RADIO_ZWAVE_CHANNEL_UNKNOWN
Z-Wave channel Unknown.
Definition zpal_radio.h:304
@ ZPAL_RADIO_ZWAVE_CHANNEL_2
Z-Wave channel 2.
Definition zpal_radio.h:301
@ ZPAL_RADIO_ZWAVE_CHANNEL_3
Z-Wave channel 3.
Definition zpal_radio.h:302
@ ZPAL_RADIO_PROTOCOL_MODE_1
2 Channel Protocol Mode.
Definition zpal_radio.h:312
@ ZPAL_RADIO_PROTOCOL_MODE_2
3 Channel Protocol Mode.
Definition zpal_radio.h:313
@ ZPAL_RADIO_PROTOCOL_MODE_3
4 Channel Protocol Mode - Combination of 2 Channel (9.6kb/40kb, 100kb) and Long Range Channel.
Definition zpal_radio.h:314
@ ZPAL_RADIO_PROTOCOL_MODE_UNDEFINED
Protocol mode undefined means invalid region code.
Definition zpal_radio.h:316
@ ZPAL_RADIO_PROTOCOL_MODE_4
2 Long Range Channel Protocol Mode - End Device.
Definition zpal_radio.h:315
zpal_status_t
ZPAL statuses to be used by ZPAL APIs.
Definition zpal_status.h:38
Network statistics structure.
Definition zpal_radio.h:490
uint32_t tx_time_channel_2
Accumulated transmission time in ms for channel 2.
Definition zpal_radio.h:499
uint32_t rx_frames
Received Frames (No errors).
Definition zpal_radio.h:493
uint32_t rx_lrc_errors
Checksum Errors.
Definition zpal_radio.h:494
uint32_t tx_frames
Transmitted Frames.
Definition zpal_radio.h:491
uint32_t tx_time_channel_3
Accumulated transmission time in ms for channel 3, i.e., US_LR1.
Definition zpal_radio.h:500
uint32_t tx_time_channel_4
Accumulated transmission time in ms for channel 4, i.e., US_LR2.
Definition zpal_radio.h:501
uint32_t tx_time_channel_0
Accumulated transmission time in ms for channel 0.
Definition zpal_radio.h:497
uint32_t tx_lbt_back_offs
LBT backoffs.
Definition zpal_radio.h:492
uint32_t rx_crc_errors
CRC16 Errors.
Definition zpal_radio.h:495
uint32_t rx_foreign_home_id
Foreign Home ID.
Definition zpal_radio.h:496
uint32_t tx_time_channel_1
Accumulated transmission time in ms for channel 1.
Definition zpal_radio.h:498
Radio Profile containing region, baud rate, and wakeup interval for this device.
Definition zpal_radio.h:523
uint8_t * home_id
Pointer to current HomeID(uint8_t homeID[4]).
Definition zpal_radio.h:536
zpal_radio_callback_t assert_cb
Pointer to function called by RF on fatal Assert.
Definition zpal_radio.h:540
zpal_radio_wakeup_t wakeup
Wakeup interval for the radio.
Definition zpal_radio.h:525
zpal_radio_lr_channel_config_t active_lr_channel_config
Definition zpal_radio.h:528
zpal_radio_receive_handler_t receive_handler_cb
Pointer to receive handler.
Definition zpal_radio.h:543
bool lr_channel_auto_mode
Longe Range channel selection mode.
Definition zpal_radio.h:527
zpal_tx_power_t tx_power_adjust
Adjustment for antenna gain in deci dBm.
Definition zpal_radio.h:534
zpal_radio_region_t region
Region in which this system operates.
Definition zpal_radio.h:524
zpal_tx_power_t tx_power_max
Z-Wave Transmit Power in deci dBm.
Definition zpal_radio.h:533
zpal_radio_callback_t rx_cb
Pointer to function called by RF on Rx Completion.
Definition zpal_radio.h:537
int8_t listen_before_talk_threshold
LBT Threshold for Transmit backoff in dBm.
Definition zpal_radio.h:532
zpal_radio_lr_channel_t primary_lr_channel
Primary Long Range Channel.
Definition zpal_radio.h:526
zpal_radio_callback_t tx_cb
Pointer to function called by RF on Tx Completion.
Definition zpal_radio.h:538
uint8_t radio_debug_enable
Enable radio debugging which is vendor specific.
Definition zpal_radio.h:542
zpal_radio_network_stats_t * network_stats
Pointer to structure where to RF Statistics are placed.
Definition zpal_radio.h:541
zpal_tx_power_t tx_power_max_lr
Max transmit power for Z-Wave LR in deci dBm.
Definition zpal_radio.h:535
zpal_radio_callback_t region_change_cb
Pointer to function called by RF on Region change.
Definition zpal_radio.h:539
Z-Wave receive frame.
Definition zpal_radio.h:467
uint8_t frame_content_length
Length of payload following this frame.
Definition zpal_radio.h:468
rf channel statistics structure
Definition zpal_radio.h:509
int8_t rf_channel_end_device_rssi_average
End Device RSSI average on rf channel.
Definition zpal_radio.h:516
uint32_t rf_channel_tx_frames
Transmitted frames on rf channel.
Definition zpal_radio.h:510
int8_t rf_channel_background_rssi_average
Background RSSI average on rf channel.
Definition zpal_radio.h:515
uint32_t rf_channel_tx_retries
Frame transmit retries on rf channel.
Definition zpal_radio.h:511
uint32_t rf_channel_rx_crc_error
Frames received with CRC error on rf channel.
Definition zpal_radio.h:514
uint32_t rf_channel_rx_foreign_homeid
Frames received with foreign homeid on rf channel.
Definition zpal_radio.h:513
uint32_t rf_channel_tx_lbt_failures
Frame transmit failed by lbt on rf channel.
Definition zpal_radio.h:512
Structure with radio parameters for a received frame.
Definition zpal_radio.h:418
zpal_radio_header_type_t channel_header_format
Z-Wave Header format used in channel frame was received on.
Definition zpal_radio.h:421
zpal_radio_speed_t speed
Speed for the frame received.
Definition zpal_radio.h:419
int8_t rssi
Rssi value.
Definition zpal_radio.h:422
zpal_radio_zwave_channel_t channel_id
Channel id on which the frame was received.
Definition zpal_radio.h:420
Parameters required when transmitting a frame.
Definition zpal_radio.h:393
uint8_t preamble_length
Length of the preamble. Minimum preamble length is specified in ITU G.9959-2015.
Definition zpal_radio.h:398
zpal_radio_speed_t speed
Channel Speed to use when transmitting a frame.
Definition zpal_radio.h:394
uint8_t repeats
Number of repetitions for the frame. This is used for wakeup beams where the beam is to be repeated f...
Definition zpal_radio.h:400
zpal_radio_zwave_channel_t channel_id
Channel id to use when transmitting a frame.
Definition zpal_radio.h:395
uint8_t preamble
The byte value used for the preamble sequence.
Definition zpal_radio.h:397
zpal_radio_crc_t crc
CRC Type to use. XOR is used in 2 channel at 9600 and 40k baud rate. CRC CCITT is used in 100k frames...
Definition zpal_radio.h:396
uint8_t start_of_frame
The start of frame byte used to indicate the end of preamble and the start of frame.
Definition zpal_radio.h:399