Zpal-radio#

Defines a platform abstraction layer for the Z-Wave radio.

The ZPAL Radio module contains several APIs which are required to be implemented.

A user of this radio module shall first define all parameters of the Z-Wave Radio Profile (i.e., zpal_radio_profile_t) and initialise the radio using zpal_radio_init API.

After the initialisation of the radio is executed, the user can use any of the radio APIs to execute radio related paradigm for instance

  • zpal_radio_transmit shall be used to transmit a Z-Wave frame on radio

  • zpal_radio_start_receive shall be used to enable the reception of Z-Wave frame

The radio API assumes that the radio will return to receive mode with channel hopping enabled after transmitting a frame.

Initialization of the radio#

void
RXHandlerFromISR(zpal_radio_event_t rxStatus)
{
   // Rx handle in ISR context
}

void
TXHandlerFromISR(zpal_radio_event_t txEvent)
{
  // Tx complete handle in ISR context
}

void
RegionChangeHandler(zpal_radio_event_t regionChangeStatus)
{
  // Region changed, make sure region specific data and statistics are cleared
}

void
RadioAssertHandler(zpal_radio_event_t assertVal)
{
  // Radio driver or hardware asserted, handle it
}

initialize_radio()
{
  static zpal_radio_profile_t RfProfile;
  static zpal_radio_network_stats_t sNetworkStatistic = {0};
  static uint8_t network_homeid[4] = {0xDE, 0xAD, 0xBE, 0xEF};

  // Set radio for US always on mode
  static zpal_radio_profile_t RfProfile = {.region = REGION_US,
                                    .wakeup = ZPAL_RADIO_WAKEUP_ALWAYS_LISTEN,
                                    .listen_before_talk_threshold = ELISTENBEFORETALKTRESHOLD_DEFAULT,
                                    .tx_power_max = 0,
                                    .tx_power_adjust = 33,
                                    .tx_power_max_lr = 140,
                                    .home_id = &network_homeid,
                                    .rx_cb = RXHandlerFromISR,
                                    .tx_cb = TXHandlerFromISR,
                                    .region_change_cb = RegionChangeHandler,
                                    .assert_cb = RadioAssertHandler,
                                    .network_stats = &sNetworkStatistic,
                                    .radio_debug_enable = false,
                                    .primary_lr_channel = ZPAL_RADIO_LR_CHANNEL_A};

  zpal_radio_init(RfProfile);
}

Transmitting a frame#

#define TX_FAILED          0
#define TX_FRAME_SUCCESS   1
#define TX_BEAM_SUCCESS    2

static const zpal_radio_transmit_parameter_t TxParameter100kCh1 = {.speed = ZPAL_RADIO_SPEED_100K, 
                                                                   .channel_id = 0,
                                                                   .crc = ZPAL_RADIO_CRC_16_BIT_CCITT,
                                                                   .preamble = 0x55,
                                                                   .preamble_length = 40,
                                                                   .start_of_frame = 0xF0,
                                                                   .repeats = 0};

zpal_status_t transmit_frame()
{
  // Singlecast MAC header from node 1 to node 2
  uint8_t header_buffer[9] = {0xDE, 0xAD, 0xBE, 0xEF, 0x01, 0x41, 0x01, 14, 0x02};
  // Basic set On frame
  uint8_t payload_buffer[3] = {0x20, 0x01, 0xFF};

  return zpal_radio_transmit(&TxParameter100kCh1,         // use 100kbps FSK profile
                             9,
                             (uint8_t *)&header_buffer,
                             3,
                             (uint8_t *)&payload_buffer,
                             true,                        // Do LBT before transmit
                             0);                          // Transmit power 0dBm
}

void
TXHandlerFromISR(zpal_radio_event_t txEvent)
{
  uint8_t status;

  if ((ZPAL_RADIO_EVENT_TX_FAIL == txEvent) || (ZPAL_RADIO_EVENT_TX_FAIL_LBT == txEvent))
  {
    status = TX_FAILED;
  }
  else if (txEvent & ZPAL_RADIO_EVENT_FLAG_BEAM)
  {
    status = TX_BEAM_SUCCESS;
  }
  else
  {
    status = TX_FRAME_SUCCESS;
  }
  / Get out of ISR context and handle transmit complete
  HandleTransmitComplete(status);
}

Receiving a frame#

#define RX_ABORT                 0
#define RX_BEAM                  1
#define RX_FRAME                 2
#define RX_CALIBRATION_NEEDED    3

void
RXHandlerFromISR(zpal_radio_event_t rxStatus)
{
  uint8_t status;

  switch (rxStatus)
  {
    case ZPAL_RADIO_EVENT_RX_BEAM:
      // Beam received
      status = RX_BEAM;
      break;
    case ZPAL_RADIO_EVENT_RX_ABORT:
      // Receive was aborted due to an error in the frame
      status = RX_ABORT;
      break;
    case ZPAL_RADIO_EVENT_RX:
      // Valid frame received
      status = RX_FRAME;
      break;
    case ZPAL_RADIO_EVENT_RXTX_CALIBRATE:
      // Radio reports that calibration is needed
      status = RX_CALIBRATION_NEEDED;
      break;
  }

  / Get out of ISR context and handle frame
  HandleFrame(status);
}

Modules#

zpal_radio_transmit_parameter_t

zpal_radio_rx_parameters_t

zpal_radio_receive_frame_t

zpal_radio_network_stats_t

zpal_radio_rf_channel_statistic_t

zpal_radio_profile_t

Enumerations#

enum
ZPAL_RADIO_MODE_NON_LISTENING
ZPAL_RADIO_MODE_ALWAYS_LISTENING
ZPAL_RADIO_MODE_FLIRS
}
enum
ZPAL_RADIO_WAKEUP_NEVER_LISTEN
ZPAL_RADIO_WAKEUP_ALWAYS_LISTEN
ZPAL_RADIO_WAKEUP_EVERY_250ms
ZPAL_RADIO_WAKEUP_EVERY_1000ms
}

Wakeup interval for the radio.

enum
ZPAL_RADIO_CRC_NONE
ZPAL_RADIO_CRC_8_BIT_XOR
ZPAL_RADIO_CRC_16_BIT_CCITT
}

Enumeration containing supported checksum types in Z-Wave.

enum
ZPAL_RADIO_SPEED_UNDEFINED
ZPAL_RADIO_SPEED_9600
ZPAL_RADIO_SPEED_40K
ZPAL_RADIO_SPEED_100K
ZPAL_RADIO_SPEED_100KLR
}

Enumeration containing supported baud rates.

enum
ZPAL_RADIO_LR_CHANNEL_UNINITIALIZED
ZPAL_RADIO_LR_CHANNEL_A
ZPAL_RADIO_LR_CHANNEL_B
ZPAL_RADIO_LR_CHANNEL_UNKNOWN
ZPAL_RADIO_LR_CHANNEL_AUTO = 255
}

Enumeration containing Long Range Channels.

enum
ZPAL_RADIO_ZWAVE_CHANNEL_0 = 0
ZPAL_RADIO_ZWAVE_CHANNEL_1 = 1
ZPAL_RADIO_ZWAVE_CHANNEL_2 = 2
ZPAL_RADIO_ZWAVE_CHANNEL_3 = 3
ZPAL_RADIO_ZWAVE_CHANNEL_4 = 4
ZPAL_RADIO_ZWAVE_CHANNEL_NUM
ZPAL_RADIO_ZWAVE_CHANNEL_UNKNOWN = 0xFF
}

Enumeration containing Z-Wave channels.

enum
ZPAL_RADIO_PROTOCOL_MODE_1
ZPAL_RADIO_PROTOCOL_MODE_2
ZPAL_RADIO_PROTOCOL_MODE_3
ZPAL_RADIO_PROTOCOL_MODE_4
ZPAL_RADIO_PROTOCOL_MODE_UNDEFINED = 0xFF
}

Enumeration containing Z-Wave channels known as protocol modes.

enum
REGION_EU = 0
REGION_US
REGION_ANZ
REGION_HK
REGION_IN = 5
REGION_IL
REGION_RU
REGION_CN
REGION_US_LR
REGION_US_LR_BACKUP
REGION_2CH_NUM = (REGION_US_LR_BACKUP - REGION_EU) + 1
REGION_JP = 32
REGION_KR
REGION_3CH_NUM = (REGION_KR - REGION_JP) + 1
REGION_US_LR_END_DEVICE = 48
REGION_LR_END_DEVICE_NUM = 1
REGION_UNDEFINED = 0xFE
REGION_DEFAULT = 0xFF
}

Enumeration official Z-Wave regions.

enum
TF_REGION_866 = 64
TF_REGION_870
TF_REGION_906
TF_REGION_910
TF_REGION_878
TF_REGION_882
TF_REGION_886
TF_REGION_2CH_NUM = (TF_REGION_886 - TF_REGION_866) + 1
TF_REGION_932_3CH = 96
TF_REGION_940_3CH
TF_REGION_835_3CH
TF_REGION_840_3CH
TF_REGION_850_3CH
TF_REGION_3CH_NUM = (TF_REGION_850_3CH - TF_REGION_932_3CH) + 1
}

Enumeration test frequency region.

enum
ZPAL_RADIO_TX_POWER_DEFAULT
ZPAL_RADIO_TX_POWER_MINUS1_DBM
ZPAL_RADIO_TX_POWER_MINUS2_DBM
ZPAL_RADIO_TX_POWER_MINUS3_DBM
ZPAL_RADIO_TX_POWER_MINUS4_DBM
ZPAL_RADIO_TX_POWER_MINUS5_DBM
ZPAL_RADIO_TX_POWER_MINUS6_DBM
ZPAL_RADIO_TX_POWER_MINUS7_DBM
ZPAL_RADIO_TX_POWER_MINUS8_DBM
ZPAL_RADIO_TX_POWER_MINUS9_DBM
ZPAL_RADIO_TX_POWER_UNINITIALIZED = 126
ZPAL_RADIO_TX_POWER_REDUCED = 127
}

Enumeration containing Tx power settings.

enum
ZPAL_RADIO_HEADER_TYPE_2CH
ZPAL_RADIO_HEADER_TYPE_3CH
ZPAL_RADIO_HEADER_TYPE_LR
ZPAL_RADIO_HEADER_TYPE_UNDEFINED
}

Z-Wave Frame header format types.

enum
ZPAL_RADIO_EVENT_NONE
ZPAL_RADIO_EVENT_RX_COMPLETE
ZPAL_RADIO_EVENT_TX_COMPLETE
ZPAL_RADIO_EVENT_RX_BEAM_COMPLETE
ZPAL_RADIO_EVENT_TX_BEAM_COMPLETE
ZPAL_RADIO_EVENT_RX_ABORT
ZPAL_RADIO_EVENT_TX_FAIL
ZPAL_RADIO_EVENT_TX_FAIL_LBT
ZPAL_RADIO_EVENT_RXTX_CALIBRATE
ZPAL_RADIO_EVENT_MASK = 0x1F
ZPAL_RADIO_EVENT_FLAG_SUCCESS = 0x80
ZPAL_RADIO_EVENT_TX_TIMEOUT = 254
}

Enumeratio radio events.

enum
ZPAL_RADIO_STATUS_IDLE
ZPAL_RADIO_STATUS_RX
ZPAL_RADIO_STATUS_TX
ZPAL_RADIO_STATUS_TX_BEAM
ZPAL_RADIO_STATUS_RX_BEAM
}

Typedefs#

typedef uint16_t

Node ID type.

typedef int16_t

Parameter type to store deci dBm values.

typedef void(*
zpal_radio_callback_t)(zpal_radio_event_t event)
typedef 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.

Functions#

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_init(zpal_radio_profile_t *const profile)

Initializes the radio.

zpal_radio_change_region(zpal_radio_region_t region)

Function for changing REGION runtime.

Function for getting REGION runtime.

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.

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

Starts the receiver and enables reception of frames.

void

Function to get last received frame.

void

Powers down the radio transceiver.

Function to get the protocol mode used in the configured region.

int8_t

Get last beam RSSI.

void
zpal_radio_set_lbt_level(uint8_t channel, int8_t level)

Function for setting the LBT RSSI level.

void

Enable or disables reception of broadcast beam.

void

Function for clearing current Channel Transmit timers.

void

Function for clearing current Network statistics.

void
zpal_radio_rf_channel_statistic_clear(zpal_radio_zwave_channel_t zwavechannel)

Function for clearing specified rf channel statistics.

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_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_radio_rf_channel_statistic_tx_retries and zpal_radio_rf_channel_statistic_tx_lbt_failures.

void

Function for incrementing the rf channel tx frame statistic.

void

Function for incrementing the rf channel tx retries statistic.

void

Function for incrementing the rf channel tx lbt failures.

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.

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_get_background_rssi(uint8_t channel, int8_t *rssi)

Returns the background RSSI.

Function for getting the default tx power in deci dBm.

uint8_t

Function for getting the current reduce RF tx power compared to the default normal power in dBm.

void

Allows the radio to go into FLiRS receive mode.

bool

Returns whether FLiRS mode is enabled in the radio.

void

Starts the receiver after power down.

void

Turn radio off without changing configuration.

void

Resets the radio configuration to receive mode after having received a beam.

bool

Returns whether use of fragmented beams is enabled or not for the active region.

bool

Returns whether use of receive beams is enabled or not for the active region.

void

Calibrates the radio.

bool

Returns whether listen before talk (LBT) is enabled.

uint16_t

Returns the time it takes to start transmission of wake up beams.

Returns the node ID associated with most recently received beam frame.

Returns the minimum transmit power for Z-Wave Long Range.

Returns the maximum transmit power for Z-Wave Long Range.

bool

Returns whether debug is enabled or disabled.

Function to read current Primary Long Range Channel.

zpal_radio_set_primary_long_range_channel(zpal_radio_lr_channel_t channel)

Function to set the Primary Long Range Channel.

bool

Function to read current Long Range Channel selection mode.

void

Function to set the Long Range Channel selction mode.

void

Function to the set Long Range channel Locked status.

bool

Function to read the Long Range channel Locked status.

bool
zpal_radio_is_region_supported(zpal_radio_region_t region)

Function to check if the stack implementation supports a given region.

int8_t

Read the saved tx power of the last received long-range beam.

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_attenuate(uint8_t adjust_tx_power)

Function to reduce Tx power of classic non-listening devices.

Return the maximum board supported tx power for classic z-wave.

void

Function to radio calibration.

Macros#

#define

RSSI value is invalid or not measured.

Enumeration Documentation#

zpal_radio_mode_t#

zpal_radio_mode_t
Enumerator
ZPAL_RADIO_MODE_NON_LISTENING

The radio is not listening unless configured to for a period.

ZPAL_RADIO_MODE_ALWAYS_LISTENING

The radio is always listening.

ZPAL_RADIO_MODE_FLIRS

The radio is frequently listening.


Definition at line 218 of file /mnt/raid/workspaces/ws.T7KR5OZRo/overlay/gsdk/protocol/z-wave/PAL/inc/zpal_radio.h

zpal_radio_wakeup_t#

zpal_radio_wakeup_t

Wakeup interval for the radio.

A FLiRS node will use 250 or 1000 ms interval, all other nodes should be configured as always listening.

Enumerator
ZPAL_RADIO_WAKEUP_NEVER_LISTEN

Node is not listening (Only listen when application requests it).

ZPAL_RADIO_WAKEUP_ALWAYS_LISTEN

Node is always listening.

ZPAL_RADIO_WAKEUP_EVERY_250ms

Node wakes up every 250 ms interval to listen for a wakeup beam.

ZPAL_RADIO_WAKEUP_EVERY_1000ms

Node wakes up every 1000 ms interval to listen for a wakeup beam.


Definition at line 229 of file /mnt/raid/workspaces/ws.T7KR5OZRo/overlay/gsdk/protocol/z-wave/PAL/inc/zpal_radio.h

zpal_radio_crc_t#

zpal_radio_crc_t

Enumeration containing supported checksum types in Z-Wave.

Enumerator
ZPAL_RADIO_CRC_NONE

No checksum.

ZPAL_RADIO_CRC_8_BIT_XOR

8 bit XOR checksum.

ZPAL_RADIO_CRC_16_BIT_CCITT

16 bit CRC-CCITT checksum.


Definition at line 240 of file /mnt/raid/workspaces/ws.T7KR5OZRo/overlay/gsdk/protocol/z-wave/PAL/inc/zpal_radio.h

zpal_radio_speed_t#

zpal_radio_speed_t

Enumeration containing supported baud rates.

Enumerator
ZPAL_RADIO_SPEED_UNDEFINED
ZPAL_RADIO_SPEED_9600
ZPAL_RADIO_SPEED_40K
ZPAL_RADIO_SPEED_100K
ZPAL_RADIO_SPEED_100KLR

Definition at line 250 of file /mnt/raid/workspaces/ws.T7KR5OZRo/overlay/gsdk/protocol/z-wave/PAL/inc/zpal_radio.h

zpal_radio_lr_channel_t#

zpal_radio_lr_channel_t

Enumeration containing Long Range Channels.

Enumerator
ZPAL_RADIO_LR_CHANNEL_UNINITIALIZED

Long Range Channel setting not initialized.

ZPAL_RADIO_LR_CHANNEL_A

Long Range Channel A.

ZPAL_RADIO_LR_CHANNEL_B

Long Range Channel B.

ZPAL_RADIO_LR_CHANNEL_UNKNOWN

Long Range Channel Unknown.

ZPAL_RADIO_LR_CHANNEL_AUTO

Long Range automatically selected Channel.


Definition at line 262 of file /mnt/raid/workspaces/ws.T7KR5OZRo/overlay/gsdk/protocol/z-wave/PAL/inc/zpal_radio.h

zpal_radio_zwave_channel_t#

zpal_radio_zwave_channel_t

Enumeration containing Z-Wave channels.

Enumerator
ZPAL_RADIO_ZWAVE_CHANNEL_0

Z-Wave channel 0.

ZPAL_RADIO_ZWAVE_CHANNEL_1

Z-Wave channel 1.

ZPAL_RADIO_ZWAVE_CHANNEL_2

Z-Wave channel 2.

ZPAL_RADIO_ZWAVE_CHANNEL_3

Z-Wave channel 3.

ZPAL_RADIO_ZWAVE_CHANNEL_4

Z-Wave channel 4.

ZPAL_RADIO_ZWAVE_CHANNEL_NUM

Number of Z-Wave channels. must be last.

ZPAL_RADIO_ZWAVE_CHANNEL_UNKNOWN

Z-Wave channel Unknown.


Definition at line 275 of file /mnt/raid/workspaces/ws.T7KR5OZRo/overlay/gsdk/protocol/z-wave/PAL/inc/zpal_radio.h

zpal_radio_protocol_mode_t#

zpal_radio_protocol_mode_t

Enumeration containing Z-Wave channels known as protocol modes.

Enumerator
ZPAL_RADIO_PROTOCOL_MODE_1

2 Channel Protocol Mode.

ZPAL_RADIO_PROTOCOL_MODE_2

3 Channel Protocol Mode.

ZPAL_RADIO_PROTOCOL_MODE_3

4 Channel Protocol Mode - Combination of 2 Channel (9.6kb/40kb, 100kb) and Long Range Channel.

ZPAL_RADIO_PROTOCOL_MODE_4

2 Long Range Channel Protocol Mode - End Device.

ZPAL_RADIO_PROTOCOL_MODE_UNDEFINED

Protocol mode undefined means invalid region code.


Definition at line 289 of file /mnt/raid/workspaces/ws.T7KR5OZRo/overlay/gsdk/protocol/z-wave/PAL/inc/zpal_radio.h

zpal_radio_region_t#

zpal_radio_region_t

Enumeration official Z-Wave regions.

Enumerator
REGION_EU

Radio is located in Region EU. 2 Channel region.

REGION_US

Radio is located in Region US. 2 Channel region.

REGION_ANZ

Radio is located in Region Australia/New Zealand. 2 Channel region.

REGION_HK

Radio is located in Region Hong Kong. 2 Channel region.

REGION_IN

Radio is located in Region India. 2 Channel region.

REGION_IL

Radio is located in Region Israel. 2 Channel region.

REGION_RU

Radio is located in Region Russia. 2 Channel region.

REGION_CN

Radio is located in Region China. 2 Channel region.

REGION_US_LR

Radio is located in Region US. 2 Channel LR region.

REGION_US_LR_BACKUP

Radio is located in Region US. 2 Channel LR Backup region.

REGION_2CH_NUM

Number of 2 channel region values. For checking if value is out of range.

REGION_JP

Radio is located in Region Japan. 3 Channel region.

REGION_KR

Radio is located in Region Korea. 3 Channel region.

REGION_3CH_NUM

Number of 3 channel region values. For checking if value is out of range.

REGION_US_LR_END_DEVICE

Radio is located in Region US Long Range End Device. 2 Long Range Channel Region.

REGION_LR_END_DEVICE_NUM
REGION_UNDEFINED
REGION_DEFAULT

Radio is located in Library Default Region EU. 2 Channel region.


Definition at line 301 of file /mnt/raid/workspaces/ws.T7KR5OZRo/overlay/gsdk/protocol/z-wave/PAL/inc/zpal_radio.h

zpal_radio_region_tf_t#

zpal_radio_region_tf_t

Enumeration test frequency region.

NOTE these regions should only be used for test purposes

Enumerator
TF_REGION_866
TF_REGION_870
TF_REGION_906
TF_REGION_910
TF_REGION_878
TF_REGION_882
TF_REGION_886
TF_REGION_2CH_NUM
TF_REGION_932_3CH
TF_REGION_940_3CH
TF_REGION_835_3CH
TF_REGION_840_3CH
TF_REGION_850_3CH
TF_REGION_3CH_NUM

Definition at line 326 of file /mnt/raid/workspaces/ws.T7KR5OZRo/overlay/gsdk/protocol/z-wave/PAL/inc/zpal_radio.h

zpal_radio_tx_power_t#

zpal_radio_tx_power_t

Enumeration containing Tx power settings.

Enumerator
ZPAL_RADIO_TX_POWER_DEFAULT

Max Tx power.

ZPAL_RADIO_TX_POWER_MINUS1_DBM
ZPAL_RADIO_TX_POWER_MINUS2_DBM
ZPAL_RADIO_TX_POWER_MINUS3_DBM
ZPAL_RADIO_TX_POWER_MINUS4_DBM
ZPAL_RADIO_TX_POWER_MINUS5_DBM
ZPAL_RADIO_TX_POWER_MINUS6_DBM
ZPAL_RADIO_TX_POWER_MINUS7_DBM
ZPAL_RADIO_TX_POWER_MINUS8_DBM
ZPAL_RADIO_TX_POWER_MINUS9_DBM
ZPAL_RADIO_TX_POWER_UNINITIALIZED
ZPAL_RADIO_TX_POWER_REDUCED

Default reduced Tx power.


Definition at line 347 of file /mnt/raid/workspaces/ws.T7KR5OZRo/overlay/gsdk/protocol/z-wave/PAL/inc/zpal_radio.h

zpal_radio_header_type_t#

zpal_radio_header_type_t

Z-Wave Frame header format types.

Enumerator
ZPAL_RADIO_HEADER_TYPE_2CH

2 Channel header format.

ZPAL_RADIO_HEADER_TYPE_3CH

3 Channel header format.

ZPAL_RADIO_HEADER_TYPE_LR

LR Channel header format.

ZPAL_RADIO_HEADER_TYPE_UNDEFINED

Undefined Channel header format.


Definition at line 380 of file /mnt/raid/workspaces/ws.T7KR5OZRo/overlay/gsdk/protocol/z-wave/PAL/inc/zpal_radio.h

zpal_radio_event_t#

zpal_radio_event_t

Enumeratio radio events.

Enumerator
ZPAL_RADIO_EVENT_NONE
ZPAL_RADIO_EVENT_RX_COMPLETE

Frame received.

ZPAL_RADIO_EVENT_TX_COMPLETE

Transmit complete.

ZPAL_RADIO_EVENT_RX_BEAM_COMPLETE

Beam received.

ZPAL_RADIO_EVENT_TX_BEAM_COMPLETE

Beam sent.

ZPAL_RADIO_EVENT_RX_ABORT

Receive was aborted.

ZPAL_RADIO_EVENT_TX_FAIL

Transmit failed.

ZPAL_RADIO_EVENT_TX_FAIL_LBT

Transmit failed because of an LBT failure.

ZPAL_RADIO_EVENT_RXTX_CALIBRATE

Radio needs calibration.

ZPAL_RADIO_EVENT_MASK
ZPAL_RADIO_EVENT_FLAG_SUCCESS

Indicates a successful event.

ZPAL_RADIO_EVENT_TX_TIMEOUT

Definition at line 402 of file /mnt/raid/workspaces/ws.T7KR5OZRo/overlay/gsdk/protocol/z-wave/PAL/inc/zpal_radio.h

zpal_radio_status_t#

zpal_radio_status_t
Enumerator
ZPAL_RADIO_STATUS_IDLE
ZPAL_RADIO_STATUS_RX
ZPAL_RADIO_STATUS_TX

RX in progress.

ZPAL_RADIO_STATUS_TX_BEAM

TX in progress.

ZPAL_RADIO_STATUS_RX_BEAM

Beam TX in progress.


Definition at line 418 of file /mnt/raid/workspaces/ws.T7KR5OZRo/overlay/gsdk/protocol/z-wave/PAL/inc/zpal_radio.h

Typedef Documentation#

node_id_t#

typedef uint16_t node_id_t

Node ID type.


Definition at line 211 of file /mnt/raid/workspaces/ws.T7KR5OZRo/overlay/gsdk/protocol/z-wave/PAL/inc/zpal_radio.h

zpal_tx_power_t#

typedef int16_t zpal_tx_power_t

Parameter type to store deci dBm values.


Definition at line 216 of file /mnt/raid/workspaces/ws.T7KR5OZRo/overlay/gsdk/protocol/z-wave/PAL/inc/zpal_radio.h

zpal_radio_callback_t#

typedef void(* zpal_radio_callback_t) (zpal_radio_event_t event) )(zpal_radio_event_t event)

Definition at line 427 of file /mnt/raid/workspaces/ws.T7KR5OZRo/overlay/gsdk/protocol/z-wave/PAL/inc/zpal_radio.h

zpal_radio_receive_handler_t#

typedef void(* zpal_radio_receive_handler_t) (zpal_radio_rx_parameters_t *rx_parameters, zpal_radio_receive_frame_t *frame) )(zpal_radio_rx_parameters_t *rx_parameters, zpal_radio_receive_frame_t *frame)

Function pointer declaration for handling of received frames.

Parameters
[in]rx_parameters

Pointer to the structure with channel and rssi values.

[in]frame

Pointer to the received frame. The frame is expected to be located in Z-Wave stack reserved memory and allocated throughout lifetime of stack processing. Application should copy payload data if required for unsynchronized data processing.

When a frame is received this function will be invoked in order to process the frame.


Definition at line 450 of file /mnt/raid/workspaces/ws.T7KR5OZRo/overlay/gsdk/protocol/z-wave/PAL/inc/zpal_radio.h

Function Documentation#

zpal_radio_set_network_ids#

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.

Parameters
[in]home_id

Network home ID.

[in]node_id

Network node ID.

[in]mode

Radio mode: listening, non-listening or FLiRS.

[in]home_id_hash

Radio mode: listening, non-listening or FLiRS.


Definition at line 512 of file /mnt/raid/workspaces/ws.T7KR5OZRo/overlay/gsdk/protocol/z-wave/PAL/inc/zpal_radio.h

zpal_radio_init#

void zpal_radio_init (zpal_radio_profile_t *const profile)

Initializes the radio.

Parameters
[in]profile

Pointer to the profile with information to configure the radio.


Definition at line 519 of file /mnt/raid/workspaces/ws.T7KR5OZRo/overlay/gsdk/protocol/z-wave/PAL/inc/zpal_radio.h

zpal_radio_change_region#

zpal_status_t zpal_radio_change_region (zpal_radio_region_t region)

Function for changing REGION runtime.

Parameters
[in]region

Region to change to.

Returns


Definition at line 527 of file /mnt/raid/workspaces/ws.T7KR5OZRo/overlay/gsdk/protocol/z-wave/PAL/inc/zpal_radio.h

zpal_radio_get_region#

zpal_radio_region_t zpal_radio_get_region (void )

Function for getting REGION runtime.

Parameters
N/A

Returns

  • Current region.


Definition at line 534 of file /mnt/raid/workspaces/ws.T7KR5OZRo/overlay/gsdk/protocol/z-wave/PAL/inc/zpal_radio.h

zpal_radio_transmit#

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.

Parameters
[in]tx_parameters

Parameter setting specifying speed, channel, wakeup, crc for transmission.

[in]frame_header_length

Length of frame header data to transmit.

[in]frame_header_buffer

Pointer to data array containing the frame header.

[in]frame_payload_length

Length of frame payload data to transmit.

[in]frame_payload_buffer

Pointer to data array containing the frame payload.

[in]use_lbt

if set to 1, LBT will be done prior radioTransmit.

[in]tx_power

The RF tx power to use for transmitting in dBm.

Returns


Definition at line 548 of file /mnt/raid/workspaces/ws.T7KR5OZRo/overlay/gsdk/protocol/z-wave/PAL/inc/zpal_radio.h

zpal_radio_transmit_beam#

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.

Parameters
[in]tx_parameters

Parameter setting specifying speed, channel, wakeup.

[in]beam_data_len

Length of the Beam data to transmit.

[in]beam_data

Pointer to data array containing the BEAM data.

[in]tx_power

The RF tx power to use for transmitting in dbm.

Returns


Definition at line 565 of file /mnt/raid/workspaces/ws.T7KR5OZRo/overlay/gsdk/protocol/z-wave/PAL/inc/zpal_radio.h

zpal_radio_start_receive#

void zpal_radio_start_receive (void )

Starts the receiver and enables reception of frames.

Parameters
N/A

If the receiver is already started, nothing will happen.


Definition at line 574 of file /mnt/raid/workspaces/ws.T7KR5OZRo/overlay/gsdk/protocol/z-wave/PAL/inc/zpal_radio.h

zpal_radio_get_last_received_frame#

void zpal_radio_get_last_received_frame (void )

Function to get last received frame.

Parameters
N/A

If a frame is received, zpal_radio_receive_handler_t will be invoked.


Definition at line 580 of file /mnt/raid/workspaces/ws.T7KR5OZRo/overlay/gsdk/protocol/z-wave/PAL/inc/zpal_radio.h

zpal_radio_power_down#

void zpal_radio_power_down (void )

Powers down the radio transceiver.

Parameters
N/A

Definition at line 585 of file /mnt/raid/workspaces/ws.T7KR5OZRo/overlay/gsdk/protocol/z-wave/PAL/inc/zpal_radio.h

zpal_radio_get_protocol_mode#

zpal_radio_protocol_mode_t zpal_radio_get_protocol_mode (void )

Function to get the protocol mode used in the configured region.

Parameters
N/A

Returns

  • Protocol mode used in the configured region.


Definition at line 592 of file /mnt/raid/workspaces/ws.T7KR5OZRo/overlay/gsdk/protocol/z-wave/PAL/inc/zpal_radio.h

zpal_radio_get_last_beam_channel#

zpal_radio_zwave_channel_t zpal_radio_get_last_beam_channel (void )

Get last beam channel.

Parameters
N/A

Retrieve the channel on which we have last received a beam on.

Returns

  • Last beam channel.


Definition at line 600 of file /mnt/raid/workspaces/ws.T7KR5OZRo/overlay/gsdk/protocol/z-wave/PAL/inc/zpal_radio.h

zpal_radio_get_last_beam_rssi#

int8_t zpal_radio_get_last_beam_rssi (void )

Get last beam RSSI.

Parameters
N/A

Retrieve the RSSI of the last beam received.

Returns

  • Last beam rssi.


Definition at line 608 of file /mnt/raid/workspaces/ws.T7KR5OZRo/overlay/gsdk/protocol/z-wave/PAL/inc/zpal_radio.h

zpal_radio_set_lbt_level#

void zpal_radio_set_lbt_level (uint8_t channel, int8_t level)

Function for setting the LBT RSSI level.

Parameters
[in]channel

uint8_t channel to set LBT threshold for.

[in]level

int8_t LBT RSSI level in dBm.


Definition at line 616 of file /mnt/raid/workspaces/ws.T7KR5OZRo/overlay/gsdk/protocol/z-wave/PAL/inc/zpal_radio.h

zpal_radio_enable_rx_broadcast_beam#

void zpal_radio_enable_rx_broadcast_beam (bool enable)

Enable or disables reception of broadcast beam.

Parameters
[in]enable

true to enable FLiRS broadcast address, false to disable.

Enable or disable FLiRS broadcast address.


Definition at line 624 of file /mnt/raid/workspaces/ws.T7KR5OZRo/overlay/gsdk/protocol/z-wave/PAL/inc/zpal_radio.h

zpal_radio_clear_tx_timers#

void zpal_radio_clear_tx_timers (void )

Function for clearing current Channel Transmit timers.

Parameters
N/A

Definition at line 629 of file /mnt/raid/workspaces/ws.T7KR5OZRo/overlay/gsdk/protocol/z-wave/PAL/inc/zpal_radio.h

zpal_radio_clear_network_stats#

void zpal_radio_clear_network_stats (void )

Function for clearing current Network statistics.

Parameters
N/A

Definition at line 634 of file /mnt/raid/workspaces/ws.T7KR5OZRo/overlay/gsdk/protocol/z-wave/PAL/inc/zpal_radio.h

zpal_radio_rf_channel_statistic_clear#

void zpal_radio_rf_channel_statistic_clear (zpal_radio_zwave_channel_t zwavechannel)

Function for clearing specified rf channel statistics.

Parameters
N/Azwavechannel

rf channel for which statistics will be cleared.


Definition at line 641 of file /mnt/raid/workspaces/ws.T7KR5OZRo/overlay/gsdk/protocol/z-wave/PAL/inc/zpal_radio.h

zpal_radio_rf_channel_statistic_get#

bool zpal_radio_rf_channel_statistic_get (zpal_radio_zwave_channel_t zwavechannel, zpal_radio_rf_channel_statistic_t * p_radio_channel_statistic)
Parameters
N/Azwavechannel

zwave channel for which statistics will be returned.

N/Ap_radio_channel_statistic

pointer to structure where statistics for specified zwave channel should be copied.

Returns

  • true If delivered structure has been filled with current statistic for specified zwavechannel.

  • false If delivered structure has NOT been filled with any channel statistics.


Definition at line 651 of file /mnt/raid/workspaces/ws.T7KR5OZRo/overlay/gsdk/protocol/z-wave/PAL/inc/zpal_radio.h

zpal_radio_rf_channel_statistic_tx_channel_set#

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_radio_rf_channel_statistic_tx_retries and zpal_radio_rf_channel_statistic_tx_lbt_failures.

Parameters
N/Azwavechannel

Z-Wave channel current rf channel statistic 'tx channel' should be set to.


Definition at line 659 of file /mnt/raid/workspaces/ws.T7KR5OZRo/overlay/gsdk/protocol/z-wave/PAL/inc/zpal_radio.h

zpal_radio_rf_channel_statistic_tx_frames#

void zpal_radio_rf_channel_statistic_tx_frames (void )

Function for incrementing the rf channel tx frame statistic.

Parameters
N/A

Definition at line 665 of file /mnt/raid/workspaces/ws.T7KR5OZRo/overlay/gsdk/protocol/z-wave/PAL/inc/zpal_radio.h

zpal_radio_rf_channel_statistic_tx_retries#

void zpal_radio_rf_channel_statistic_tx_retries (void )

Function for incrementing the rf channel tx retries statistic.

Parameters
N/A

Definition at line 671 of file /mnt/raid/workspaces/ws.T7KR5OZRo/overlay/gsdk/protocol/z-wave/PAL/inc/zpal_radio.h

zpal_radio_rf_channel_statistic_tx_lbt_failures#

void zpal_radio_rf_channel_statistic_tx_lbt_failures (void )

Function for incrementing the rf channel tx lbt failures.

Parameters
N/A

Definition at line 677 of file /mnt/raid/workspaces/ws.T7KR5OZRo/overlay/gsdk/protocol/z-wave/PAL/inc/zpal_radio.h

zpal_radio_rf_channel_statistic_background_rssi_average_update#

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.

Parameters
N/Azwavechannel

Z-Wave channel on which background noise rssi average should be updated.

N/Arssi

rssi to add to sampleset used for calculating average background noise rssi on specified Z-Wave channel.


Definition at line 685 of file /mnt/raid/workspaces/ws.T7KR5OZRo/overlay/gsdk/protocol/z-wave/PAL/inc/zpal_radio.h

zpal_radio_rf_channel_statistic_end_device_rssi_average_update#

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.

Parameters
N/Azwavechannel

Z-Wave channel on which end device noise rssi average should be updated.

N/Arssi

rssi to add to sampleset used for calculating average end device noise rssi on specified Z-Wave channel.


Definition at line 693 of file /mnt/raid/workspaces/ws.T7KR5OZRo/overlay/gsdk/protocol/z-wave/PAL/inc/zpal_radio.h

zpal_radio_get_background_rssi#

zpal_status_t zpal_radio_get_background_rssi (uint8_t channel, int8_t * rssi)

Returns the background RSSI.

Parameters
[in]channel

uint8_t channel Id for measurement.

[out]rssi

pointer to background RSSI.

Returns


Definition at line 704 of file /mnt/raid/workspaces/ws.T7KR5OZRo/overlay/gsdk/protocol/z-wave/PAL/inc/zpal_radio.h

zpal_radio_get_default_tx_power#

zpal_tx_power_t zpal_radio_get_default_tx_power (void )

Function for getting the default tx power in deci dBm.

Parameters
N/A

Returns

  • The default RF TX power in deci dBm


Definition at line 711 of file /mnt/raid/workspaces/ws.T7KR5OZRo/overlay/gsdk/protocol/z-wave/PAL/inc/zpal_radio.h

zpal_radio_get_reduce_tx_power#

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.

Parameters
N/A

Returns

  • The current reduce RF TX power in dBm.


Definition at line 718 of file /mnt/raid/workspaces/ws.T7KR5OZRo/overlay/gsdk/protocol/z-wave/PAL/inc/zpal_radio.h

zpal_radio_enable_flirs#

void zpal_radio_enable_flirs (void )

Allows the radio to go into FLiRS receive mode.

Parameters
N/A

Definition at line 723 of file /mnt/raid/workspaces/ws.T7KR5OZRo/overlay/gsdk/protocol/z-wave/PAL/inc/zpal_radio.h

zpal_radio_is_flirs_enabled#

bool zpal_radio_is_flirs_enabled (void )

Returns whether FLiRS mode is enabled in the radio.

Parameters
N/A

Returns

  • True when FLiRS mode is enabled.


Definition at line 730 of file /mnt/raid/workspaces/ws.T7KR5OZRo/overlay/gsdk/protocol/z-wave/PAL/inc/zpal_radio.h

zpal_radio_start_receive_after_power_down#

void zpal_radio_start_receive_after_power_down (bool wait_for_beam)

Starts the receiver after power down.

Parameters
[in]wait_for_beam

If set to true, the radio will listen for a beam. Otherwise, it will listen normally.


Definition at line 738 of file /mnt/raid/workspaces/ws.T7KR5OZRo/overlay/gsdk/protocol/z-wave/PAL/inc/zpal_radio.h

zpal_radio_abort#

void zpal_radio_abort (void )

Turn radio off without changing configuration.

Parameters
N/A

Definition at line 744 of file /mnt/raid/workspaces/ws.T7KR5OZRo/overlay/gsdk/protocol/z-wave/PAL/inc/zpal_radio.h

zpal_radio_reset_after_beam_receive#

void zpal_radio_reset_after_beam_receive (bool start_receiver)

Resets the radio configuration to receive mode after having received a beam.

Parameters
[in]start_receiver

If set to true, the receiver will start listening. Otherwise, it will stay inactive.


Definition at line 752 of file /mnt/raid/workspaces/ws.T7KR5OZRo/overlay/gsdk/protocol/z-wave/PAL/inc/zpal_radio.h

zpal_radio_is_fragmented_beam_enabled#

bool zpal_radio_is_fragmented_beam_enabled (void )

Returns whether use of fragmented beams is enabled or not for the active region.

Parameters
N/A

Returns

  • True if use of fragmented beams is enabled, false otherwise.


Definition at line 759 of file /mnt/raid/workspaces/ws.T7KR5OZRo/overlay/gsdk/protocol/z-wave/PAL/inc/zpal_radio.h

zpal_radio_is_receive_beam_enabled#

bool zpal_radio_is_receive_beam_enabled (void )

Returns whether use of receive beams is enabled or not for the active region.

Parameters
N/A

Returns

  • True if use of fragmented beams is enabled, false otherwise.


Definition at line 766 of file /mnt/raid/workspaces/ws.T7KR5OZRo/overlay/gsdk/protocol/z-wave/PAL/inc/zpal_radio.h

zpal_radio_calibrate#

void zpal_radio_calibrate (void )

Calibrates the radio.

Parameters
N/A

Z-Wave expects the radio ZPAL implementation to generate a ZPAL_RADIO_EVENT_RXTX_CALIBRATE event when calibration is required. The event will invoke this function in non-interrupt context.


Definition at line 773 of file /mnt/raid/workspaces/ws.T7KR5OZRo/overlay/gsdk/protocol/z-wave/PAL/inc/zpal_radio.h

zpal_radio_is_lbt_enabled#

bool zpal_radio_is_lbt_enabled (void )

Returns whether listen before talk (LBT) is enabled.

Parameters
N/A

Returns

  • True if LBT is enabled, false otherwise.


Definition at line 780 of file /mnt/raid/workspaces/ws.T7KR5OZRo/overlay/gsdk/protocol/z-wave/PAL/inc/zpal_radio.h

zpal_radio_get_beam_startup_time#

uint16_t zpal_radio_get_beam_startup_time (void )

Returns the time it takes to start transmission of wake up beams.

Parameters
N/A

Includes time spent on LBT.

Returns

  • startup time in milli seconds.


Definition at line 788 of file /mnt/raid/workspaces/ws.T7KR5OZRo/overlay/gsdk/protocol/z-wave/PAL/inc/zpal_radio.h

zpal_radio_get_beam_node_id#

node_id_t zpal_radio_get_beam_node_id (void )

Returns the node ID associated with most recently received beam frame.

Parameters
N/A

Returns

  • Node ID associated with the most recently received beam frame.


Definition at line 795 of file /mnt/raid/workspaces/ws.T7KR5OZRo/overlay/gsdk/protocol/z-wave/PAL/inc/zpal_radio.h

zpal_radio_get_minimum_lr_tx_power#

zpal_tx_power_t zpal_radio_get_minimum_lr_tx_power (void )

Returns the minimum transmit power for Z-Wave Long Range.

Parameters
N/A

Returns

  • Minimum TX power in dBm.


Definition at line 802 of file /mnt/raid/workspaces/ws.T7KR5OZRo/overlay/gsdk/protocol/z-wave/PAL/inc/zpal_radio.h

zpal_radio_get_maximum_lr_tx_power#

zpal_tx_power_t zpal_radio_get_maximum_lr_tx_power (void )

Returns the maximum transmit power for Z-Wave Long Range.

Parameters
N/A

Returns

  • Maximum TX power in dBm.


Definition at line 809 of file /mnt/raid/workspaces/ws.T7KR5OZRo/overlay/gsdk/protocol/z-wave/PAL/inc/zpal_radio.h

zpal_radio_is_debug_enabled#

bool zpal_radio_is_debug_enabled (void )

Returns whether debug is enabled or disabled.

Parameters
N/A

Returns

  • True if debug is enabled, false otherwise.


Definition at line 816 of file /mnt/raid/workspaces/ws.T7KR5OZRo/overlay/gsdk/protocol/z-wave/PAL/inc/zpal_radio.h

zpal_radio_get_primary_long_range_channel#

zpal_radio_lr_channel_t zpal_radio_get_primary_long_range_channel (void )

Function to read current Primary Long Range Channel.

Parameters
N/A

Returns


Definition at line 823 of file /mnt/raid/workspaces/ws.T7KR5OZRo/overlay/gsdk/protocol/z-wave/PAL/inc/zpal_radio.h

zpal_radio_set_primary_long_range_channel#

zpal_radio_region_t zpal_radio_set_primary_long_range_channel (zpal_radio_lr_channel_t channel)

Function to set the Primary Long Range Channel.

Parameters
[in]channel

zpal_radio_lr_channel_t Long Range Channel to set as Primary Long Range Channel.

Returns

  • Region needed for using the specified Primary Long Range Channel.


Definition at line 832 of file /mnt/raid/workspaces/ws.T7KR5OZRo/overlay/gsdk/protocol/z-wave/PAL/inc/zpal_radio.h

zpal_radio_get_long_range_channel_auto_mode#

bool zpal_radio_get_long_range_channel_auto_mode (void )

Function to read current Long Range Channel selection mode.

Parameters
N/A

Returns

  • true for automatically slected channel, false for manually selected channel


Definition at line 839 of file /mnt/raid/workspaces/ws.T7KR5OZRo/overlay/gsdk/protocol/z-wave/PAL/inc/zpal_radio.h

zpal_radio_set_long_range_channel_auto_mode#

void zpal_radio_set_long_range_channel_auto_mode (bool enable)

Function to set the Long Range Channel selction mode.

Parameters
[in]enable

true to enable the automatically channel selection mode, false to enable the manual channel selection mode


Definition at line 848 of file /mnt/raid/workspaces/ws.T7KR5OZRo/overlay/gsdk/protocol/z-wave/PAL/inc/zpal_radio.h

zpal_radio_set_long_range_lock#

void zpal_radio_set_long_range_lock (bool lock)

Function to the set Long Range channel Locked status.

Parameters
[in]lock

Long Range channel Locked status.


Definition at line 855 of file /mnt/raid/workspaces/ws.T7KR5OZRo/overlay/gsdk/protocol/z-wave/PAL/inc/zpal_radio.h

zpal_radio_is_long_range_locked#

bool zpal_radio_is_long_range_locked (void )

Function to read the Long Range channel Locked status.

Parameters
N/A

Returns

  • True if node shall use Long Range channel only.


Definition at line 862 of file /mnt/raid/workspaces/ws.T7KR5OZRo/overlay/gsdk/protocol/z-wave/PAL/inc/zpal_radio.h

zpal_radio_is_region_supported#

bool zpal_radio_is_region_supported (zpal_radio_region_t region)

Function to check if the stack implementation supports a given region.

Parameters
[in]region

Region to check

Returns

  • True if the region is supported, False if it is not


Definition at line 871 of file /mnt/raid/workspaces/ws.T7KR5OZRo/overlay/gsdk/protocol/z-wave/PAL/inc/zpal_radio.h

zpal_radio_get_flirs_beam_tx_power#

int8_t zpal_radio_get_flirs_beam_tx_power (void )

Read the saved tx power of the last received long-range beam.

Parameters
N/A

Returns

  • The tx power of the last received long-range beam.


Definition at line 878 of file /mnt/raid/workspaces/ws.T7KR5OZRo/overlay/gsdk/protocol/z-wave/PAL/inc/zpal_radio.h

zpal_radio_is_transmit_allowed#

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.

Parameters
[in]channel

The channel to check.

[in]frame_length

The length of the frame to send.

[in]frame_priority

The Tx priority of the frame.

Returns

  • True if node shall use Long Range channel only.

Note

  • In Japan all communication must comply to a max 100ms transmit followed by min 100ms silence period.

  • Cause a channel shift.


Definition at line 892 of file /mnt/raid/workspaces/ws.T7KR5OZRo/overlay/gsdk/protocol/z-wave/PAL/inc/zpal_radio.h

zpal_radio_attenuate#

bool zpal_radio_attenuate (uint8_t adjust_tx_power)

Function to reduce Tx power of classic non-listening devices.

Parameters
[in]adjust_tx_power

Reduces the devices default Tx power in dB. Valid range: 0-9 dB.

Returns

  • True when reduction is allowed, false for listening devices and out of range input.


Definition at line 901 of file /mnt/raid/workspaces/ws.T7KR5OZRo/overlay/gsdk/protocol/z-wave/PAL/inc/zpal_radio.h

zpal_radio_get_maximum_tx_power#

zpal_tx_power_t zpal_radio_get_maximum_tx_power (void )

Return the maximum board supported tx power for classic z-wave.

Parameters
N/A

Returns

  • The maximum board supported tx power in deci dBm.


Definition at line 908 of file /mnt/raid/workspaces/ws.T7KR5OZRo/overlay/gsdk/protocol/z-wave/PAL/inc/zpal_radio.h

zpal_radio_request_calibration#

void zpal_radio_request_calibration (bool forced)

Function to radio calibration.

Parameters
[in]forced

If true, radio calibration is performed regardless if it is required. If false, radio calibration is performed only if it is required.


Definition at line 916 of file /mnt/raid/workspaces/ws.T7KR5OZRo/overlay/gsdk/protocol/z-wave/PAL/inc/zpal_radio.h

Macro Definition Documentation#

ZPAL_RADIO_INVALID_RSSI_DBM#

#define ZPAL_RADIO_INVALID_RSSI_DBM
Value:
(-128)

RSSI value is invalid or not measured.


Definition at line 200 of file /mnt/raid/workspaces/ws.T7KR5OZRo/overlay/gsdk/protocol/z-wave/PAL/inc/zpal_radio.h

ZPAL_RADIO_RSSI_NOT_AVAILABLE#

#define ZPAL_RADIO_RSSI_NOT_AVAILABLE
Value:
(127)

Definition at line 201 of file /mnt/raid/workspaces/ws.T7KR5OZRo/overlay/gsdk/protocol/z-wave/PAL/inc/zpal_radio.h

ZW_TX_POWER_10DBM#

#define ZW_TX_POWER_10DBM
Value:
100

Definition at line 204 of file /mnt/raid/workspaces/ws.T7KR5OZRo/overlay/gsdk/protocol/z-wave/PAL/inc/zpal_radio.h

ZW_TX_POWER_14DBM#

#define ZW_TX_POWER_14DBM
Value:
140

Definition at line 205 of file /mnt/raid/workspaces/ws.T7KR5OZRo/overlay/gsdk/protocol/z-wave/PAL/inc/zpal_radio.h

ZW_TX_POWER_20DBM#

#define ZW_TX_POWER_20DBM
Value:
200

Definition at line 206 of file /mnt/raid/workspaces/ws.T7KR5OZRo/overlay/gsdk/protocol/z-wave/PAL/inc/zpal_radio.h