
Macros | |
| #define | ZB_INIT(trace_comment) |
Functions | |
| zb_ret_t | zboss_start (void) |
| ZBOSS start function. More... | |
| zb_ret_t | zboss_start_no_autostart (void) |
| void | zboss_start_continue (void) |
This feature is not used in regular deliveries and not supported by ZOI official platforms. In case of this feature is required for usage need to define additional structure zb_version_ext_platform_t and function zb_get_version_ext_platform() in platform.
During SDK build, the template file zb_sdk_version.h constants all fields of the zb_version_ext_*_s structure. The template file zb_sdk_version.h should be in the platform, copied to stack/include/ and edited there.
| #define ZB_INIT | ( | trace_comment | ) |
Global stack initialization.
To be called from MAIN() at start.
Usual initialization sequence: ZB_INIT(), then assign some IB values, then zboss_start().
| trace_comment | - trace file name component (valid for Unix, ignored at MCU) |
Example:
| zb_ret_t zboss_start | ( | void | ) |
ZBOSS start function.
Typical device start: init, load some parameters from NVRAM and proceed with startup.
Startup means either Formation (for ZC), rejoin or discovery/association join. After startup complete a signal is sent, so application will know when to do some useful things.
Precondition: stack must be inited by ZB_INIT() call. ZB_INIT() sets default IB parameters, so caller has a chance to change some of them. Note that NVRAM will be loaded after zboss_start() call.
| void zboss_start_continue | ( | void | ) |
Continue ZBOSS start if was starting using zboss_start_no_autostart(), after ZB_ZDO_SIGNAL_SKIP_STARTUP signal.
| zb_ret_t zboss_start_no_autostart | ( | void | ) |
Start ZBOSS with only minimal initialization, without starting commissioning.
This function initializes scheduler and buffers pool, but not MAC and upper layers. Typically zboss_start_no_autostart() is used when application wants to do something before starting joining the network.
ZB_ZDO_SIGNAL_SKIP_STARTUP can then be used to detect when ZBOSS framework has started, to proceed with join/rejoin/formation/BDB initialization
For example, you can use this function if it is needed to enable leds, timers or any other devices on periphery to work with them before starting working in a network. It's also useful if you want to run something locally during joining.
Application should later call ZBOSS commissioning initiation - for instance, bdb_start_top_level_commissioning()
To finish node initialization without triggering commissioning call bdb_start_top_level_commissioning() with commissioning mask 0 (no steering, no formation, initialization only).