name=NCP Configuration
description=This plugin controls how the Network Co-processor is configured.  It is only applicable to host based applications (not SOC). Users of this plugin should make sure that their NCP can support the configuration values that are set here as plugin options. For more information regarding table size limits for the default released NCP binary application, users should consult UG100, the EZSP Reference Guide. If users wish to use an NCP with a different configuration, they should build their an xNCP application using the NCP Application Framework.

category=Utility

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

providedApis=binding,cbke163k1,cbke283k1,cbke-dsa-verify,gp,mfglib,multi-network,zigbee-pro,zigbee-pro-routing,zll,security

sourceFilesHost=ncp-configuration.c

implementedCallbacks=emberAfPluginNcpConfigurationNcpInitCallback

includedByDefault=true

options=bindingTableSize, childTableSize, endDevicePollTimeoutValue, endDevicePollTimeoutShift, keyTableSize, zllGroupAddresses, zllRssiThreshold, transientKeyTimeout

bindingTableSize.name=Binding Table Size
bindingTableSize.description=The number of entries that the binding table can hold.
bindingTableSize.type=NUMBER:0,127
bindingTableSize.default=2
bindingTableSize.define=EMBER_BINDING_TABLE_SIZE

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:6,64
childTableSize.default=6
childTableSize.define=EMBER_MAX_END_DEVICE_CHILDREN

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

keyTableSize.name=Link Key Table Size
keyTableSize.description=The maximum number of link key table entries supported by the stack.
# 127 is the max size of the indexed token type in the SimEEPROM token system
keyTableSize.type=NUMBER:0,127
keyTableSize.default=conf.evaluateToken("SmartEnergySecurity") ? 12 : 0
keyTableSize.define=EMBER_KEY_TABLE_SIZE

zllGroupAddresses.name=ZLL group addresses
zllGroupAddresses.description=The number of unique group identifiers that this device requires.
zllGroupAddresses.type=NUMBER:0,255
zllGroupAddresses.default=0
zllGroupAddresses.define=EMBER_ZLL_GROUP_ADDRESSES

zllRssiThreshold.name=ZLL RSSI threshold
zllRssiThreshold.description=The RSSI threshold applied to incoming scan requests.  The stack will ignore scan requests with corrected RSSI values less than this threshold.
zllRssiThreshold.type=NUMBER:-128,127
zllRssiThreshold.default=-128
zllRssiThreshold.define=EMBER_ZLL_RSSI_THRESHOLD

transientKeyTimeout.name=Transient key timeout (in seconds)
transientKeyTimeout.description=The amount of time a trust center will store a transient key with which a device can use to join the network.
transientKeyTimeout.type=NUMBER:0x0000,0xFFFF
transientKeyTimeout.default=300
transientKeyTimeout.define=EMBER_TRANSIENT_KEY_TIMEOUT_S
