Multi Rail Demo#

API and Callbacks for the Multi Rail Demo Component.

This component provides the sample code for using dual RAIL instances. It includes a simple CLI to demonstrate the functionality.

Modules#

Multirail Demo

API#

RAIL_Handle_t
emberAfPluginMultirailDemoInit(RAIL_Config_t *railCfg, RAIL_TxPowerConfig_t *txPowerConfig, bool paAutoMode, RAIL_TxPower_t defaultTxPower, uint8_t *txFifo, uint16_t txFifoSize, uint16_t panId, const uint8_t *ieeeAddr)

Initialize a new RAIL handle.

RAIL_Handle_t

Return the second RAIL handle.

RAIL_Status_t
emberAfPluginMultirailDemoSend(const uint8_t *buff, uint32_t size, uint8_t channel, RAIL_ScheduleTxConfig_t *scheduledTxConfig, RAIL_SchedulerInfo_t *schedulerInfo)

Send a packet using the second RAIL instance.

API Documentation#

emberAfPluginMultirailDemoInit#

RAIL_Handle_t emberAfPluginMultirailDemoInit (RAIL_Config_t *railCfg, RAIL_TxPowerConfig_t *txPowerConfig, bool paAutoMode, RAIL_TxPower_t defaultTxPower, uint8_t *txFifo, uint16_t txFifoSize, uint16_t panId, const uint8_t *ieeeAddr)

Initialize a new RAIL handle.

Parameters
N/ArailCfg

RAIL init options (NULL to use the current Zigbee config)

N/AtxPowerConfig

RAIL power options (NULL to use defaults)

N/ApaAutoMode

Whether an automatic PA mode is enabled

N/AdefaultTxPower

Default TX power in deci-dBm

N/AtxFifo

Pointer to a TX FIFO buffer (NULL to use the default)

N/AtxFifoSize

Size of the TX buffer

N/ApanId

PAN ID (use 0xFFFF if not needed)

N/AieeeAddr

Long IEEE address (use NULL if not needed)

Returns

  • New RAIL handle, NULL if not successfully initialized.


Definition at line 62 of file app/framework/plugin/multirail-demo/multirail-demo.h

emberAfPluginMultirailDemoGetHandle#

RAIL_Handle_t emberAfPluginMultirailDemoGetHandle (void)

Return the second RAIL handle.

Parameters
N/A

Returns

  • The second RAIL handle. Null if not initialized.


Definition at line 75 of file app/framework/plugin/multirail-demo/multirail-demo.h

emberAfPluginMultirailDemoSend#

RAIL_Status_t emberAfPluginMultirailDemoSend (const uint8_t *buff, uint32_t size, uint8_t channel, RAIL_ScheduleTxConfig_t *scheduledTxConfig, RAIL_SchedulerInfo_t *schedulerInfo)

Send a packet using the second RAIL instance.

Parameters
N/Abuff

Pointer to the data (make sue it is properly formatted)

N/Asize

Size of the data

N/Achannel

Channel (11-26, or 0 to use the current Zigbee channel)

N/AscheduledTxConfig

(optional)

N/AschedulerInfo

(optional) Scheduler configuration (NULL to use defaults)

Returns

  • RAIL status.


Definition at line 87 of file app/framework/plugin/multirail-demo/multirail-demo.h