name=ZigBee PRO Stack Library
description=The main ZigBee PRO Stack library for parsing, processing, generating and managing the ZigBee PRO stack messages and functionality. 

category=Stack Libraries

qualityString=Production Ready (ZigBee PRO Certified)
quality=production
includedByDefault=true

libraryFiles=$FRAMEWORK/../../build/zigbee-pro-stack-{platformDirectorySuffix}/zigbee-pro-stack.a

providedApis=zigbee-pro,zigbee-pro-routing

requiredApis=antenna

options=childTableSize, packetBufferCount, endDevicePollTimeoutValue, endDevicePollTimeoutShift, linkPowerDeltaInterval, apsMessageQueueSize, broadcastTableSize, neighborTableSize

# This is needed to pair with EMBER_BROADCAST_TABLE_SIZE
setup(macros) {
  -DEMBER_PARAMETERIZED_BROADCAST_TABLE
}

childTableSize.name=Child Table Size
childTableSize.description=The maximum number of ZigBee PRO End Devices that can be supported by a single device.
# 6 is the ZigBee PRO compliant minimum
childTableSize.type=NUMBER:0,64
childTableSize.default=6
childTableSize.define=EMBER_MAX_END_DEVICE_CHILDREN

packetBufferCount.name=Packet Buffer Count
packetBufferCount.description=The maximum number of packet buffers supported by the system.  This is limited by the amount of available RAM.
packetBufferCount.type=NUMBER:20,254
packetBufferCount.default=75
packetBufferCount.define=EMBER_PACKET_BUFFER_COUNT

endDevicePollTimeoutValue.name=End Device Poll Timeout Value
endDevicePollTimeoutValue.description=The amount of time that must pass without hearing a MAC data poll from the device before the end device is removed from the child table.  For a router device this applies to its children.  For an end device, this is the amount of time before it automatically times itself out.
endDevicePollTimeoutValue.type=NUMBER:1,255
endDevicePollTimeoutValue.default=5
endDevicePollTimeoutValue.define=EMBER_END_DEVICE_POLL_TIMEOUT

endDevicePollTimeoutShift.name=End Device Timeout Left Shift Value
endDevicePollTimeoutShift.description=The shift value that will offset the timeout value described above.  The default of 6 gives a timeout value of 64 seconds, or approximately 1 minute.
endDevicePollTimeoutShift.type=NUMBER:1,255
endDevicePollTimeoutShift.default=6
endDevicePollTimeoutShift.define=EMBER_END_DEVICE_POLL_TIMEOUT_SHIFT

linkPowerDeltaInterval.name=Link Power Delta Request Interval
linkPowerDeltaInterval.description=The amount of time in seconds that pass between link power delta requests.
linkPowerDeltaInterval.type=NUMBER:1,65535
linkPowerDeltaInterval.default=300
linkPowerDeltaInterval.define=EMBER_LINK_POWER_DELTA_INTERVAL

apsMessageQueueSize.name=APS Unicast Message Queue Size
apsMessageQueueSize.description=The maximum number of APS unicast messages that can be queued up by the stack.  A message is considered queued when emberSendUnicast() is called and is de-queued when the emberMessageSentHandler() is called.
apsMessageQueueSize.type=NUMBER:1,255
apsMessageQueueSize.define=EMBER_APS_UNICAST_MESSAGE_COUNT
apsMessageQueueSize.default=10

broadcastTableSize.name=Broadcast Table Size
broadcastTableSize.description=The size of the parametrized broadcast table.
broadcastTableSize.type=NUMBER:15,254
broadcastTableSize.default=15
broadcastTableSize.define=EMBER_BROADCAST_TABLE_SIZE

neighborTableSize.name=Neighbor Table Size
neighborTableSize.description=The size of the neighbor table.
neighborTableSize.type=LIST:16,26
neighborTableSize.default=16
neighborTableSize.define=EMBER_NEIGHBOR_TABLE_SIZE
