Add support for CC2652 based adapters, these use firmware from Koenkk which is based on Z-Stack 3.X.0, because this supporst Zigbee 3.0 there are some differences to the initialisation of the adapter. To do this, we will need to:
Query the version of the adapter with SYS_VERSION, alternatively it's also returned in SYS_RESET_IND.
zStack 1.2.0 is indicated by 0, 3.x.0 is indiciated by 1 and 3.0.x is indiciated by 2. (No not a typo).
Based upon the SysResetInd.ProductID we can switch initialisation behaviour, if the device does not return a valid version, then assume CC2531 behaviour.
If > 1.2.0, when verifying if the network configuration is correct, if the PANID reads as 0xffff, then it is not a failure.
If == 3.x.0, then reading the network key uses a different call.
If > 1.2.0, during initialisation:
the trust centre key does not need to be written (already valid)
writing network key is done different.
the base device behaviour system must be initialised, with the channel, wait for start, then start comissioning.
Add support for CC2652 based adapters, these use firmware from Koenkk which is based on Z-Stack 3.X.0, because this supporst Zigbee 3.0 there are some differences to the initialisation of the adapter. To do this, we will need to:
CC2531
CC2653
zStack 1.2.0 is indicated by 0, 3.x.0 is indiciated by 1 and 3.0.x is indiciated by 2. (No not a typo).
Based upon the SysResetInd.ProductID we can switch initialisation behaviour, if the device does not return a valid version, then assume CC2531 behaviour.
Zigbee herdsman implementation can be found here: https://github.com/Koenkk/zigbee-herdsman/blob/master/src/adapter/z-stack/adapter/startZnp.ts