nRF5 SDK for Thread and Zigbee v1.0.0
 All Data Structures Functions Variables Typedefs Enumerations Enumerator Groups Pages
ZLL Common constants, structures and functions

Macros

#define ZB_COMPILE_ZLL_SAMPLE
 
#define ZB_ZLL_APLC_INTRP_TRANSID_LIFETIME   ( ZB_MILLISECONDS_TO_BEACON_INTERVAL(8000))
 ZLL.aplcInterPANTransIdLifetime constant value. More...
 
#define ZB_ZLL_APLC_SCAN_TIME_BASE_DURATION   ( ZB_MILLISECONDS_TO_BEACON_INTERVAL(250))
 ZLL.aplcScanTimeBaseDuration constant value. More...
 
#define ZB_ZLL_APLC_RX_WINDOW_DURATION   (ZB_MILLISECONDS_TO_BEACON_INTERVAL(5000))
 ZLL.aplcRxWindowDuration constant value. More...
 
#define ZB_ZLL_APLC_MIN_STARTUP_DELAY_TIME   (ZB_MILLISECONDS_TO_BEACON_INTERVAL(2000))
 ZLL.aplcMinStartupDelayTime. More...
 
#define ZB_ZLL_RSSI_THRESHOLD   47
 Minimum RSSI value to process ScanRequest packets.
 
#define ZB_ZLL_REPORT_ATTR_COUNT   0
 
#define ZLL_SET_CHANNEL(buf_idx, channel, callback)
 Changes channel. More...
 
#define ZLL_CTX()   (ZG->zll)
 Access ZLL global context.
 

Enumerations

enum  zb_zll_cluster_id_e { ZB_ZLL_CLUSTER_ID_COMMISSIONING = 0x1000 }
 Identifiers for clusters specific to ZLL profile. More...
 
enum  zb_zll_device_e {
  ZB_ZLL_ON_OFF_LIGHT_DEVICE_ID = 0x0000, ZB_ZLL_ON_OFF_PLUGIN_UNIT_DEVICE_ID = 0x0010, ZB_ZLL_DIMMABLE_LIGHT_DEVICE_ID = 0x0100, ZB_ZLL_DIMMABLE_PLUGIN_UNIT_DEVICE_ID = 0x0110,
  ZB_ZLL_COLOR_LIGHT_DEVICE_ID = 0x0200, ZB_ZLL_EXTENDED_COLOR_LIGHT_DEVICE_ID = 0x0210, ZB_ZLL_COLOR_TEMPERATURE_LIGHT_DEVICE_ID = 0x0220, ZB_ZLL_COLOR_CONTROLLER_DEVICE_ID = 0x0800,
  ZB_ZLL_COLOR_SCENE_CONTROLLER_DEVICE_ID = 0x0810, ZB_ZLL_NON_COLOR_CONTROLLER_DEVICE_ID = 0x0820, ZB_ZLL_NON_COLOR_SCENE_CONTROLLER_DEVICE_ID = 0x0830, ZB_ZLL_CONTROL_BRIDGE_DEVICE_ID = 0x0840,
  ZB_ZLL_ON_OFF_SENSOR_DEVICE_ID = 0x0850
}
 ZLL device identifiers. More...
 
enum  zb_zll_transaction_task_e {
  ZB_ZLL_NO_TASK, ZB_ZLL_DEVICE_START_TASK, ZB_ZLL_DEVICE_DISCOVERY_TASK, ZB_ZLL_IDENTIFY_TASK,
  ZB_ZLL_TRANSACTION_NWK_START_TASK, ZB_ZLL_TRANSACTION_NWK_START_TASK_TGT, ZB_ZLL_TRANSACTION_JOIN_ROUTER_TASK, ZB_ZLL_TRANSACTION_JOIN_ROUTER_TASK_TGT,
  ZB_ZLL_TRANSACTION_JOIN_ED_TASK, ZB_ZLL_TRANSACTION_JOIN_ED_TASK_TGT, ZB_ZLL_TRANSACTION_RESET, ZB_ZLL_START_COMMISSIONING,
  ZB_ZLL_COMMISSIONED
}
 

Functions

zb_void_t zll_init (zb_void_t)
 Initializes ZLL device.
 
zb_ret_t zb_zll_dev_start (zb_void_t)
 Starts ZLL device. More...
 
zb_void_t zll_continue_start (zb_uint8_t param)
 Finishes startup sequence. More...
 
zb_void_t zll_direct_join_confirm (zb_uint8_t param)
 Finishes NLME-DIRECT-JOIN.confirm handling for start new network procedure. More...
 
zb_void_t zll_process_device_command (zb_uint8_t param)
 Main loop of process commissioning command. More...
 

Detailed Description

ZLL Common constants, structures and functions

Macro Definition Documentation

#define ZB_ZLL_APLC_INTRP_TRANSID_LIFETIME   ( ZB_MILLISECONDS_TO_BEACON_INTERVAL(8000))

ZLL.aplcInterPANTransIdLifetime constant value.

See also
ZLL spec, subclause 8.1.8.
#define ZB_ZLL_APLC_MIN_STARTUP_DELAY_TIME   (ZB_MILLISECONDS_TO_BEACON_INTERVAL(2000))

ZLL.aplcMinStartupDelayTime.

See also
ZLL spec, subclause 8.1.8.
#define ZB_ZLL_APLC_RX_WINDOW_DURATION   (ZB_MILLISECONDS_TO_BEACON_INTERVAL(5000))

ZLL.aplcRxWindowDuration constant value.

See also
ZLL spec, subclause 8.1.8.
#define ZB_ZLL_APLC_SCAN_TIME_BASE_DURATION   ( ZB_MILLISECONDS_TO_BEACON_INTERVAL(250))

ZLL.aplcScanTimeBaseDuration constant value.

See also
ZLL spec, subclause 8.1.8.
#define ZB_ZLL_REPORT_ATTR_COUNT   0

No attributes for reporting in ZLL profile.

#define ZLL_SET_CHANNEL (   buf_idx,
  channel,
  callback 
)
Value:
{ \
nwk_txstat_clear(); \
zb_nwk_pib_set((buf_idx), ZB_PHY_PIB_CURRENT_CHANNEL, &(channel), 1, (callback)); \
}
#define ZB_PIBCACHE_CURRENT_CHANNEL()
Definition: zboss_api_nwk.h:181

Changes channel.

Parameters
buf_idx[IN] - reference to the buffer to put request to.
channel[IN] - channel number to set.
callback[IN] - callback to be scheduled on operation finish.

Enumeration Type Documentation

Identifiers for clusters specific to ZLL profile.

Enumerator
ZB_ZLL_CLUSTER_ID_COMMISSIONING 

ZLL.Commissioning cluster identifier.

ZLL device identifiers.

Enumerator
ZB_ZLL_ON_OFF_LIGHT_DEVICE_ID 

On/Off light.

ZB_ZLL_ON_OFF_PLUGIN_UNIT_DEVICE_ID 

On/Off light plugin.

ZB_ZLL_DIMMABLE_LIGHT_DEVICE_ID 

Dimmable light.

ZB_ZLL_DIMMABLE_PLUGIN_UNIT_DEVICE_ID 

Dimmable light plugin.

ZB_ZLL_COLOR_LIGHT_DEVICE_ID 

Color light.

ZB_ZLL_EXTENDED_COLOR_LIGHT_DEVICE_ID 

Extended color light.

ZB_ZLL_COLOR_TEMPERATURE_LIGHT_DEVICE_ID 

Color temperature light.

ZB_ZLL_COLOR_CONTROLLER_DEVICE_ID 

Color controller.

ZB_ZLL_COLOR_SCENE_CONTROLLER_DEVICE_ID 

Color scene controller.

ZB_ZLL_NON_COLOR_CONTROLLER_DEVICE_ID 

Non-color controller.

ZB_ZLL_NON_COLOR_SCENE_CONTROLLER_DEVICE_ID 

Non-color scene controller.

ZB_ZLL_CONTROL_BRIDGE_DEVICE_ID 

Control bridge.

ZB_ZLL_ON_OFF_SENSOR_DEVICE_ID 

On/Off sensor.

ZLL transaction states

Enumerator
ZB_ZLL_NO_TASK 

No specific task.

ZB_ZLL_DEVICE_START_TASK 

Device startup.

ZB_ZLL_DEVICE_DISCOVERY_TASK 

Device info gathering (device discovery routine).

ZB_ZLL_IDENTIFY_TASK 

Identify process requested/started. Initiator only

ZB_ZLL_TRANSACTION_NWK_START_TASK 

Start network. Initiator only

ZB_ZLL_TRANSACTION_NWK_START_TASK_TGT 

Start network. Target only

ZB_ZLL_TRANSACTION_JOIN_ROUTER_TASK 

Network join router process requested/started.

ZB_ZLL_TRANSACTION_JOIN_ROUTER_TASK_TGT 

Network join router process requested/started (target side)

ZB_ZLL_TRANSACTION_JOIN_ED_TASK 

Network join end device requested/started.

ZB_ZLL_TRANSACTION_JOIN_ED_TASK_TGT 

Network join end device process requested/started (target side)

ZB_ZLL_TRANSACTION_RESET 

Reset process requested

ZB_ZLL_START_COMMISSIONING 

Device start commissioning

ZB_ZLL_COMMISSIONED 

Fake task id. It is used to inform user App on target side that device commissioning is complete

Function Documentation

zb_ret_t zb_zll_dev_start ( zb_void_t  )

Starts ZLL device.

Returns
Startup sequence schedule status (see zb_ret_t):
  • RET_OK on success;
  • RET_OVERFLOW on callback ring buffer overflow.
On process start device invoke one or more times user fuction zb_zdo_startup_complete with zb_zll_transaction_task_status_t as buffer:
zb_buf_t* buffer = ZB_BUF_FROM_REF(param);
TRACE_MSG(TRACE_ZLL3, "> zb_zdo_startup_complete %hd status %hd", (FMT__H_H, param, task_status->task));
task_status->task - see zb_zll_transaction_task_e task_status->status - see zb_zll_task_status_e
zb_void_t zll_continue_start ( zb_uint8_t  param)

Finishes startup sequence.

Parameters
param[IN] - reference to the buffer to put task status notification to.
zb_void_t zll_direct_join_confirm ( zb_uint8_t  param)

Finishes NLME-DIRECT-JOIN.confirm handling for start new network procedure.

Parameters
param[IN] - reference to the buffer containing operation status infotmation.
zb_void_t zll_process_device_command ( zb_uint8_t  param)

Main loop of process commissioning command.

Parameters
param[IN] - reference to the buffer containing parameters of commissioning command zb_zcl_parsed_hdr_s