diff --git a/coordinator/Z-Stack_Home_1.2/CHANGELOG.md b/coordinator/Z-Stack_Home_1.2/CHANGELOG.md index d45b6ed..2ec3c34 100644 --- a/coordinator/Z-Stack_Home_1.2/CHANGELOG.md +++ b/coordinator/Z-Stack_Home_1.2/CHANGELOG.md @@ -1,3 +1,10 @@ +# 20211115/20211116 +- Fix joining not working when joining is only permitted on specific router +- Forward message to host even when profileID does not match +- Turn on/off leds when joining is enabled/disabled +- Fix CC2530 crashing when sending large messages via UART +- Fix Xiaomi E1 devices not (fully) working + # 20201127/20201128 - Fix join failing after some uptime - Support PGC410EU diff --git a/coordinator/Z-Stack_Home_1.2/bin/default/CC2530_CC2591_DEFAULT_20201127.zip b/coordinator/Z-Stack_Home_1.2/bin/default/CC2530_CC2591_DEFAULT_20201127.zip deleted file mode 100644 index 9bbabbe..0000000 Binary files a/coordinator/Z-Stack_Home_1.2/bin/default/CC2530_CC2591_DEFAULT_20201127.zip and /dev/null differ diff --git a/coordinator/Z-Stack_Home_1.2/bin/default/CC2530_CC2591_DEFAULT_20211115.zip b/coordinator/Z-Stack_Home_1.2/bin/default/CC2530_CC2591_DEFAULT_20211115.zip new file mode 100644 index 0000000..99f8290 Binary files /dev/null and b/coordinator/Z-Stack_Home_1.2/bin/default/CC2530_CC2591_DEFAULT_20211115.zip differ diff --git a/coordinator/Z-Stack_Home_1.2/bin/default/CC2530_CC2592_DEFAULT_20201127.zip b/coordinator/Z-Stack_Home_1.2/bin/default/CC2530_CC2592_DEFAULT_20201127.zip deleted file mode 100644 index bec6330..0000000 Binary files a/coordinator/Z-Stack_Home_1.2/bin/default/CC2530_CC2592_DEFAULT_20201127.zip and /dev/null differ diff --git a/coordinator/Z-Stack_Home_1.2/bin/default/CC2530_CC2592_DEFAULT_20211115.zip b/coordinator/Z-Stack_Home_1.2/bin/default/CC2530_CC2592_DEFAULT_20211115.zip new file mode 100644 index 0000000..4793b1b Binary files /dev/null and b/coordinator/Z-Stack_Home_1.2/bin/default/CC2530_CC2592_DEFAULT_20211115.zip differ diff --git a/coordinator/Z-Stack_Home_1.2/bin/default/CC2530_DEFAULT_20201127.zip b/coordinator/Z-Stack_Home_1.2/bin/default/CC2530_DEFAULT_20201127.zip deleted file mode 100644 index 7130126..0000000 Binary files a/coordinator/Z-Stack_Home_1.2/bin/default/CC2530_DEFAULT_20201127.zip and /dev/null differ diff --git a/coordinator/Z-Stack_Home_1.2/bin/default/CC2530_DEFAULT_20211115.zip b/coordinator/Z-Stack_Home_1.2/bin/default/CC2530_DEFAULT_20211115.zip new file mode 100644 index 0000000..c798c05 Binary files /dev/null and b/coordinator/Z-Stack_Home_1.2/bin/default/CC2530_DEFAULT_20211115.zip differ diff --git a/coordinator/Z-Stack_Home_1.2/bin/default/CC2531_DEFAULT_20201127.zip b/coordinator/Z-Stack_Home_1.2/bin/default/CC2531_DEFAULT_20201127.zip deleted file mode 100644 index 4f09d70..0000000 Binary files a/coordinator/Z-Stack_Home_1.2/bin/default/CC2531_DEFAULT_20201127.zip and /dev/null differ diff --git a/coordinator/Z-Stack_Home_1.2/bin/default/CC2531_DEFAULT_20211115.zip b/coordinator/Z-Stack_Home_1.2/bin/default/CC2531_DEFAULT_20211115.zip new file mode 100644 index 0000000..4e52ddb Binary files /dev/null and b/coordinator/Z-Stack_Home_1.2/bin/default/CC2531_DEFAULT_20211115.zip differ diff --git a/coordinator/Z-Stack_Home_1.2/bin/source_routing/CC2530_CC2591_SOURCE_ROUTING_20201128.zip b/coordinator/Z-Stack_Home_1.2/bin/source_routing/CC2530_CC2591_SOURCE_ROUTING_20201128.zip deleted file mode 100644 index 836fec8..0000000 Binary files a/coordinator/Z-Stack_Home_1.2/bin/source_routing/CC2530_CC2591_SOURCE_ROUTING_20201128.zip and /dev/null differ diff --git a/coordinator/Z-Stack_Home_1.2/bin/source_routing/CC2530_CC2591_SOURCE_ROUTING_20211116.zip b/coordinator/Z-Stack_Home_1.2/bin/source_routing/CC2530_CC2591_SOURCE_ROUTING_20211116.zip new file mode 100644 index 0000000..9f504a5 Binary files /dev/null and b/coordinator/Z-Stack_Home_1.2/bin/source_routing/CC2530_CC2591_SOURCE_ROUTING_20211116.zip differ diff --git a/coordinator/Z-Stack_Home_1.2/bin/source_routing/CC2530_CC2592_SOURCE_ROUTING_20201128.zip b/coordinator/Z-Stack_Home_1.2/bin/source_routing/CC2530_CC2592_SOURCE_ROUTING_20201128.zip deleted file mode 100644 index f2f3919..0000000 Binary files a/coordinator/Z-Stack_Home_1.2/bin/source_routing/CC2530_CC2592_SOURCE_ROUTING_20201128.zip and /dev/null differ diff --git a/coordinator/Z-Stack_Home_1.2/bin/source_routing/CC2530_CC2592_SOURCE_ROUTING_20211116.zip b/coordinator/Z-Stack_Home_1.2/bin/source_routing/CC2530_CC2592_SOURCE_ROUTING_20211116.zip new file mode 100644 index 0000000..2e89c62 Binary files /dev/null and b/coordinator/Z-Stack_Home_1.2/bin/source_routing/CC2530_CC2592_SOURCE_ROUTING_20211116.zip differ diff --git a/coordinator/Z-Stack_Home_1.2/bin/source_routing/CC2530_SOURCE_ROUTING_20201128.zip b/coordinator/Z-Stack_Home_1.2/bin/source_routing/CC2530_SOURCE_ROUTING_20201128.zip deleted file mode 100644 index f7092f6..0000000 Binary files a/coordinator/Z-Stack_Home_1.2/bin/source_routing/CC2530_SOURCE_ROUTING_20201128.zip and /dev/null differ diff --git a/coordinator/Z-Stack_Home_1.2/bin/source_routing/CC2530_SOURCE_ROUTING_20211116.zip b/coordinator/Z-Stack_Home_1.2/bin/source_routing/CC2530_SOURCE_ROUTING_20211116.zip new file mode 100644 index 0000000..8a8de1b Binary files /dev/null and b/coordinator/Z-Stack_Home_1.2/bin/source_routing/CC2530_SOURCE_ROUTING_20211116.zip differ diff --git a/coordinator/Z-Stack_Home_1.2/bin/source_routing/CC2531_SOURCE_ROUTING_20201128.zip b/coordinator/Z-Stack_Home_1.2/bin/source_routing/CC2531_SOURCE_ROUTING_20201128.zip deleted file mode 100644 index d310f18..0000000 Binary files a/coordinator/Z-Stack_Home_1.2/bin/source_routing/CC2531_SOURCE_ROUTING_20201128.zip and /dev/null differ diff --git a/coordinator/Z-Stack_Home_1.2/bin/source_routing/CC2531_SOURCE_ROUTING_20211116.zip b/coordinator/Z-Stack_Home_1.2/bin/source_routing/CC2531_SOURCE_ROUTING_20211116.zip new file mode 100644 index 0000000..e06354f Binary files /dev/null and b/coordinator/Z-Stack_Home_1.2/bin/source_routing/CC2531_SOURCE_ROUTING_20211116.zip differ diff --git a/coordinator/Z-Stack_Home_1.2/firmware.patch b/coordinator/Z-Stack_Home_1.2/firmware.patch index 43103a7..592141f 100644 --- a/coordinator/Z-Stack_Home_1.2/firmware.patch +++ b/coordinator/Z-Stack_Home_1.2/firmware.patch @@ -1,23 +1,66 @@ -From 79b43ef6bb5d3ab40e60c26f1419ba6143559d48 Mon Sep 17 00:00:00 2001 +From fc5c41b902bc7171f8be1b89dcf79bc85d0ad91e Mon Sep 17 00:00:00 2001 From: Koen Kanters Date: Tue, 28 Jul 2020 19:39:55 +0200 Subject: [PATCH 1/1] Own changes --- + Components/hal/include/hal_led.h | 1 + + Components/hal/target/CC2530USB/hal_led.c | 6 + .../hal/target/CC2530ZNP/hal_board_cfg.h | 6 +- + Components/hal/target/CC2530ZNP/hal_led.c | 6 + Components/mt/MT_SYS.c | 16 +++ + Components/mt/MT_UTIL.c | 2 + + Components/mt/MT_ZDO.c | 8 ++ Components/mt/revision_info.h | 1 + Components/stack/af/AF.c | 26 +++- Components/stack/zdo/ZDApp.c | 10 +- - Components/stack/zdo/ZDSecMgr.c | 17 +++ + Components/stack/zdo/ZDObject.c | 14 ++ + Components/stack/zdo/ZDSecMgr.c | 21 +++ Projects/zstack/ZMain/TI2530ZNP/OnBoard.c | 9 ++ - .../zstack/ZNP/CC253x/Source/preinclude.h | 123 ++++++++++++++++++ + Projects/zstack/ZMain/TI2530ZNP/OnBoard.h | 4 +- + .../zstack/ZNP/CC253x/Source/preinclude.h | 126 ++++++++++++++++++ Projects/zstack/ZNP/Source/znp.cfg | 4 +- - Projects/zstack/ZNP/Source/znp_app.c | 22 +++- - 10 files changed, 223 insertions(+), 11 deletions(-) + Projects/zstack/ZNP/Source/znp_app.c | 22 ++- + 17 files changed, 269 insertions(+), 13 deletions(-) create mode 100644 Components/mt/revision_info.h create mode 100644 Projects/zstack/ZNP/CC253x/Source/preinclude.h +diff --git a/Components/hal/include/hal_led.h b/Components/hal/include/hal_led.h +index 217b8bf..ff0ce2f 100644 +--- a/Components/hal/include/hal_led.h ++++ b/Components/hal/include/hal_led.h +@@ -71,6 +71,7 @@ extern "C" + #define HAL_LED_MODE_BLINK 0x02 + #define HAL_LED_MODE_FLASH 0x04 + #define HAL_LED_MODE_TOGGLE 0x08 ++#define HAL_LED_MODE_DISABLE 0x10 + + /* Defaults */ + #define HAL_LED_DEFAULT_MAX_LEDS 4 +diff --git a/Components/hal/target/CC2530USB/hal_led.c b/Components/hal/target/CC2530USB/hal_led.c +index 2471fb7..4c14e58 100644 +--- a/Components/hal/target/CC2530USB/hal_led.c ++++ b/Components/hal/target/CC2530USB/hal_led.c +@@ -81,6 +81,7 @@ typedef struct + + + static uint8 HalLedState; // LED state at last set/clr/blink update ++static bool LedsDisabled; + + #if HAL_LED == TRUE + static uint8 HalSleepLedState; // LED state at last set/clr/blink update +@@ -136,6 +137,11 @@ void HalLedInit (void) + ***************************************************************************************************/ + uint8 HalLedSet (uint8 leds, uint8 mode) + { ++ if (LedsDisabled == true) return ( HalLedState ); ++ if (mode == HAL_LED_MODE_DISABLE) { ++ LedsDisabled = true; ++ mode = HAL_LED_MODE_OFF; ++ } + + #if (defined (BLINK_LEDS)) && (HAL_LED == TRUE) + uint8 led; diff --git a/Components/hal/target/CC2530ZNP/hal_board_cfg.h b/Components/hal/target/CC2530ZNP/hal_board_cfg.h index 0459c86..1e40362 100644 --- a/Components/hal/target/CC2530ZNP/hal_board_cfg.h @@ -49,6 +92,30 @@ index 0459c86..1e40362 100644 #ifdef HAL_ENABLE_WIFI_COEX_PINS #define HAL_BOARD_ENABLE_WIFI_COEX_PINS() st \ +diff --git a/Components/hal/target/CC2530ZNP/hal_led.c b/Components/hal/target/CC2530ZNP/hal_led.c +index 2471fb7..4c14e58 100644 +--- a/Components/hal/target/CC2530ZNP/hal_led.c ++++ b/Components/hal/target/CC2530ZNP/hal_led.c +@@ -81,6 +81,7 @@ typedef struct + + + static uint8 HalLedState; // LED state at last set/clr/blink update ++static bool LedsDisabled; + + #if HAL_LED == TRUE + static uint8 HalSleepLedState; // LED state at last set/clr/blink update +@@ -136,6 +137,11 @@ void HalLedInit (void) + ***************************************************************************************************/ + uint8 HalLedSet (uint8 leds, uint8 mode) + { ++ if (LedsDisabled == true) return ( HalLedState ); ++ if (mode == HAL_LED_MODE_DISABLE) { ++ LedsDisabled = true; ++ mode = HAL_LED_MODE_OFF; ++ } + + #if (defined (BLINK_LEDS)) && (HAL_LED == TRUE) + uint8 led; diff --git a/Components/mt/MT_SYS.c b/Components/mt/MT_SYS.c index 35aae57..1f8ee82 100644 --- a/Components/mt/MT_SYS.c @@ -83,15 +150,62 @@ index 35aae57..1f8ee82 100644 } #endif +diff --git a/Components/mt/MT_UTIL.c b/Components/mt/MT_UTIL.c +index bc5ba4a..338ed3b 100644 +--- a/Components/mt/MT_UTIL.c ++++ b/Components/mt/MT_UTIL.c +@@ -935,6 +935,8 @@ static void MT_UtilLedControl(uint8 *pBuf) + Mode = HAL_LED_MODE_FLASH; + else if ( iMode == 4 ) + Mode = HAL_LED_MODE_TOGGLE; ++ else if ( iMode == 5 ) ++ Mode = HAL_LED_MODE_DISABLE; + else + Led = 0; + +diff --git a/Components/mt/MT_ZDO.c b/Components/mt/MT_ZDO.c +index d43d7c0..db8d264 100644 +--- a/Components/mt/MT_ZDO.c ++++ b/Components/mt/MT_ZDO.c +@@ -54,6 +54,7 @@ + #include "ZDApp.h" + #include "OnBoard.h" + #include "aps_groups.h" ++#include "hal_led.h" + + #if defined ( MT_ZDO_EXTENSIONS ) + #include "rtg.h" +@@ -1626,6 +1627,11 @@ static void MT_ZdoMgmtPermitJoinRequest(uint8 *pBuf) + ignoreIndication = TRUE; + retValue = (uint8)ZDP_MgmtPermitJoinReq( &destAddr, duration, tcSignificance, 0); + ignoreIndication = FALSE; ++ ++ // If joining is enabled via a router, ZDO_ProcessMgmtPermitJoinReq is never triggered thus ++ // ZDSecMgrPermitJoining is never called. Joining via a router would always fail now since ++ // ZDSecMgrPermitJoiningEnabled in zd_sec_mgr.c stays FALSE ++ ZDSecMgrPermitJoining(duration); + + MT_BuildAndSendZToolResponse(((uint8)MT_RPC_CMD_SRSP | (uint8)MT_RPC_SYS_ZDO), cmdId, 1, &retValue); + } +@@ -1812,6 +1818,8 @@ static void MT_ZdoStartupFromApp(uint8 *pBuf) + + retValue = ZDOInitDevice(100); + ++ HalLedSet(HAL_LED_3, HAL_LED_MODE_OFF); ++ + if (MT_RPC_CMD_SREQ == (cmd0 & MT_RPC_CMD_TYPE_MASK)) + { + MT_BuildAndSendZToolResponse(((uint8)MT_RPC_CMD_SRSP|(uint8)MT_RPC_SYS_ZDO), cmd1,1, &retValue); diff --git a/Components/mt/revision_info.h b/Components/mt/revision_info.h new file mode 100644 -index 0000000..f9343d6 +index 0000000..eb5b07c --- /dev/null +++ b/Components/mt/revision_info.h @@ -0,0 +1 @@ -+#define CODE_REVISION_NUMBER 20201128 ++#define CODE_REVISION_NUMBER 20211115 +\ No newline at end of file diff --git a/Components/stack/af/AF.c b/Components/stack/af/AF.c -index c6183b6..128b194 100644 +index c6183b6..dbcda1e 100644 --- a/Components/stack/af/AF.c +++ b/Components/stack/af/AF.c @@ -372,10 +372,18 @@ void afIncomingData( aps_FrameFormat_t *aff, zAddrType_t *SrcAddress, uint16 Src @@ -136,8 +250,8 @@ index c6183b6..128b194 100644 ((epDesc->endPoint == ZDO_EP) && (aff->ProfileID == ZDO_PROFILE_ID)) || - ((epDesc->endPoint != ZDO_EP) && ( aff->ProfileID == ZDO_WILDCARD_PROFILE_ID )) ) + ((epDesc->endPoint != ZDO_EP) && ( aff->ProfileID == ZDO_WILDCARD_PROFILE_ID )) || -+ // Fix below is to support PGC410EU: https://github.com/Koenkk/zigbee2mqtt/issues/4055 -+ ((epDesc->endPoint == 2) && ( aff->ProfileID == 0xFC01 )) ) ++ // Forward messages to endpoint even with profileID mismatches ++ ((aff->ProfileID >= 0x100) && (aff->ProfileID <= 0xFC01)) ) { // Save original endpoint uint8 endpoint = aff->DstEndPoint; @@ -169,8 +283,33 @@ index 242be04..cfad5e9 100644 } /********************************************************************* +diff --git a/Components/stack/zdo/ZDObject.c b/Components/stack/zdo/ZDObject.c +index 24bc9c3..bb4d3cb 100644 +--- a/Components/stack/zdo/ZDObject.c ++++ b/Components/stack/zdo/ZDObject.c +@@ -644,6 +644,20 @@ void ZDO_ProcessNodeDescReq( zdoIncomingMsg_t *inMsg ) + + if ( desc != NULL ) + { ++ uint8 extAddr[Z_EXTADDR_LEN]; ++ // Respond with Xiaomi manufacturer code when ieeAddr is withing Xiaomi address space ++ // Otherwise some devices don't work ++ // https://github.com/Koenkk/zigbee2mqtt/issues/9274 ++ if (APSME_LookupExtAddr(inMsg->srcAddr.addr.shortAddr, extAddr) == TRUE && ++ ((extAddr[7] == 0x04 && extAddr[6] == 0xcf && extAddr[5] == 0x8c) || ++ (extAddr[7] == 0x54 && extAddr[6] == 0xef && extAddr[5] == 0x44))) { ++ desc->ManufacturerCode[0] = 0x5f; ++ desc->ManufacturerCode[1] = 0x11; ++ } else { ++ desc->ManufacturerCode[0] = 0x0; ++ desc->ManufacturerCode[1] = 0x0; ++ } ++ + ZDP_NodeDescMsg( inMsg, aoi, desc ); + } + else diff --git a/Components/stack/zdo/ZDSecMgr.c b/Components/stack/zdo/ZDSecMgr.c -index 2eacc11..a910a06 100644 +index 2eacc11..0c8a07c 100644 --- a/Components/stack/zdo/ZDSecMgr.c +++ b/Components/stack/zdo/ZDSecMgr.c @@ -42,6 +42,8 @@ extern "C" @@ -182,7 +321,15 @@ index 2eacc11..a910a06 100644 /****************************************************************************** * INCLUDES */ -@@ -1114,14 +1116,22 @@ ZStatus_t ZDSecMgrDeviceJoin( ZDSecMgrDevice_t* device ) +@@ -58,6 +60,7 @@ extern "C" + #include "APSMEDE.h" + #include "ZDConfig.h" + #include "ZDSecMgr.h" ++#include "hal_led.h" + + /****************************************************************************** + * CONSTANTS +@@ -1114,14 +1117,22 @@ ZStatus_t ZDSecMgrDeviceJoin( ZDSecMgrDevice_t* device ) ZStatus_t status = ZSuccess; uint16 ami; @@ -205,7 +352,7 @@ index 2eacc11..a910a06 100644 // Add the device to the address manager ZDSecMgrAddrStore( device->nwkAddr, device->extAddr, &ami ); -@@ -1129,18 +1139,25 @@ ZStatus_t ZDSecMgrDeviceJoin( ZDSecMgrDevice_t* device ) +@@ -1129,18 +1140,25 @@ ZStatus_t ZDSecMgrDeviceJoin( ZDSecMgrDevice_t* device ) if ( ( device->devStatus & DEV_SEC_INIT_STATUS ) && ( device->secure == FALSE ) ) { @@ -231,6 +378,23 @@ index 2eacc11..a910a06 100644 // not allowed or transport key failed, remove the device ZDSecMgrDeviceRemove( device ); } +@@ -1504,6 +1522,8 @@ uint8 ZDSecMgrPermitJoining( uint8 duration ) + ZDSecMgrPermitJoiningEnabled = FALSE; + } + ++ HalLedSet(HAL_LED_3, ZDSecMgrPermitJoiningEnabled ? HAL_LED_MODE_ON : HAL_LED_MODE_OFF); ++ + accept = TRUE; + + return accept; +@@ -1522,6 +1542,7 @@ void ZDSecMgrPermitJoiningTimeout( void ) + { + if ( ZDSecMgrPermitJoiningTimed == TRUE ) + { ++ HalLedSet(HAL_LED_3, HAL_LED_MODE_OFF); + ZDSecMgrPermitJoiningEnabled = FALSE; + ZDSecMgrPermitJoiningTimed = FALSE; + } diff --git a/Projects/zstack/ZMain/TI2530ZNP/OnBoard.c b/Projects/zstack/ZMain/TI2530ZNP/OnBoard.c index 7c6c77e..8265ff1 100644 --- a/Projects/zstack/ZMain/TI2530ZNP/OnBoard.c @@ -253,12 +417,27 @@ index 7c6c77e..8265ff1 100644 znpCfg0 = ZNP_CFG0_32K_OSC; #else znpCfg1 = P2_0; +diff --git a/Projects/zstack/ZMain/TI2530ZNP/OnBoard.h b/Projects/zstack/ZMain/TI2530ZNP/OnBoard.h +index 9d035de..c850a66 100644 +--- a/Projects/zstack/ZMain/TI2530ZNP/OnBoard.h ++++ b/Projects/zstack/ZMain/TI2530ZNP/OnBoard.h +@@ -185,8 +185,8 @@ extern uint8 znpCfg1; + #endif + // SOC defines the ideal sizes in the individual _hal_uart_dma/isr.c modules. + #define HAL_UART_FLOW_THRESHOLD 0 +-#define HAL_UART_RX_BUF_SIZE 0 +-#define HAL_UART_TX_BUF_SIZE 0 ++#define HAL_UART_RX_BUF_SIZE 1024 ++#define HAL_UART_TX_BUF_SIZE 1024 + #define HAL_UART_IDLE_TIMEOUT 0 + + // Restart system from absolute beginning diff --git a/Projects/zstack/ZNP/CC253x/Source/preinclude.h b/Projects/zstack/ZNP/CC253x/Source/preinclude.h new file mode 100644 -index 0000000..5ab4fd5 +index 0000000..356bce2 --- /dev/null +++ b/Projects/zstack/ZNP/CC253x/Source/preinclude.h -@@ -0,0 +1,123 @@ +@@ -0,0 +1,126 @@ +// Shared accross all firmwares +#define ASSERT_RESET + @@ -330,55 +509,58 @@ index 0000000..5ab4fd5 + #define CC2531ZNP + #if defined SOURCE_ROUTING + #define NWK_MAX_DEVICE_LIST 5 -+ #define MAXMEMHEAP 3309 ++ #define MAXMEMHEAP 3307 + #else + #define NWK_MAX_DEVICE_LIST 20 -+ #define MAXMEMHEAP 3285 ++ #define MAXMEMHEAP 3283 + #endif + +// CC2530 +#elif defined FIRMWARE_CC2530 -+ #define HAL_UART_DMA_RX_MAX 128 + #define ENABLE_MT_SYS_RESET_SHUTDOWN + #define ZTOOL_P1 + #define CC2530_MK + + #if defined SOURCE_ROUTING ++ #define HAL_UART_DMA_RX_MAX 128 + #define NWK_MAX_DEVICE_LIST 5 + #define MAXMEMHEAP 3189 + #else ++ #define HAL_UART_DMA_RX_MAX 220 + #define NWK_MAX_DEVICE_LIST 16 -+ #define MAXMEMHEAP 3277 ++ #define MAXMEMHEAP 2909 + #endif + +// CC2530 + CC2591 +#elif defined FIRMWARE_CC2530_CC2591 + #define ENABLE_MT_SYS_RESET_SHUTDOWN + #define ZTOOL_P1 -+ #define HAL_UART_DMA_RX_MAX 128 + #define HAL_PA_LNA + + #if defined SOURCE_ROUTING ++ #define HAL_UART_DMA_RX_MAX 128 + #define NWK_MAX_DEVICE_LIST 5 + #define MAXMEMHEAP 3187 + #else ++ #define HAL_UART_DMA_RX_MAX 220 + #define NWK_MAX_DEVICE_LIST 16 -+ #define MAXMEMHEAP 3275 ++ #define MAXMEMHEAP 2907 + #endif + +// CC2530 + CC2592 +#elif defined FIRMWARE_CC2530_CC2592 + #define ENABLE_MT_SYS_RESET_SHUTDOWN + #define ZTOOL_P1 -+ #define HAL_UART_DMA_RX_MAX 128 + #define HAL_PA_LNA_CC2592 + + #if defined SOURCE_ROUTING ++ #define HAL_UART_DMA_RX_MAX 128 + #define NWK_MAX_DEVICE_LIST 5 + #define MAXMEMHEAP 3187 + #else ++ #define HAL_UART_DMA_RX_MAX 220 + #define NWK_MAX_DEVICE_LIST 16 -+ #define MAXMEMHEAP 3275 ++ #define MAXMEMHEAP 2907 + #endif + +#endif