Skip to content

Commit

Permalink
Z-Stack_3.x.0 coordinator 20240710
Browse files Browse the repository at this point in the history
  • Loading branch information
Koenkk committed Aug 24, 2024
1 parent 15c2704 commit 85d2fc7
Show file tree
Hide file tree
Showing 16 changed files with 186,703 additions and 631 deletions.
26 changes: 23 additions & 3 deletions coordinator/Z-Stack_3.x.0/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,70 +1,90 @@
# 20240710

- Fixed firmware instability issues introduced in the 20230507 firmware
- Fix `NWK_TABLE_FULL` errors
- SimpleLink SDK 7.41.00.17

# 20230507

- Enable child aging to fix issues like [#13478](https://github.com/Koenkk/zigbee2mqtt/issues/13478) (but not for older Xiaomi devices as they do not implement child aging correctly which gets them kicked out of the network)
- Increase message timeout from 7 to 8 seconds to increase message delivery success rate for devices using a 7.5 seconds poll interval ([#13478](https://github.com/Koenkk/zigbee2mqtt/issues/13478#issuecomment-1501188485))
- Improve performance with larger network
- Optimize table sizes
- Increase `stack_size` from `1024` to `8192`
- Optimize table sizes
- Increase `stack_size` from `1024` to `8192`
- Add firmware for CC1352P7 and CC2652R7
- SimpleLink SDK 7.10.00.98

# 20221226

- Improve performance/reliability for larger network (100+ devices)
- Increase request retry attempts
- Increase routing table sizes
- SimpleLink SDK 6.10.01.01 ([changelog](https://software-dl.ti.com/simplelink/esd/simplelink_cc13xx_cc26xx_sdk/6.10.01.01/exports/changelog.html))

# 20220219

- Fix Touchlink crash
- SimpleLink SDK 5.40.00.40 ([changelog](https://software-dl.ti.com/simplelink/esd/simplelink_cc13xx_cc26xx_sdk/5.40.00.40/exports/changelog.html))

# 20211217

- SimpleLink SDK 5.30.01.01 ([changelog](https://software-dl.ti.com/simplelink/esd/simplelink_cc13xx_cc26xx_sdk/5.30.01.01/exports/changelog.html))
- Increase memory heap
- Turn on/off leds when joining is enabled/disabled
- Fix Xiaomi E1 devices not (fully) working
- Allow setting transmit power for CC2652P/CC1352P greater than 5dBm (max 20dBm), default transmit power is set to 9dBm

# 20210708

- SimpleLink SDK 5.10.00.48 ([changelog](http://software-dl.ti.com/simplelink/esd/simplelink_cc13x2_26x2_sdk/5.10.00.48/exports/changelog.html))
- Increase MAC buffers, increases performance on message burst and reduces MAC_TRANSACTION_OVERFLOW errors
- LED control
- Fix joining not working when joining is only permitted on specific router
- Forward message to host even when profileID does not match

# 20210120

- Optimize network parameters (according to https://www.ti.com/lit/an/swra650b/swra650b.pdf)
- Change default CC2652R/CC2652RB/CC1352P-2/CC2652P transmit power from 0dBm to 5dBm
- Potential fix for Hue end devices disconnecting
- SimpleLink SDK 4.40.00.44 ([changelog](http://software-dl.ti.com/simplelink/esd/simplelink_cc13x2_26x2_sdk/4.40.00.44/exports/changelog.html))

# 20201026

- SimpleLink SDK 4.30.00.54 ([changelog](http://software-dl.ti.com/simplelink/esd/simplelink_cc13x2_26x2_sdk/4.30.00.54/exports/changelog.html))
- Expose `AssocAdd` function

# 20200925

- SimpleLink SDK 4.20.01.04 ([changelog](http://software-dl.ti.com/simplelink/esd/simplelink_cc13x2_26x2_sdk/4.20.01.04/exports/changelog.html))
- Allow support for Samsung SmartThings PGC410EU presence sensor ([link](https://github.com/Koenkk/zigbee2mqtt/issues/4055))
- Fix commands to long sleeping end devices failing when directly connected to coordinator (e.g. Xiaomi JTYJ-GD-01LM/BW)

# 20200805

- Expose `AssocRemove` function
- SimpleLink SDK 4.20.00.35 ([changelog](http://software-dl.ti.com/simplelink/esd/simplelink_cc13x2_26x2_sdk/4.20.00.35/exports/changelog.html))

# 20200417

- SimpleLink SDK 4.10.00.78 ([changelog](http://software-dl.ti.com/simplelink/esd/simplelink_cc13x2_26x2_sdk/4.10.00.78/exports/changelog.html)) (+ SimpleLink SDK 3.40.00.02 ([changelog](http://software-dl.ti.com/simplelink/esd/simplelink_cc13x2_26x2_sdk/3.40.00.02/exports/changelog.html)))
- Remove and rediscover route on source route failure (should fix issues with e.g. Hue enddevices dropping off) ([more info](https://e2e.ti.com/support/wireless-connectivity/zigbee-and-thread/f/158/t/883629))
- Fix devices not able to reconnect when attempt unsecured rejoin ([more info](https://e2e.ti.com/support/wireless-connectivity/zigbee-and-thread/f/158/p/882650/3265311))
- Enable parent announce, fixes devices not reachable when changing parents while coordinator is down.

# 20191106

- Increase max number of Zigbee 3.0 devices that can join to 200

# 20191015

- Increased group command buffer

# 20191010

- Update to `SIMPLELINK-CC13X2-26X2-SDK_3.30.00.03`
- Add CC1352P_2 firmware

# 20190426
- Initial version.

- Initial version.
44 changes: 27 additions & 17 deletions coordinator/Z-Stack_3.x.0/COMPILE.md
Original file line number Diff line number Diff line change
@@ -1,27 +1,37 @@
# Compiling the firmware

## Setup development environment
1. Download and install [simplelink_cc13xx_cc26xx_sdk_7_10_00_98](https://www.ti.com/tool/SIMPLELINK-CC13XX-CC26XX-SDK#downloads)
1. Download and install [Code Composer Studio 12.3.0.00005](http://www.ti.com/tool/CCSTUDIO)

1. Download and install [SIMPLELINK-LOWPOWER-F2-SDK 7.41.00.17](https://www.ti.com/tool/download/SIMPLELINK-LOWPOWER-F2-SDK/7.41.00.17)
1. Download and install [Code Composer Studio 12.6.0](https://www.ti.com/tool/download/CCSTUDIO/12.6.0)

## Compiling
1. Create a folder called `workspace` in the folder where the SDK is installed. In the SDK installation folder you should see files like `Makefile` and `license_simplelink_cc13xx_cc26xx_sdk_7_10_00_98.txt`.

1. Create a folder called `workspace` in the folder where the SDK is installed. In the SDK installation folder you should see files like `Makefile` and `license_simplelink_cc13xx_cc26xx_sdk_7_41_00_17.txt`.
1. Start Code Composer Studio, it will ask you to select a workspace folder, select the `workspace` folder you created in the previous step.
1. Go to *File -> Import -> Code Composer Studio -> CCS Projects -> Select* search-directory: `simplelink_cc13xx_cc26xx_sdk_7_10_00_98/examples/rtos`.
1. Go to _File -> Import -> Code Composer Studio -> CCS Projects -> Select_ search-directory: `simplelink_cc13xx_cc26xx_sdk_7_41_00_17/examples/rtos`.
1. Select:
- `znp_CC1352P_2_LAUNCHXL_tirtos7_ticlang`
- `znp_CC26X2R1_LAUNCHXL_tirtos7_ticlang`
- `znp_LP_CC1352P7_4_tirtos7_ticlang`
- `znp_LP_CC2652R7_tirtos7_ticlang`
- `znp_LP_CC2652RB_tirtos7_ticlang`
1. Press *Finish*.
- `znp_CC1352P_2_LAUNCHXL_tirtos7_ticlang`
- `znp_CC26X2R1_LAUNCHXL_tirtos7_ticlang`
- `znp_LP_CC1352P7_4_tirtos7_ticlang`
- `znp_LP_CC2652R7_tirtos7_ticlang`
- `znp_LP_CC2652RB_tirtos7_ticlang`
1. Press _Finish_.
1. In Code Composer Studio, expand the 5 projects and for each open `znp.syscfg`, expand `Power Management` and change `Minimal Poll Period (ms)` to `1000`, change it back to `100` immediately and save the file.
1. Copy `firmware.patch` to the SDK installation folder, open a Git Bash in this folder and apply the patch using `git apply firmware.patch --ignore-space-change`.
1. Build the 5 projects; right click -> *Build project*.
- **Important:** by default the **launchpad** variant of the CC1352P2_CC2652P (= `znp_CC1352P_2_LAUNCHXL_tirtos7_ticlang`) is build. To build the **other** variant comment `#define LAUNCHPAD_CONFIG 1` in `preinclude.h` (located under `Stack/Config/`), don't forget to save.
1. Build the 5 projects; right click -> _Build project_.
- **Important:** by default the **launchpad** variant of the CC1352P2_CC2652P (= `znp_CC1352P_2_LAUNCHXL_tirtos7_ticlang`) is build. To build the **other** variant comment `#define LAUNCHPAD_CONFIG 1` in `preinclude.h` (located under `Stack/Config/`), don't forget to save.
1. Once finished, the firmware can be found under `znp_*_tirtos7_ticlang/default/znp_*_tirtos7_ticlang.hex`
- `znp_CC1352P_2_LAUNCHXL_tirtos7_ticlang.hex` -> CC1352P-2 and CC2652P based boards
- `znp_CC26X2R1_LAUNCHXL_tirtos7_ticlang.hex` -> CC2652R based boards
- `znp_LP_CC1352P7_4_tirtos7_ticlang.hex` -> CC1352P7 based boards
- `znp_LP_CC2652R7_tirtos7_ticlang.hex` -> CC2652R7 based boards
- `znp_LP_CC2652RB_tirtos7_ticlang.hex` -> CC2652RB based boards
- `znp_CC1352P_2_LAUNCHXL_tirtos7_ticlang.hex` -> CC1352P-2 and CC2652P based boards
- `znp_CC26X2R1_LAUNCHXL_tirtos7_ticlang.hex` -> CC2652R based boards
- `znp_LP_CC1352P7_4_tirtos7_ticlang.hex` -> CC1352P7 based boards
- `znp_LP_CC2652R7_tirtos7_ticlang.hex` -> CC2652R7 based boards
- `znp_LP_CC2652RB_tirtos7_ticlang.hex` -> CC2652RB based boards

## Binary `maclib_*.a` changes in `firmware.patch`

Note that the `firmware.patch` patches the binary `maclib_*.a` files.
These changes are required to fix the coordinator crashing when the TX power is set to 5+.
In SDK 7.10.02.23 TI made changes to `macSetTxPowerVal` which introduced this issue.
The patch reverts these changes.
The patched `maclib_*.a` files were provided by a TI employee and will only work for the 7.41.00.17 SDK.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading

0 comments on commit 85d2fc7

Please sign in to comment.