mirror of
https://github.com/Koenkk/Z-Stack-firmware.git
synced 2024-12-01 22:23:22 +01:00
Add Zigbee 3 CC2530 and CC2530_CC2591 firmwares. #89
This commit is contained in:
parent
31d5c57b86
commit
c4cbb5407c
@ -46,7 +46,7 @@ This repository contains various Z-Stack coordinator firmwares.
|
|||||||
<td> </td>
|
<td> </td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>Z-Stack_3.0.x</td>
|
<td rowspan="3">Z-Stack_3.0.x</td>
|
||||||
<td>CC2531</td>
|
<td>CC2531</td>
|
||||||
<td>3.0</td>
|
<td>3.0</td>
|
||||||
<td>15</td>
|
<td>15</td>
|
||||||
@ -54,6 +54,22 @@ This repository contains various Z-Stack coordinator firmwares.
|
|||||||
<td>40</td>
|
<td>40</td>
|
||||||
<td><a href="https://github.com/Koenkk/zigbee2mqtt/issues/1445">#1445</a></td>
|
<td><a href="https://github.com/Koenkk/zigbee2mqtt/issues/1445">#1445</a></td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>CC2530</td>
|
||||||
|
<td>3.0</td>
|
||||||
|
<td>10</td>
|
||||||
|
<td>No</td>
|
||||||
|
<td>40</td>
|
||||||
|
<td><a href="https://github.com/Koenkk/zigbee2mqtt/issues/1445">#1445</a></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>CC2530_CC2591</td>
|
||||||
|
<td>3.0</td>
|
||||||
|
<td>10</td>
|
||||||
|
<td>No</td>
|
||||||
|
<td>40</td>
|
||||||
|
<td><a href="https://github.com/Koenkk/zigbee2mqtt/issues/1445">#1445</a></td>
|
||||||
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>Z-Stack_3.x.0</td>
|
<td>Z-Stack_3.x.0</td>
|
||||||
<td>CC2652R</td>
|
<td>CC2652R</td>
|
||||||
|
@ -1,2 +1,5 @@
|
|||||||
|
# 20190523
|
||||||
|
- Add CC2530 and CC2530_CC2591 firmware
|
||||||
|
|
||||||
# 20190425
|
# 20190425
|
||||||
- Initial version.
|
- Initial version.
|
@ -12,11 +12,10 @@
|
|||||||
3. Open `Z-Stack 3.0.2\Projects\zstack\ZNP\CC253x\znp.eww` with IAR Embedded workbench for 8051.
|
3. Open `Z-Stack 3.0.2\Projects\zstack\ZNP\CC253x\znp.eww` with IAR Embedded workbench for 8051.
|
||||||
4. Select the correct target:
|
4. Select the correct target:
|
||||||
- For CC2531 select *CC2531 - ZNP-with-SBL*
|
- For CC2531 select *CC2531 - ZNP-with-SBL*
|
||||||
- For CC2530, CC2530_CC2591, CC2530_CC2592 select *CC2530 - ZNP-with-SBL* (not available yet)
|
- For CC2530, CC2530_CC2591, CC2530_CC2592 select *CC2530 - ZNP-with-SBL*
|
||||||
5. Right-click on your target and press options. Go to C/C++ compiler -> preprocessor. Depending on what you want to compile, add one of the following symbols to *Defined symbols*:
|
5. Right-click on your target and press options. Go to C/C++ compiler -> preprocessor. Depending on what you want to compile, add one of the following symbols to *Defined symbols*:
|
||||||
- `FIRMWARE_CC2530` (not available yet)
|
- `FIRMWARE_CC2530`
|
||||||
- `FIRMWARE_CC2530_CC2591` (not available yet)
|
- `FIRMWARE_CC2530_CC2591`
|
||||||
- `FIRMWARE_CC2530_CC2592` (not available yet)
|
|
||||||
- `FIRMWARE_CC2531`
|
- `FIRMWARE_CC2531`
|
||||||
6. Go to General Options -> Stack/Heap -> Stack sizes -> and change `XDATA` to `0x400`.
|
6. Go to General Options -> Stack/Heap -> Stack sizes -> and change `XDATA` to `0x400`.
|
||||||
7. Press OK.
|
7. Press OK.
|
||||||
|
BIN
coordinator/Z-Stack_3.0.x/bin/CC2530_20190523.zip
Normal file
BIN
coordinator/Z-Stack_3.0.x/bin/CC2530_20190523.zip
Normal file
Binary file not shown.
BIN
coordinator/Z-Stack_3.0.x/bin/CC2530_CC2591_20190523.zip
Normal file
BIN
coordinator/Z-Stack_3.0.x/bin/CC2530_CC2591_20190523.zip
Normal file
Binary file not shown.
@ -1,3 +1,37 @@
|
|||||||
|
diff --git a/Components/mt/MT_SYS.c b/Components/mt/MT_SYS.c
|
||||||
|
index aa57766..b53f309 100644
|
||||||
|
--- a/Components/mt/MT_SYS.c
|
||||||
|
+++ b/Components/mt/MT_SYS.c
|
||||||
|
@@ -2141,6 +2141,21 @@ static void MT_SysSnifferParameters( uint8 *pBuf )
|
||||||
|
*****************************************************************************/
|
||||||
|
static void powerOffSoc(void)
|
||||||
|
{
|
||||||
|
+#if defined(FIRMWARE_CC2530) || defined(FIRMWARE_CC2530_CC2591)
|
||||||
|
+ HAL_DISABLE_INTERRUPTS();
|
||||||
|
+ STIF = 0; //HAL_SLEEP_TIMER_CLEAR_INT;
|
||||||
|
+ if (ZNP_CFG1_UART == znpCfg1)
|
||||||
|
+ {
|
||||||
|
+ HalUARTSuspend();
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ /* Prep CC2530 power mode */
|
||||||
|
+ //HAL_SLEEP_PREP_POWER_MODE(3);
|
||||||
|
+ SLEEPCMD &= ~PMODE; /* clear mode bits */
|
||||||
|
+ SLEEPCMD |= 3; /* set mode bits to PM3 */
|
||||||
|
+ while (!(STLOAD & LDRDY));
|
||||||
|
+ SystemReset();
|
||||||
|
+#else
|
||||||
|
HAL_DISABLE_INTERRUPTS();
|
||||||
|
|
||||||
|
/* turn off the RF front end device */
|
||||||
|
@@ -2181,6 +2196,7 @@ static void powerOffSoc(void)
|
||||||
|
PCON = halSleepPconValue;
|
||||||
|
asm("NOP");
|
||||||
|
}
|
||||||
|
+#endif
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
diff --git a/Components/mt/MT_VERSION.c b/Components/mt/MT_VERSION.c
|
diff --git a/Components/mt/MT_VERSION.c b/Components/mt/MT_VERSION.c
|
||||||
index f374554..720a8fe 100644
|
index f374554..720a8fe 100644
|
||||||
--- a/Components/mt/MT_VERSION.c
|
--- a/Components/mt/MT_VERSION.c
|
||||||
@ -22,11 +56,11 @@ index f374554..720a8fe 100644
|
|||||||
2, /* Software maintenance release number */
|
2, /* Software maintenance release number */
|
||||||
diff --git a/Components/mt/revision_info.h b/Components/mt/revision_info.h
|
diff --git a/Components/mt/revision_info.h b/Components/mt/revision_info.h
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 0000000..34b4980
|
index 0000000..34cd616
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/Components/mt/revision_info.h
|
+++ b/Components/mt/revision_info.h
|
||||||
@@ -0,0 +1 @@
|
@@ -0,0 +1 @@
|
||||||
+#define CODE_REVISION_NUMBER 20190425
|
+#define CODE_REVISION_NUMBER 20190523
|
||||||
\ No newline at end of file
|
\ No newline at end of file
|
||||||
diff --git a/Components/stack/af/AF.c b/Components/stack/af/AF.c
|
diff --git a/Components/stack/af/AF.c b/Components/stack/af/AF.c
|
||||||
index 5e54237..988416f 100644
|
index 5e54237..988416f 100644
|
||||||
@ -84,12 +118,34 @@ index d170283..292659a 100644
|
|||||||
|
|
||||||
//========== TouchLink NWK configuration ===============
|
//========== TouchLink NWK configuration ===============
|
||||||
// Values used by Router when starts a network as initiator
|
// Values used by Router when starts a network as initiator
|
||||||
|
diff --git a/Projects/zstack/ZMain/TI2530ZNP/OnBoard.c b/Projects/zstack/ZMain/TI2530ZNP/OnBoard.c
|
||||||
|
index eebe038..95041a8 100644
|
||||||
|
--- a/Projects/zstack/ZMain/TI2530ZNP/OnBoard.c
|
||||||
|
+++ b/Projects/zstack/ZMain/TI2530ZNP/OnBoard.c
|
||||||
|
@@ -149,8 +149,17 @@ void InitBoard( uint8 level )
|
||||||
|
|
||||||
|
#if defined CC2531ZNP
|
||||||
|
znpCfg1 = ZNP_CFG1_UART;
|
||||||
|
+#elif defined FIRMWARE_CC2530_CC2591
|
||||||
|
+ znpCfg1 = ZNP_CFG1_UART;
|
||||||
|
+ znpCfg0 = ZNP_CFG0_32K_OSC;
|
||||||
|
#elif defined CC2530_MK
|
||||||
|
+
|
||||||
|
+ #if defined FIRMWARE_CC2530
|
||||||
|
+ znpCfg1 = ZNP_CFG1_UART;
|
||||||
|
+ #else
|
||||||
|
znpCfg1 = ZNP_CFG1_SPI;
|
||||||
|
+ #endif
|
||||||
|
+
|
||||||
|
znpCfg0 = ZNP_CFG0_32K_OSC;
|
||||||
|
#else
|
||||||
|
znpCfg1 = P2_0;
|
||||||
diff --git a/Projects/zstack/ZNP/Source/preinclude.h b/Projects/zstack/ZNP/Source/preinclude.h
|
diff --git a/Projects/zstack/ZNP/Source/preinclude.h b/Projects/zstack/ZNP/Source/preinclude.h
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 0000000..4bec90a
|
index 0000000..53064e2
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/Projects/zstack/ZNP/Source/preinclude.h
|
+++ b/Projects/zstack/ZNP/Source/preinclude.h
|
||||||
@@ -0,0 +1,77 @@
|
@@ -0,0 +1,81 @@
|
||||||
+// Shared accross all firmwares
|
+// Shared accross all firmwares
|
||||||
+#define TC_LINKKEY_JOIN
|
+#define TC_LINKKEY_JOIN
|
||||||
+#define FAKE_CRC_SHDW
|
+#define FAKE_CRC_SHDW
|
||||||
@ -146,25 +202,29 @@ index 0000000..4bec90a
|
|||||||
+#define MAX_RTG_ENTRIES 40
|
+#define MAX_RTG_ENTRIES 40
|
||||||
+#define MAX_NEIGHBOR_ENTRIES 8
|
+#define MAX_NEIGHBOR_ENTRIES 8
|
||||||
+
|
+
|
||||||
+/**
|
+// CC2531
|
||||||
+ * CC2531
|
|
||||||
+ */
|
|
||||||
+#if defined FIRMWARE_CC2531
|
+#if defined FIRMWARE_CC2531
|
||||||
+ #define NWK_MAX_DEVICE_LIST 15
|
+ #define NWK_MAX_DEVICE_LIST 15
|
||||||
+ #define CC2531ZNP
|
+ #define CC2531ZNP
|
||||||
+ #define MAXMEMHEAP 3203
|
+ #define MAXMEMHEAP 3203
|
||||||
+
|
+
|
||||||
+/**
|
+// CC2530
|
||||||
+ * CC2530
|
|
||||||
+ */
|
|
||||||
+#elif defined FIRMWARE_CC2530
|
+#elif defined FIRMWARE_CC2530
|
||||||
+ #define TODO 1
|
+ #define HAL_UART_DMA_RX_MAX 128
|
||||||
|
+ #define ENABLE_MT_SYS_RESET_SHUTDOWN
|
||||||
|
+ #define ZTOOL_P1
|
||||||
|
+ #define CC2530_MK
|
||||||
|
+ #define NWK_MAX_DEVICE_LIST 10
|
||||||
|
+ #define MAXMEMHEAP 3225
|
||||||
+
|
+
|
||||||
+/**
|
+// CC2530 + CC2591
|
||||||
+ * CC2530 + CC2591
|
|
||||||
+ */
|
|
||||||
+#elif defined FIRMWARE_CC2530_CC2591
|
+#elif defined FIRMWARE_CC2530_CC2591
|
||||||
+ #define TODO 1
|
+ #define ENABLE_MT_SYS_RESET_SHUTDOWN
|
||||||
|
+ #define ZTOOL_P1
|
||||||
|
+ #define HAL_UART_DMA_RX_MAX 128
|
||||||
|
+ #define HAL_PA_LNA
|
||||||
|
+ #define NWK_MAX_DEVICE_LIST 10
|
||||||
|
+ #define MAXMEMHEAP 3223
|
||||||
+
|
+
|
||||||
+#endif
|
+#endif
|
||||||
\ No newline at end of file
|
\ No newline at end of file
|
||||||
@ -178,3 +238,52 @@ index 2b8d56d..adb5e42 100644
|
|||||||
|
|
||||||
+--preinclude=preinclude.h
|
+--preinclude=preinclude.h
|
||||||
\ No newline at end of file
|
\ No newline at end of file
|
||||||
|
diff --git a/Projects/zstack/ZNP/Source/znp_app.c b/Projects/zstack/ZNP/Source/znp_app.c
|
||||||
|
index 31b115e..035e9f8 100644
|
||||||
|
--- a/Projects/zstack/ZNP/Source/znp_app.c
|
||||||
|
+++ b/Projects/zstack/ZNP/Source/znp_app.c
|
||||||
|
@@ -390,12 +390,23 @@ static void npInit(void)
|
||||||
|
halUARTCfg_t uartConfig;
|
||||||
|
|
||||||
|
uartConfig.configured = TRUE;
|
||||||
|
+
|
||||||
|
+#if defined(FIRMWARE_CC2530) || defined(FIRMWARE_CC2530_CC2591)
|
||||||
|
+ uartConfig.baudRate = HAL_UART_BR_115200;
|
||||||
|
+#else
|
||||||
|
uartConfig.baudRate = ZNP_UART_BAUD;
|
||||||
|
-#ifdef ZNP_ALT
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#if defined(FIRMWARE_CC2530) || defined(FIRMWARE_CC2530_CC2591)
|
||||||
|
uartConfig.flowControl = FALSE;
|
||||||
|
#else
|
||||||
|
+ #ifdef ZNP_ALT
|
||||||
|
+ uartConfig.flowControl = FALSE;
|
||||||
|
+ #else
|
||||||
|
uartConfig.flowControl = TRUE;
|
||||||
|
+ #endif
|
||||||
|
#endif
|
||||||
|
+
|
||||||
|
uartConfig.flowControlThreshold = HAL_UART_FLOW_THRESHOLD;
|
||||||
|
uartConfig.rx.maxBufSize = HAL_UART_RX_BUF_SIZE;
|
||||||
|
uartConfig.tx.maxBufSize = HAL_UART_TX_BUF_SIZE;
|
||||||
|
@@ -405,11 +416,14 @@ static void npInit(void)
|
||||||
|
HalUARTOpen(HAL_UART_PORT, &uartConfig);
|
||||||
|
MT_UartRegisterTaskID(znpTaskId);
|
||||||
|
|
||||||
|
-#ifdef HAL_PA_LNA_CC2592
|
||||||
|
- ZMacSetTransmitPower(TX_PWR_PLUS_19);
|
||||||
|
-#else
|
||||||
|
- ZMacSetTransmitPower(TX_PWR_PLUS_4);
|
||||||
|
-#endif
|
||||||
|
+#if defined FIRMWARE_CC2530_CC2591
|
||||||
|
+ //Add TX Setting
|
||||||
|
+ #if defined HAL_PA_LNA || defined HAL_PA_LNA_CC2592
|
||||||
|
+ ZMacSetTransmitPower(TX_PWR_PLUS_19);
|
||||||
|
+ #else
|
||||||
|
+ ZMacSetTransmitPower(TX_PWR_PLUS_4);
|
||||||
|
+ #endif
|
||||||
|
+#endif
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user