Power Configuration

Overview

The following sections provides different code and variables to be considered when designing a low-power mesh network. Power management functionality is handled by the FreeRTOS power driver and used by the peripheral drivers (e.g. UART, SPI, I2C, etc).

TX Power Configuration

The following sections provide configurations which can be implemented to modify the application’s TX power, to achieve a greater distance the device can communicate with other devices on the network, or lower the application’s power consumption for a longer battery life in your device. More information can be found in the “Power saving for ZED” section of the ZBOSS User’s Guide.

Changing TX Power Level

By default, the CC23xx projects have the TX power set to 0 dBm. To modify the TX power level during compile time change the SysConfig RF StacksCustom250 kbpsTX Power value. The maximum power level supported for a non-PA CC23xx device in IEEE 802.15.4 mode is 8 dBm.

To change the TX power during runtime to a different value, the best place to call mac_ti23xx_24_set_tx_power is at the end of the mac_ti23xx_radio_init function in ti_f3_mac.c.

Additional Optimizations

To enable the sleepy behavior on an end device, make sure your application calls zb_set_rx_on_when_idle() with the ZB_FALSE parameter. :code:`zb_set_keepalive_timeout ` can be used to determine how often the ZED wakes up and sends a keepalive message to its parent.

Additionally, shutting down the external flash can save on current consumption. This is currently handled with Board_init from main()