From e36e220a4c9248dfecda6accb807b73a59f34db3 Mon Sep 17 00:00:00 2001 From: formtapez Date: Fri, 10 May 2019 22:08:19 +0200 Subject: [PATCH] added report-reason, removed non-router configurations, sensor checks --- README.md | 5 +- src/ZigUP/CC2530DB/ZigUP.ewd | 3361 +++++----------------- src/ZigUP/CC2530DB/ZigUP.ewp | 3498 +---------------------- src/ZigUP/CC2530DB/ZigUP.ewt | 5034 --------------------------------- src/ZigUP/CC2530DB/ZigUP.eww | 14 - src/ZigUP/Source/ds18b20.c | 9 +- src/ZigUP/Source/global.c | 10 +- src/ZigUP/Source/global.h | 6 + src/ZigUP/Source/interrupts.c | 81 +- src/ZigUP/Source/uart.c | 1 - src/ZigUP/Source/utils.c | 21 +- src/ZigUP/Source/utils.h | 2 + src/ZigUP/Source/zcl_zigup.c | 50 +- src/ZigUP/Source/zcl_zigup.h | 5 +- 14 files changed, 828 insertions(+), 11269 deletions(-) delete mode 100755 src/ZigUP/CC2530DB/ZigUP.ewt diff --git a/README.md b/README.md index 10577ff..9acd1c6 100644 --- a/README.md +++ b/README.md @@ -34,10 +34,9 @@ CC2530 based multi-purpose ZigBee Relais, Switch, Sensor and Router 2. Get **IAR Embedded Workbench for 8051** from https://www.iar.com/iar-embedded-workbench (you can use the free trial version for one month) 3. Clone ZigUP source to **\Projects\zstack\HomeAutomation\ZigUP\\** 4. Start **\ZigUP\CC2530DB\ZigUP.eww** to load project in IAR -5. Set project configuration to "Router". -6. Edit **\Projects\zstack\Tools\CC2530DB\f8wConfig.cfg** to use all 2.4 GHz channels: +5. Edit **\Projects\zstack\Tools\CC2530DB\f8wConfig.cfg** to use all 2.4 GHz channels: >-DDEFAULT_CHANLIST=0x07FFF800 -7. Compile +6. Compile # Flashing with CC Debugger 1. Get **SmartRF Flash Programmer v1.12.8 (not v2.x!)** from https://www.ti.com/tool/flash-programmer diff --git a/src/ZigUP/CC2530DB/ZigUP.ewd b/src/ZigUP/CC2530DB/ZigUP.ewd index 3890920..6a3e0f6 100755 --- a/src/ZigUP/CC2530DB/ZigUP.ewd +++ b/src/ZigUP/CC2530DB/ZigUP.ewd @@ -1,2635 +1,732 @@ - - + - 2 - - CoordinatorEB - - 8051 - - 1 - - C-SPY - 2 - - 8 - 1 + 3 + + RouterEB + + 8051 + 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - _3RD_ID - 1 - - 0 - 1 - 1 - - - - - - - - CHIPCON_ID - 2 - - 4 - 1 - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - FS2_ID - 1 - - 0 - 1 - 1 - - - - - - - - - - - - - INFINEON_ID - 1 - - 2 - 1 - 1 - - - - - - - - - - - - - - - - - - NS_ID - 1 - - 0 - 1 - 1 - - - - - - - ROM_ID - 1 - - 2 - 1 - 1 - - - - - - - - - - - - - - - - - - AD2_ID - 2 - - 6 - 1 - 1 - - - - - - - - - - - - - - CYGNAL_ID - 2 - - 2 - 1 - 1 - - - - - - - - - - - - - - - - - - - - SIM_ID - 1 - - 2 - 1 - 1 - - - - - - - - - $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin - 1 - - - $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin - 0 - - - $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin - 1 - - - $EW_DIR$\common\plugins\uCProbe\uCProbePlugin.ENU.ewplugin - 0 - - - - - RouterEB - - 8051 - - 1 - - C-SPY - 2 - - 8 - 1 - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - _3RD_ID - 1 - - 0 - 1 - 1 - - - - - - - - CHIPCON_ID - 2 - - 4 - 1 - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - FS2_ID - 1 - - 0 - 1 - 1 - - - - - - - - - - - - - INFINEON_ID - 1 - - 2 - 1 - 1 - - - - - - - - - - - - - - - - - - NS_ID - 1 - - 0 - 1 - 1 - - - - - - - ROM_ID - 1 - - 2 - 1 - 1 - - - - - - - - - - - - - - - - - - AD2_ID - 2 - - 6 - 1 - 1 - - - - - - - - - - - - - - CYGNAL_ID - 2 - - 2 - 1 - 1 - - - - - - - - - - - - - - - - - - - - SIM_ID - 1 - - 2 - 1 - 1 - - - - - - - - - $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin - 1 - - - $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin - 0 - - - $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin - 1 - - - $EW_DIR$\common\plugins\uCProbe\uCProbePlugin.ENU.ewplugin - 0 - - - - - EndDeviceEB - - 8051 - - 1 - - C-SPY - 2 - - 8 - 1 - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - _3RD_ID - 1 - - 0 - 1 - 1 - - - - - - - - CHIPCON_ID - 2 - - 4 - 1 - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - FS2_ID - 1 - - 0 - 1 - 1 - - - - - - - - - - - - - INFINEON_ID - 1 - - 2 - 1 - 1 - - - - - - - - - - - - - - - - - - NS_ID - 1 - - 0 - 1 - 1 - - - - - - - ROM_ID - 1 - - 2 - 1 - 1 - - - - - - - - - - - - - - - - - - AD2_ID - 2 - - 6 - 1 - 1 - - - - - - - - - - - - - - CYGNAL_ID - 2 - - 2 - 1 - 1 - - - - - - - - - - - - - - - - - - - - SIM_ID - 1 - - 2 - 1 - 1 - - - - - - - - - $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin - 1 - - - $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin - 0 - - - $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin - 1 - - - $EW_DIR$\common\plugins\uCProbe\uCProbePlugin.ENU.ewplugin - 0 - - - - - RouterZLight - - 8051 - - 1 - - C-SPY - 2 - - 8 - 1 - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - _3RD_ID - 1 - - 0 - 1 - 1 - - - - - - - - CHIPCON_ID - 2 - - 4 - 1 - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - FS2_ID - 1 - - 0 - 1 - 1 - - - - - - - - - - - - - INFINEON_ID - 1 - - 2 - 1 - 1 - - - - - - - - - - - - - - - - - - NS_ID - 1 - - 0 - 1 - 1 - - - - - - - ROM_ID - 1 - - 2 - 1 - 1 - - - - - - - - - - - - - - - - - - AD2_ID - 2 - - 6 - 1 - 1 - - - - - - - - - - - - - - CYGNAL_ID - 2 - - 2 - 1 - 1 - - - - - - - - - - - - - - - - - - - - SIM_ID - 1 - - 2 - 1 - 1 - - - - - - - - - $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin - 1 - - - $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin - 0 - - - $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin - 1 - - - $EW_DIR$\common\plugins\uCProbe\uCProbePlugin.ENU.ewplugin - 0 - - - + + C-SPY + 2 + + 9 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + _3RD_ID + 1 + + 0 + 1 + 1 + + + + + + + + CHIPCON_ID + 2 + + 4 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + FS2_ID + 1 + + 0 + 1 + 1 + + + + + + + + + + + + + INFINEON_ID + 1 + + 2 + 1 + 1 + + + + + + + + + + + + + + + + + + JLINK_ID + 1 + + 0 + 1 + 1 + + + + + + + + + + + + + + NS_ID + 1 + + 0 + 1 + 1 + + + + + + + NULINK_ID + 1 + + 0 + 1 + 1 + + + + + ROM_ID + 1 + + 2 + 1 + 1 + + + + + + + + + + + + + + + + + + AD2_ID + 2 + + 6 + 1 + 1 + + + + + + + + + + + + + + CYGNAL_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + + + + + + + + + + SIM_ID + 1 + + 2 + 1 + 1 + + + + + + + + + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 + + + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\TargetAccessServer\TargetAccessServer.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\uCProbe\uCProbePlugin.ENU.ewplugin + 0 + + + - - diff --git a/src/ZigUP/CC2530DB/ZigUP.ewp b/src/ZigUP/CC2530DB/ZigUP.ewp index 0ad0d1b..6d87317 100755 --- a/src/ZigUP/CC2530DB/ZigUP.ewp +++ b/src/ZigUP/CC2530DB/ZigUP.ewp @@ -1,1166 +1,6 @@ 3 - - CoordinatorEB - - 8051 - - 1 - - General - 4 - - 9 - 1 - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ICC8051 - 7 - - 12 - 1 - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - A8051 - 2 - - 6 - 1 - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CUSTOM - 3 - - - - 0 - - - - BICOMP - 0 - - - - BUILDACTION - 1 - - - - - - - XLINK - 4 - - 21 - 1 - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - XAR - 2 - - 1 - 1 - 1 - - - - - - - HWMUL - 0 - - - - BILINK - 0 - - - RouterEB @@ -1273,7 +113,7 @@ - - EndDeviceEB - - 8051 - - 1 - - General - 4 - - 9 - 1 - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ICC8051 - 7 - - 12 - 1 - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - A8051 - 2 - - 6 - 1 - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CUSTOM - 3 - - - - 0 - - - - BICOMP - 0 - - - - BUILDACTION - 1 - - - - - - - XLINK - 4 - - 21 - 1 - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - XAR - 2 - - 1 - 1 - 1 - - - - - - - HWMUL - 0 - - - - BILINK - 0 - - - - - RouterZLight - - 8051 - - 1 - - General - 4 - - 9 - 1 - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ICC8051 - 7 - - 12 - 1 - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - A8051 - 2 - - 6 - 1 - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CUSTOM - 3 - - - - 0 - - - - BICOMP - 0 - - - - BUILDACTION - 1 - - - - - - - XLINK - 4 - - 21 - 1 - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - XAR - 2 - - 1 - 1 - 1 - - - - - - - HWMUL - 0 - - - - BILINK - 0 - - - App @@ -4799,9 +1316,6 @@ Target CC2530EB - - RouterZLight - Config @@ -4863,9 +1377,7 @@ ZLIGHT - CoordinatorEB RouterEB - EndDeviceEB Config @@ -5317,24 +1829,16 @@ $PROJ_DIR$\..\..\..\Tools\CC2530DB\f8wCoord.cfg RouterEB - EndDeviceEB - RouterZLight $PROJ_DIR$\..\..\..\Tools\CC2530DB\f8wEndev.cfg - CoordinatorEB RouterEB - RouterZLight $PROJ_DIR$\..\..\..\Tools\CC2530DB\f8wRouter.cfg - - CoordinatorEB - EndDeviceEB - $PROJ_DIR$\..\..\..\Tools\CC2530DB\f8wZCL.cfg diff --git a/src/ZigUP/CC2530DB/ZigUP.ewt b/src/ZigUP/CC2530DB/ZigUP.ewt deleted file mode 100755 index a03344c..0000000 --- a/src/ZigUP/CC2530DB/ZigUP.ewt +++ /dev/null @@ -1,5034 +0,0 @@ - - - 3 - - CoordinatorEB - - 8051 - - 1 - - C-STAT - 261 - - 261 - - 0 - - 1 - 600 - 1 - 2 - 0 - 1 - 100 - - - 1.5.4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - RouterEB - - 8051 - - 1 - - C-STAT - 261 - - 261 - - 0 - - 1 - 600 - 1 - 2 - 0 - 1 - 100 - - - 1.5.4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EndDeviceEB - - 8051 - - 1 - - C-STAT - 261 - - 261 - - 0 - - 1 - 600 - 1 - 2 - 0 - 1 - 100 - - - 1.5.4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - RouterZLight - - 8051 - - 1 - - C-STAT - 261 - - 261 - - 0 - - 1 - 600 - 1 - 2 - 0 - 1 - 100 - - - 1.5.4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - App - - $PROJ_DIR$\..\Source\adc.c - - - $PROJ_DIR$\..\Source\adc.h - - - $PROJ_DIR$\..\Source\bitmasks.h - - - $PROJ_DIR$\..\Source\delay.c - - - $PROJ_DIR$\..\Source\delay.h - - - $PROJ_DIR$\..\Source\dht22.c - - - $PROJ_DIR$\..\Source\dht22.h - - - $PROJ_DIR$\..\Source\ds18b20.c - - - $PROJ_DIR$\..\Source\ds18b20.h - - - $PROJ_DIR$\..\Source\global.c - - - $PROJ_DIR$\..\Source\global.h - - - $PROJ_DIR$\..\Source\interrupts.c - - - $PROJ_DIR$\..\Source\interrupts.h - - - $PROJ_DIR$\..\Source\led.c - - - $PROJ_DIR$\..\Source\led.h - - - $PROJ_DIR$\..\Source\OSAL_ZigUP.c - - - $PROJ_DIR$\..\Source\random.c - - - $PROJ_DIR$\..\Source\random.h - - - $PROJ_DIR$\..\Source\uart.c - - - $PROJ_DIR$\..\Source\uart.h - - - $PROJ_DIR$\..\Source\utils.c - - - $PROJ_DIR$\..\Source\utils.h - - - $PROJ_DIR$\..\Source\ws2812.c - - - $PROJ_DIR$\..\Source\ws2812.h - - - $PROJ_DIR$\..\Source\zcl_zigup.c - - - $PROJ_DIR$\..\Source\zcl_zigup.h - - - $PROJ_DIR$\..\Source\zcl_zigup_data.c - - - - HAL - - Common - - $PROJ_DIR$\..\..\..\..\..\Components\hal\common\hal_assert.c - - - $PROJ_DIR$\..\..\..\..\..\Components\hal\common\hal_drivers.c - - - - Include - - $PROJ_DIR$\..\..\..\..\..\Components\hal\include\hal_adc.h - - - $PROJ_DIR$\..\..\..\..\..\Components\hal\include\hal_assert.h - - - $PROJ_DIR$\..\..\..\..\..\Components\hal\include\hal_board.h - - - $PROJ_DIR$\..\..\..\..\..\Components\hal\include\hal_defs.h - - - $PROJ_DIR$\..\..\..\..\..\Components\hal\include\hal_drivers.h - - - $PROJ_DIR$\..\..\..\..\..\Components\hal\include\hal_flash.h - - - $PROJ_DIR$\..\..\..\..\..\Components\hal\include\hal_key.h - - - $PROJ_DIR$\..\..\..\..\..\Components\hal\include\hal_lcd.h - - - $PROJ_DIR$\..\..\..\..\..\Components\hal\include\hal_led.h - - - $PROJ_DIR$\..\..\..\..\..\Components\hal\include\hal_sleep.h - - - $PROJ_DIR$\..\..\..\..\..\Components\hal\include\hal_timer.h - - - $PROJ_DIR$\..\..\..\..\..\Components\hal\include\hal_uart.h - - - - Target - - CC2530EB - - Config - - $PROJ_DIR$\..\..\..\..\..\Components\hal\target\CC2530EB\hal_board_cfg.h - - - - Drivers - - $PROJ_DIR$\..\..\..\..\..\Components\hal\target\CC2530EB\hal_adc.c - - - $PROJ_DIR$\..\..\..\..\..\Components\hal\target\CC2530EB\hal_dma.c - - - $PROJ_DIR$\..\..\..\..\..\Components\hal\target\CC2530EB\hal_flash.c - - - $PROJ_DIR$\..\..\..\..\..\Components\hal\target\CC2530EB\hal_key.c - - - $PROJ_DIR$\..\..\..\..\..\Components\hal\target\CC2530EB\hal_lcd.c - - - $PROJ_DIR$\..\..\..\..\..\Components\hal\target\CC2530EB\hal_led.c - - - $PROJ_DIR$\..\..\..\..\..\Components\hal\target\CC2530EB\hal_sleep.c - - - $PROJ_DIR$\..\..\..\..\..\Components\hal\target\CC2530EB\hal_startup.c - - - $PROJ_DIR$\..\..\..\..\..\Components\hal\target\CC2530EB\hal_timer.c - - - $PROJ_DIR$\..\..\..\..\..\Components\hal\target\CC2530EB\hal_uart.c - - - - Includes - - $PROJ_DIR$\..\..\..\..\..\Components\hal\target\CC2530EB\hal_aes.h - - - $PROJ_DIR$\..\..\..\..\..\Components\hal\target\CC2530EB\hal_ccm.h - - - $PROJ_DIR$\..\..\..\..\..\Components\hal\target\CC2530EB\hal_dma.h - - - $PROJ_DIR$\..\..\..\..\..\Components\hal\target\CC2530EB\hal_mcu.h - - - $PROJ_DIR$\..\..\..\..\..\Components\hal\target\CC2530EB\hal_types.h - - - - - ZLIGHT - - Config - - $PROJ_DIR$\..\..\..\..\..\Components\hal\target\CC2530PMP4712\hal_board_cfg.h - - - - Drivers - - $PROJ_DIR$\..\..\..\..\..\Components\hal\target\CC2530PMP4712\hal_adc.c - - - $PROJ_DIR$\..\..\..\..\..\Components\hal\target\CC2530PMP4712\hal_dma.c - - - $PROJ_DIR$\..\..\..\..\..\Components\hal\target\CC2530PMP4712\hal_flash.c - - - $PROJ_DIR$\..\..\..\..\..\Components\hal\target\CC2530PMP4712\hal_key.c - - - $PROJ_DIR$\..\..\..\..\..\Components\hal\target\CC2530PMP4712\hal_lcd.c - - - $PROJ_DIR$\..\..\..\..\..\Components\hal\target\CC2530PMP4712\hal_led.c - - - $PROJ_DIR$\..\..\..\..\..\Components\hal\target\CC2530PMP4712\hal_sleep.c - - - $PROJ_DIR$\..\..\..\..\..\Components\hal\target\CC2530PMP4712\hal_startup.c - - - $PROJ_DIR$\..\..\..\..\..\Components\hal\target\CC2530PMP4712\hal_timer.c - - - $PROJ_DIR$\..\..\..\..\..\Components\hal\target\CC2530PMP4712\hal_uart.c - - - - Include - - $PROJ_DIR$\..\..\..\..\..\Components\hal\target\CC2530PMP4712\hal_aes.h - - - $PROJ_DIR$\..\..\..\..\..\Components\hal\target\CC2530PMP4712\hal_ccm.h - - - $PROJ_DIR$\..\..\..\..\..\Components\hal\target\CC2530PMP4712\hal_dma.h - - - $PROJ_DIR$\..\..\..\..\..\Components\hal\target\CC2530PMP4712\hal_mcu.h - - - $PROJ_DIR$\..\..\..\..\..\Components\hal\target\CC2530PMP4712\hal_types.h - - - - - - - MAC - - High Level - - $PROJ_DIR$\..\..\..\..\..\Components\mac\high_level\mac_cfg.c - - - $PROJ_DIR$\..\..\..\..\..\Components\mac\high_level\mac_high_level.h - - - $PROJ_DIR$\..\..\..\..\..\Components\mac\high_level\mac_pib.c - - - $PROJ_DIR$\..\..\..\..\..\Components\mac\high_level\mac_pib.h - - - $PROJ_DIR$\..\..\..\..\..\Components\mac\high_level\mac_spec.h - - - - Include - - $PROJ_DIR$\..\..\..\..\..\Components\mac\include\mac_api.h - - - - Low Level - - Common - - $PROJ_DIR$\..\..\..\..\..\Components\mac\low_level\srf04\mac_assert.h - - - $PROJ_DIR$\..\..\..\..\..\Components\mac\low_level\srf04\mac_autopend.c - - - $PROJ_DIR$\..\..\..\..\..\Components\mac\low_level\srf04\mac_autopend.h - - - $PROJ_DIR$\..\..\..\..\..\Components\mac\low_level\srf04\mac_backoff_timer.c - - - $PROJ_DIR$\..\..\..\..\..\Components\mac\low_level\srf04\mac_backoff_timer.h - - - $PROJ_DIR$\..\..\..\..\..\Components\mac\low_level\srf04\mac_low_level.c - - - $PROJ_DIR$\..\..\..\..\..\Components\mac\low_level\srf04\mac_low_level.h - - - $PROJ_DIR$\..\..\..\..\..\Components\mac\low_level\srf04\mac_radio.c - - - $PROJ_DIR$\..\..\..\..\..\Components\mac\low_level\srf04\mac_radio.h - - - $PROJ_DIR$\..\..\..\..\..\Components\mac\low_level\srf04\mac_rx.c - - - $PROJ_DIR$\..\..\..\..\..\Components\mac\low_level\srf04\mac_rx.h - - - $PROJ_DIR$\..\..\..\..\..\Components\mac\low_level\srf04\mac_rx_onoff.c - - - $PROJ_DIR$\..\..\..\..\..\Components\mac\low_level\srf04\mac_rx_onoff.h - - - $PROJ_DIR$\..\..\..\..\..\Components\mac\low_level\srf04\mac_sleep.c - - - $PROJ_DIR$\..\..\..\..\..\Components\mac\low_level\srf04\mac_sleep.h - - - $PROJ_DIR$\..\..\..\..\..\Components\mac\low_level\srf04\mac_tx.c - - - $PROJ_DIR$\..\..\..\..\..\Components\mac\low_level\srf04\mac_tx.h - - - - System - - $PROJ_DIR$\..\..\..\..\..\Components\mac\low_level\srf04\single_chip\mac_csp_tx.c - - - $PROJ_DIR$\..\..\..\..\..\Components\mac\low_level\srf04\single_chip\mac_csp_tx.h - - - $PROJ_DIR$\..\..\..\..\..\Components\mac\low_level\srf04\single_chip\mac_mcu.c - - - $PROJ_DIR$\..\..\..\..\..\Components\mac\low_level\srf04\single_chip\mac_mcu.h - - - $PROJ_DIR$\..\..\..\..\..\Components\mac\low_level\srf04\single_chip\mac_mem.c - - - $PROJ_DIR$\..\..\..\..\..\Components\mac\low_level\srf04\single_chip\mac_mem.h - - - $PROJ_DIR$\..\..\..\..\..\Components\mac\low_level\srf04\single_chip\mac_radio_defs.c - - - $PROJ_DIR$\..\..\..\..\..\Components\mac\low_level\srf04\single_chip\mac_radio_defs.h - - - $PROJ_DIR$\..\..\..\..\..\Components\mac\low_level\srf04\single_chip\mac_rffrontend.c - - - - - - MT - - $PROJ_DIR$\..\..\..\..\..\Components\mt\DebugTrace.c - - - $PROJ_DIR$\..\..\..\..\..\Components\mt\DebugTrace.h - - - $PROJ_DIR$\..\..\..\..\..\Components\mt\MT.c - - - $PROJ_DIR$\..\..\..\..\..\Components\mt\MT.h - - - $PROJ_DIR$\..\..\..\..\..\Components\mt\MT_AF.c - - - $PROJ_DIR$\..\..\..\..\..\Components\mt\MT_AF.h - - - $PROJ_DIR$\..\..\..\..\..\Components\mt\MT_APP.c - - - $PROJ_DIR$\..\..\..\..\..\Components\mt\MT_APP.h - - - $PROJ_DIR$\..\..\..\..\..\Components\mt\MT_DEBUG.c - - - $PROJ_DIR$\..\..\..\..\..\Components\mt\MT_DEBUG.h - - - $PROJ_DIR$\..\..\..\..\..\Components\mt\MT_NWK.c - - - $PROJ_DIR$\..\..\..\..\..\Components\mt\MT_NWK.h - - - $PROJ_DIR$\..\..\..\..\..\Components\mt\MT_RPC.h - - - $PROJ_DIR$\..\..\..\..\..\Components\mt\MT_SAPI.c - - - $PROJ_DIR$\..\..\..\..\..\Components\mt\MT_SAPI.h - - - $PROJ_DIR$\..\..\..\..\..\Components\mt\MT_SYS.c - - - $PROJ_DIR$\..\..\..\..\..\Components\mt\MT_SYS.h - - - $PROJ_DIR$\..\..\..\..\..\Components\mt\MT_TASK.c - - - $PROJ_DIR$\..\..\..\..\..\Components\mt\MT_TASK.h - - - $PROJ_DIR$\..\..\..\..\..\Components\mt\MT_UART.c - - - $PROJ_DIR$\..\..\..\..\..\Components\mt\MT_UART.h - - - $PROJ_DIR$\..\..\..\..\..\Components\mt\MT_UTIL.c - - - $PROJ_DIR$\..\..\..\..\..\Components\mt\MT_UTIL.h - - - $PROJ_DIR$\..\..\..\..\..\Components\mt\MT_VERSION.c - - - $PROJ_DIR$\..\..\..\..\..\Components\mt\MT_VERSION.h - - - $PROJ_DIR$\..\..\..\..\..\Components\mt\MT_ZDO.c - - - $PROJ_DIR$\..\..\..\..\..\Components\mt\MT_ZDO.h - - - - NWK - - $PROJ_DIR$\..\..\..\..\..\Components\stack\nwk\AddrMgr.h - - - $PROJ_DIR$\..\..\..\..\..\Components\stack\nwk\APS.h - - - $PROJ_DIR$\..\..\..\..\..\Components\stack\nwk\aps_frag.h - - - $PROJ_DIR$\..\..\..\..\..\Components\stack\nwk\aps_groups.h - - - $PROJ_DIR$\..\..\..\..\..\Components\stack\nwk\aps_util.h - - - $PROJ_DIR$\..\..\..\..\..\Components\stack\nwk\APSMEDE.h - - - $PROJ_DIR$\..\..\..\..\..\Components\stack\nwk\AssocList.h - - - $PROJ_DIR$\..\..\..\..\..\Components\stack\nwk\BindingTable.c - - - $PROJ_DIR$\..\..\..\..\..\Components\stack\nwk\BindingTable.h - - - $PROJ_DIR$\..\..\..\..\..\Components\stack\nwk\NLMEDE.h - - - $PROJ_DIR$\..\..\..\..\..\Components\stack\nwk\nwk.h - - - $PROJ_DIR$\..\..\..\..\..\Components\stack\nwk\nwk_bufs.h - - - $PROJ_DIR$\..\..\..\..\..\Components\stack\nwk\nwk_globals.c - - - $PROJ_DIR$\..\..\..\..\..\Components\stack\nwk\nwk_globals.h - - - $PROJ_DIR$\..\..\..\..\..\Components\stack\nwk\nwk_util.h - - - $PROJ_DIR$\..\..\..\..\..\Components\stack\nwk\reflecttrack.h - - - $PROJ_DIR$\..\..\..\..\..\Components\stack\nwk\rtg.h - - - $PROJ_DIR$\..\..\..\..\..\Components\stack\nwk\stub_aps.c - - - $PROJ_DIR$\..\..\..\..\..\Components\stack\nwk\stub_aps.h - - - $PROJ_DIR$\..\..\..\..\..\Components\stack\sys\ZDiags.c - - - $PROJ_DIR$\..\..\..\..\..\Components\stack\sys\ZDiags.h - - - $PROJ_DIR$\..\..\..\..\..\Components\stack\sys\ZGlobals.c - - - $PROJ_DIR$\..\..\..\..\..\Components\stack\sys\ZGlobals.h - - - - OSAL - - $PROJ_DIR$\..\..\..\..\..\Components\osal\include\comdef.h - - - $PROJ_DIR$\..\..\..\..\..\Components\osal\common\OSAL.c - - - $PROJ_DIR$\..\..\..\..\..\Components\osal\include\OSAL.h - - - $PROJ_DIR$\..\..\..\..\..\Components\osal\common\OSAL_Clock.c - - - $PROJ_DIR$\..\..\..\..\..\Components\osal\include\OSAL_Clock.h - - - $PROJ_DIR$\..\..\..\..\..\Components\osal\mcu\cc2530\OSAL_Math.s51 - - - $PROJ_DIR$\..\..\..\..\..\Components\osal\common\OSAL_Memory.c - - - $PROJ_DIR$\..\..\..\..\..\Components\osal\include\OSAL_Memory.h - - - $PROJ_DIR$\..\..\..\..\..\Components\osal\mcu\cc2530\OSAL_Nv.c - - - $PROJ_DIR$\..\..\..\..\..\Components\osal\include\OSAL_Nv.h - - - $PROJ_DIR$\..\..\..\..\..\Components\osal\common\OSAL_PwrMgr.c - - - $PROJ_DIR$\..\..\..\..\..\Components\osal\include\OSAL_PwrMgr.h - - - $PROJ_DIR$\..\..\..\..\..\Components\osal\include\OSAL_Tasks.h - - - $PROJ_DIR$\..\..\..\..\..\Components\osal\common\OSAL_Timers.c - - - $PROJ_DIR$\..\..\..\..\..\Components\osal\include\OSAL_Timers.h - - - $PROJ_DIR$\..\..\..\..\..\Components\osal\include\ZComDef.h - - - - Profile - - $PROJ_DIR$\..\..\..\..\..\Components\stack\af\AF.c - - - $PROJ_DIR$\..\..\..\..\..\Components\stack\af\AF.h - - - $PROJ_DIR$\..\..\..\..\..\Components\stack\zcl\zcl.c - - - $PROJ_DIR$\..\..\..\..\..\Components\stack\zcl\zcl.h - - - $PROJ_DIR$\..\..\..\..\..\Components\stack\zcl\zcl_diagnostic.c - - - $PROJ_DIR$\..\..\..\..\..\Components\stack\zcl\zcl_diagnostic.h - - - $PROJ_DIR$\..\..\..\..\..\Components\stack\zcl\zcl_ezmode.c - - - $PROJ_DIR$\..\..\..\..\..\Components\stack\zcl\zcl_ezmode.h - - - $PROJ_DIR$\..\..\..\..\..\Components\stack\zcl\zcl_general.c - - - $PROJ_DIR$\..\..\..\..\..\Components\stack\zcl\zcl_general.h - - - $PROJ_DIR$\..\..\Source\zcl_ha.c - - - $PROJ_DIR$\..\..\Source\zcl_ha.h - - - - Security - - $PROJ_DIR$\..\..\..\..\..\Components\stack\sec\ssp.h - - - $PROJ_DIR$\..\..\..\..\..\Components\stack\sec\ssp_hash.h - - - - Services - - $PROJ_DIR$\..\..\..\..\..\Components\services\saddr\saddr.c - - - $PROJ_DIR$\..\..\..\..\..\Components\services\saddr\saddr.h - - - - Tools - - $PROJ_DIR$\..\..\..\Tools\CC2530DB\f8w2530.xcl - - - $PROJ_DIR$\..\..\..\Tools\CC2530DB\f8wConfig.cfg - - - $PROJ_DIR$\..\..\..\Tools\CC2530DB\f8wCoord.cfg - - - $PROJ_DIR$\..\..\..\Tools\CC2530DB\f8wEndev.cfg - - - $PROJ_DIR$\..\..\..\Tools\CC2530DB\f8wRouter.cfg - - - $PROJ_DIR$\..\..\..\Tools\CC2530DB\f8wZCL.cfg - - - - ZDO - - $PROJ_DIR$\..\..\..\..\..\Components\stack\zdo\ZDApp.c - - - $PROJ_DIR$\..\..\..\..\..\Components\stack\zdo\ZDApp.h - - - $PROJ_DIR$\..\..\..\..\..\Components\stack\zdo\ZDConfig.c - - - $PROJ_DIR$\..\..\..\..\..\Components\stack\zdo\ZDConfig.h - - - $PROJ_DIR$\..\..\..\..\..\Components\stack\zdo\ZDNwkMgr.c - - - $PROJ_DIR$\..\..\..\..\..\Components\stack\zdo\ZDNwkMgr.h - - - $PROJ_DIR$\..\..\..\..\..\Components\stack\zdo\ZDObject.c - - - $PROJ_DIR$\..\..\..\..\..\Components\stack\zdo\ZDObject.h - - - $PROJ_DIR$\..\..\..\..\..\Components\stack\zdo\ZDProfile.c - - - $PROJ_DIR$\..\..\..\..\..\Components\stack\zdo\ZDProfile.h - - - $PROJ_DIR$\..\..\..\..\..\Components\stack\zdo\ZDSecMgr.c - - - $PROJ_DIR$\..\..\..\..\..\Components\stack\zdo\ZDSecMgr.h - - - - ZMac - - $PROJ_DIR$\..\..\..\..\..\Components\zmac\f8w\zmac.c - - - $PROJ_DIR$\..\..\..\..\..\Components\zmac\ZMAC.h - - - $PROJ_DIR$\..\..\..\..\..\Components\zmac\f8w\zmac_cb.c - - - $PROJ_DIR$\..\..\..\..\..\Components\zmac\f8w\zmac_internal.h - - - - ZMain - - $PROJ_DIR$\..\..\..\ZMain\TI2530DB\chipcon_cstartup.s51 - - - $PROJ_DIR$\..\..\..\ZMain\TI2530DB\OnBoard.c - - - $PROJ_DIR$\..\..\..\ZMain\TI2530DB\OnBoard.h - - - $PROJ_DIR$\..\..\..\ZMain\TI2530DB\ZMain.c - - - diff --git a/src/ZigUP/CC2530DB/ZigUP.eww b/src/ZigUP/CC2530DB/ZigUP.eww index 9d5b9e8..61b698a 100755 --- a/src/ZigUP/CC2530DB/ZigUP.eww +++ b/src/ZigUP/CC2530DB/ZigUP.eww @@ -7,24 +7,10 @@ ALL - - ZigUP - CoordinatorEB - ZigUP RouterEB - - ZigUP - EndDeviceEB - - - ZigUP - RouterZLight - - - diff --git a/src/ZigUP/Source/ds18b20.c b/src/ZigUP/Source/ds18b20.c index 52e8c17..c2fb8ea 100755 --- a/src/ZigUP/Source/ds18b20.c +++ b/src/ZigUP/Source/ds18b20.c @@ -84,14 +84,19 @@ uint8 ds18b20_get_temp(void) temp1=ds18b20_read_byte(); temp2=ds18b20_read_byte(); ds18b20_RST_PULSE(); - EXT_Temperature = ((uint16)temp1 | (uint16)(temp2 & b00000111) << 8) / 16.0; + + if (temp1 == 0xff && temp2 == 0xff) + { + UART_String("DS18B20: No sensor found."); + return 0; + } // neg. temp if (temp2 & b00001000) EXT_Temperature = ((uint16)temp1 | (uint16)(temp2 & b00000111) << 8) / 16.0 - 128.0; // pos. temp else EXT_Temperature = ((uint16)temp1 | (uint16)(temp2 & b00000111) << 8) / 16.0; - sprintf(buffer, "DS18B20: %.2f °C\n", EXT_Temperature); + sprintf(buffer, "DS18B20: %.2f °C (0x%02X 0x%02X)\n", EXT_Temperature, temp1, temp2); UART_String(buffer); return 1; } diff --git a/src/ZigUP/Source/global.c b/src/ZigUP/Source/global.c index a3732ed..9076b1a 100755 --- a/src/ZigUP/Source/global.c +++ b/src/ZigUP/Source/global.c @@ -1,9 +1,11 @@ #include "ZComDef.h" -float EXT_Temperature = -1000; -float EXT_Humidity = -1000; -float ADC_Voltage = -1000; -float CPU_Temperature = -1000; +uint32 float_NaN = 0x7F800001; + +float EXT_Temperature; +float EXT_Humidity; +float ADC_Voltage; +float CPU_Temperature; uint16 DIG_IN = 0; byte zclZigUP_TaskID; diff --git a/src/ZigUP/Source/global.h b/src/ZigUP/Source/global.h index 93a927b..aada6f0 100755 --- a/src/ZigUP/Source/global.h +++ b/src/ZigUP/Source/global.h @@ -1,5 +1,7 @@ #include "ZComDef.h" +extern uint32 float_NaN; + extern float EXT_Temperature; extern float EXT_Humidity; extern float ADC_Voltage; @@ -14,3 +16,7 @@ extern volatile uint8 STATE_LIGHT; extern volatile uint8 STATE_LED; extern uint8 TEMP_SENSOR; + +#define REPORT_REASON_TIMER 0 +#define REPORT_REASON_KEY 1 +#define REPORT_REASON_DIGIN 2 diff --git a/src/ZigUP/Source/interrupts.c b/src/ZigUP/Source/interrupts.c index 6d53e61..e82aab0 100755 --- a/src/ZigUP/Source/interrupts.c +++ b/src/ZigUP/Source/interrupts.c @@ -21,41 +21,8 @@ __interrupt void IRQ_S0(void) _delay_ms(5); if (!P0_6) // still pressed? { - /* - WS2812_SendLED(255, 0, 0); - _delay_ms(500); - WS2812_SendLED(127, 0, 0); - _delay_ms(500); - WS2812_SendLED(63, 0, 0); - _delay_ms(500); - - WS2812_SendLED(0, 255, 0); - _delay_ms(500); - WS2812_SendLED(0, 127, 0); - _delay_ms(500); - WS2812_SendLED(0, 63, 0); - _delay_ms(500); - - WS2812_SendLED(0, 0, 255); - _delay_ms(500); - WS2812_SendLED(0, 0, 127); - _delay_ms(500); - WS2812_SendLED(0, 0, 63); - _delay_ms(500); - */ S0++; UART_String("[INT] S0!"); - char buffer[100]; - sprintf(buffer, "S0-Counts: %lu", S0); - UART_String(buffer); - - - // FactoryReset(); - - - - LED(!STATE_LED); - } // Clear interrupt flags @@ -73,26 +40,23 @@ __interrupt void IRQ_KEY(void) _delay_ms(20); if (!P1_3) // still pressed? { - uint8 counter = 0; - while (!P1_3 && counter++ < 100) - { - _delay_ms(10); - counter++; - } - if (counter > 50) UART_String("lang"); - else UART_String("kurz"); - - - - WS2812_SendLED(22, 55, 11); Relais(!STATE_LIGHT); UART_String("[INT] KEY!"); - char buffer[100]; - sprintf(buffer, "Light-Status: %u", STATE_LIGHT); - UART_String(buffer); - Measure(); - zclZigUP_Reporting(); + // detection for longer keypress + uint8 counter = 0; + while (!P1_3 && counter < 100) + { + _delay_ms(50); + counter++; + } + if (counter >= 100) FactoryReset(); + + // update measurements (only the quick stuff, to stay responsive) + Measure_QuickStuff(); + + // report states + zclZigUP_Reporting(REPORT_REASON_KEY); } // Clear interrupt flags @@ -110,8 +74,23 @@ __interrupt void IRQ_DIGIN(void) _delay_ms(20); if (!P2_0) // still pressed? { - UART_String("[INT] Dig-In!"); DIG_IN = P2_0; + UART_String("[INT] Dig-In!"); + + // detection for longer keypress + uint8 counter = 0; + while (!P1_3 && counter < 100) + { + _delay_ms(50); + counter++; + } + if (counter >= 100) FactoryReset(); + + // update measurements (only the quick stuff, to stay responsive) + Measure_QuickStuff(); + + // report states + zclZigUP_Reporting(REPORT_REASON_DIGIN); } // Clear interrupt flags diff --git a/src/ZigUP/Source/uart.c b/src/ZigUP/Source/uart.c index e54d960..c5e59c6 100755 --- a/src/ZigUP/Source/uart.c +++ b/src/ZigUP/Source/uart.c @@ -13,7 +13,6 @@ void UART_Init(void) void UART_Transmit(char data) { - U0DBUF = data; while (U0CSR & (1<<0)); // wait until byte has been sent } diff --git a/src/ZigUP/Source/utils.c b/src/ZigUP/Source/utils.c index 0ecd3f4..81144ca 100755 --- a/src/ZigUP/Source/utils.c +++ b/src/ZigUP/Source/utils.c @@ -4,6 +4,9 @@ #include "uart.h" #include "global.h" #include "utils.h" +#include "ds18b20.h" +#include "adc.h" +#include "dht22.h" void FactoryReset(void) { @@ -23,16 +26,30 @@ void Relais(uint8 state) { P1_1 = 1; // activate ON-solenoid P1_2 = 0; // deactivate OFF-solenoid - _delay_ms(250); + _delay_ms(50); P1_1 = 0; // deactivate ON-solenoid } else // Switch light off { P1_1 = 0; // deactivate ON-solenoid P1_2 = 1; // activate OFF-solenoid - _delay_ms(250); + _delay_ms(50); P1_2 = 0; // deactivate OFF-solenoid } STATE_LIGHT = state; } + +void Measure_QuickStuff(void) +{ + DIG_IN = P2_0; + ADC_Voltage = ADC_GetVoltage(); + CPU_Temperature = ADC_GetTemperature(); +} + +void Measure_Sensor(void) +{ + // make new measurement depending of autodetected sensor type + if (TEMP_SENSOR == 1) DHT22_Measure(); + else if (TEMP_SENSOR == 2) ds18b20_get_temp(); +} diff --git a/src/ZigUP/Source/utils.h b/src/ZigUP/Source/utils.h index 8323e49..30faac5 100755 --- a/src/ZigUP/Source/utils.h +++ b/src/ZigUP/Source/utils.h @@ -1,2 +1,4 @@ void FactoryReset(void); void Relais(uint8 state); +void Measure_QuickStuff(void); +void Measure_Sensor(void); diff --git a/src/ZigUP/Source/zcl_zigup.c b/src/ZigUP/Source/zcl_zigup.c index a57375d..6301b89 100755 --- a/src/ZigUP/Source/zcl_zigup.c +++ b/src/ZigUP/Source/zcl_zigup.c @@ -25,7 +25,7 @@ #include "dht22.h" #include "utils.h" -#define ZIGUP_REPORTING_INTERVAL 5000 +#define ZIGUP_REPORTING_INTERVAL 30000 afAddrType_t zclZigUP_DstAddr; @@ -40,23 +40,9 @@ static endPointDesc_t ZigUP_TestEp = devStates_t zclZigUP_NwkState = DEV_INIT; -void Measure(void) +void zclZigUP_Reporting(uint16 REPORT_REASON) { - ADC_Voltage = ADC_GetVoltage(); - CPU_Temperature = ADC_GetTemperature(); - - // invalidate old measurements - EXT_Temperature = -1000; - EXT_Humidity = -1000; - - // make new measurement depending of autodetected sensor type - if (TEMP_SENSOR == 1) DHT22_Measure(); - else if (TEMP_SENSOR == 2) ds18b20_get_temp(); -} - -void zclZigUP_Reporting(void) -{ -#define NUM_ATTRIBUTES 7 + const uint8 NUM_ATTRIBUTES = 8; // send report zclReportCmd_t *pReportCmd; @@ -93,7 +79,11 @@ void zclZigUP_Reporting(void) pReportCmd->attrList[6].attrID = ATTRID_DIG_INPUT; pReportCmd->attrList[6].dataType = ZCL_DATATYPE_UINT16; // boolean or uint8 causes every second report to hang... pReportCmd->attrList[6].attrData = (void *)(&DIG_IN); - + + pReportCmd->attrList[7].attrID = ATTRID_REPORT_REASON; + pReportCmd->attrList[7].dataType = ZCL_DATATYPE_UINT16; + pReportCmd->attrList[7].attrData = (void *)(&REPORT_REASON); + zclZigUP_DstAddr.addrMode = (afAddrMode_t)Addr16Bit; zclZigUP_DstAddr.addr.shortAddr = 0; zclZigUP_DstAddr.endPoint=1; @@ -105,8 +95,6 @@ void zclZigUP_Reporting(void) } - - /********************************************************************* * ZCL General Profile Callback table */ @@ -305,12 +293,21 @@ void zclZigUP_Init( byte task_id ) U1GCR = b00010000; // UART1 Baud_E U1BAUD = b01000000; // UART1 Baud_M + UART_Init(); _delay_ms(GetRandomNumber()); // Random delay + // Turn all lights off Relais(0); - // WS2812_SendLED(0, 0, 0); - UART_Init(); + WS2812_SendLED(0, 0, 0); + LED(0); + + // invalidate float values by "assigning" NaN + // they will be filled later if sensors are present + EXT_Temperature = *(float*)&float_NaN; + EXT_Humidity = *(float*)&float_NaN; + ADC_Voltage = *(float*)&float_NaN; + CPU_Temperature = *(float*)&float_NaN; // autodetecting sensor type if (DHT22_Measure()) @@ -325,8 +322,8 @@ void zclZigUP_Init( byte task_id ) } else UART_String("No sensor detected."); - - // osal_start_reload_timer( zclZigUP_TaskID, ZIGUP_REPORTING_EVT, ZIGUP_REPORTING_INTERVAL ); + // start measurement task for reporting of values + osal_start_reload_timer( zclZigUP_TaskID, ZIGUP_REPORTING_EVT, ZIGUP_REPORTING_INTERVAL ); UART_String("Init done."); } @@ -390,10 +387,11 @@ uint16 zclZigUP_event_loop( uint8 task_id, uint16 events ) if ( events & ZIGUP_REPORTING_EVT ) { // update measurements - Measure(); + Measure_QuickStuff(); + Measure_Sensor(); // report states - zclZigUP_Reporting(); + zclZigUP_Reporting(REPORT_REASON_TIMER); return ( events ^ ZIGUP_REPORTING_EVT ); } diff --git a/src/ZigUP/Source/zcl_zigup.h b/src/ZigUP/Source/zcl_zigup.h index 27c597a..ed92830 100755 --- a/src/ZigUP/Source/zcl_zigup.h +++ b/src/ZigUP/Source/zcl_zigup.h @@ -27,6 +27,7 @@ extern "C" #define ATTRID_S0_COUNTS 41364 #define ATTRID_ADC_VOLT 41365 #define ATTRID_DIG_INPUT 41366 +#define ATTRID_REPORT_REASON 41367 extern SimpleDescriptionFormat_t zclZigUP_SimpleDesc[]; @@ -49,9 +50,7 @@ void FactoryReset(void); void Relais(uint8 state); void LED(uint8 state); -void zclZigUP_Reporting(void); -void Measure(void); - +void zclZigUP_Reporting(uint16 REPORT_REASON); static void zclZigUP_BasicResetCB( void ); static void zclZigUP_IdentifyCB( zclIdentify_t *pCmd );