Skip to content

Commit

Permalink
Merge pull request #6 from Utyff/Utyf
Browse files Browse the repository at this point in the history
fix button hold
  • Loading branch information
xyzroe committed Feb 12, 2022
2 parents db6995d + a3ec8d0 commit e98969e
Show file tree
Hide file tree
Showing 3 changed files with 30 additions and 21 deletions.
24 changes: 12 additions & 12 deletions CC2530DB/GenericApp.ewp
Original file line number Diff line number Diff line change
Expand Up @@ -142,11 +142,11 @@
<option>
<name>Input variant</name>
<version>2</version>
<state>0</state>
<state>5</state>
</option>
<option>
<name>Input description</name>
<state>Automatic choice of formatter.</state>
<state>No float.</state>
</option>
<option>
<name>Output variant</name>
Expand Down Expand Up @@ -1284,11 +1284,11 @@
<option>
<name>Input variant</name>
<version>2</version>
<state>0</state>
<state>5</state>
</option>
<option>
<name>Input description</name>
<state>Automatic choice of formatter.</state>
<state>No float.</state>
</option>
<option>
<name>Output variant</name>
Expand Down Expand Up @@ -1604,7 +1604,7 @@
<option>
<name>Compiler Extra Options Edit</name>
<state>-f $PROJ_DIR$\..\..\..\Tools\CC2530DB\f8wRouter.cfg</state>
<state>-f $PROJ_DIR$\..\..\..\Tools\CC2530DB\f8wConfig.cfg</state>
<state>-f $PROJ_DIR$\..\zstack-lib\f8wConfig.cfg</state>
<state>-f $PROJ_DIR$\..\..\..\Tools\CC2530DB\f8wZCL.cfg</state>
</option>
<option>
Expand Down Expand Up @@ -3704,7 +3704,7 @@
</option>
<option>
<name>OGChipConfigPath</name>
<state>$TOOLKIT_DIR$\config\devices\Texas Instruments\CC2530F256.i51</state>
<state>$TOOLKIT_DIR$\config\devices\Texas Instruments\CC25xx\3x\CC2530F256.i51</state>
</option>
</data>
</settings>
Expand Down Expand Up @@ -3887,7 +3887,7 @@
<option>
<name>Compiler Extra Options Edit</name>
<state>-f $PROJ_DIR$\..\..\..\Tools\CC2530DB\f8wRouter.cfg</state>
<state>-f $PROJ_DIR$\..\..\..\Tools\CC2530DB\f8wConfig.cfg</state>
<state>-f $PROJ_DIR$\..\zstack-lib\f8wConfig.cfg</state>
<state>-f $PROJ_DIR$\..\..\..\Tools\CC2530DB\f8wZCL.cfg</state>
</option>
<option>
Expand Down Expand Up @@ -5989,7 +5989,7 @@
</option>
<option>
<name>OGChipConfigPath</name>
<state>$TOOLKIT_DIR$\config\devices\Texas Instruments\CC2530F256.i51</state>
<state>$TOOLKIT_DIR$\config\devices\Texas Instruments\CC25xx\3x\CC2530F256.i51</state>
</option>
</data>
</settings>
Expand Down Expand Up @@ -6174,7 +6174,7 @@
<option>
<name>Compiler Extra Options Edit</name>
<state>-f $PROJ_DIR$\..\..\..\Tools\CC2530DB\f8wRouter.cfg</state>
<state>-f $PROJ_DIR$\..\..\..\Tools\CC2530DB\f8wConfig.cfg</state>
<state>-f $PROJ_DIR$\..\zstack-lib\f8wConfig.cfg</state>
<state>-f $PROJ_DIR$\..\..\..\Tools\CC2530DB\f8wZCL.cfg</state>
</option>
<option>
Expand Down Expand Up @@ -8276,7 +8276,7 @@
</option>
<option>
<name>OGChipConfigPath</name>
<state>$TOOLKIT_DIR$\config\devices\Texas Instruments\CC2530F256.i51</state>
<state>$TOOLKIT_DIR$\config\devices\Texas Instruments\CC25xx\3x\CC2530F256.i51</state>
</option>
</data>
</settings>
Expand Down Expand Up @@ -8461,7 +8461,7 @@
<option>
<name>Compiler Extra Options Edit</name>
<state>-f $PROJ_DIR$\..\..\..\Tools\CC2530DB\f8wRouter.cfg</state>
<state>-f $PROJ_DIR$\..\..\..\Tools\CC2530DB\f8wConfig.cfg</state>
<state>-f $PROJ_DIR$\..\zstack-lib\f8wConfig.cfg</state>
<state>-f $PROJ_DIR$\..\..\..\Tools\CC2530DB\f8wZCL.cfg</state>
</option>
<option>
Expand Down Expand Up @@ -9687,7 +9687,7 @@
<name>$PROJ_DIR$\..\..\..\Tools\CC2530DB\f8w2530.xcl</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\..\Tools\CC2530DB\f8wConfig.cfg</name>
<name>$PROJ_DIR$\..\zstack-lib\f8wConfig.cfg</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\..\Tools\CC2530DB\f8wCoord.cfg</name>
Expand Down
9 changes: 9 additions & 0 deletions Source/preinclude.h
Original file line number Diff line number Diff line change
Expand Up @@ -42,20 +42,29 @@
#endif

#if defined( HAL_BOARD_TARGET )
// Income ring - P0_0
#define KEY_INCOME_PORT HAL_KEY_PORT0
#define HAL_KEY_P0_INPUT_PINS BV(0)
#define HAL_KEY_P0_INPUT_PINS_EDGE HAL_KEY_RISING_EDGE
// Button - P2_0
#define KEY1_PORT HAL_KEY_PORT2
#define HAL_KEY_P2_INPUT_PINS BV(0)
#define HAL_KEY_P2_INPUT_PINS_EDGE HAL_KEY_FALLING_EDGE
#define INT_HEAP_LEN 2200//2256
#elif defined( HAL_BOARD_CHDTECH_DEV )
// Income ring - P0_1
#define KEY_INCOME_PORT HAL_KEY_PORT0
#define HAL_KEY_P0_INPUT_PINS BV(1)
#define HAL_KEY_P0_INPUT_PINS_EDGE HAL_KEY_FALLING_EDGE
// Button - P2_0
#define KEY1_PORT HAL_KEY_PORT2
#define HAL_KEY_P2_INPUT_PINS BV(0)
#define HAL_KEY_P2_INPUT_PINS_EDGE HAL_KEY_FALLING_EDGE
#define DO_DEBUG_UART
#define INT_HEAP_LEN 2060
#endif

#define BTN_HOLD_TIME 1000
#define FACTORY_RESET_HOLD_TIME_LONG 5000

#if defined( DO_DEBUG_UART )
Expand Down
18 changes: 9 additions & 9 deletions Source/zcl_app.c
Original file line number Diff line number Diff line change
Expand Up @@ -136,7 +136,7 @@ static void zclApp_HandleKeys(byte portAndAction, byte keyCode) {
//LREP("zclApp_HandleKeys portAndAction=0x%X keyCode=0x%X\r\n", portAndAction, keyCode);
//zclCommissioning_HandleKeys(portAndAction, keyCode);

if (portAndAction & 0x01) { //P0 Ring //S1 P0_1
if (portAndAction & KEY_INCOME_PORT) { //P0 Ring //S1 P0_1 TODO add check Income pin

//exit old stop timer
osal_stop_timerEx(zclApp_TaskID, APP_RING_STOP_EVT);
Expand Down Expand Up @@ -167,25 +167,25 @@ static void zclApp_HandleKeys(byte portAndAction, byte keyCode) {

}

if (portAndAction & 0x04) { //P2 Btn //S2 P2_0
if (portAndAction & KEY1_PORT) { //P2 Btn //S2 P2_0 TODO add check BUTTON pin
zclFactoryResetter_HandleKeys(portAndAction, keyCode);
if (portAndAction & HAL_KEY_PRESS) {
LREPMaster("Key pressed\r\n");
zclApp_State.pressTime = osal_getClock();
LREP("pressTime = %d\r\n", zclApp_State.pressTime);
zclApp_State.pressTime = osal_GetSystemClock();
LREP("pressTime = %ld\r\n", zclApp_State.pressTime);
}
if (portAndAction & HAL_KEY_RELEASE) {
LREPMaster("Key released\r\n");
uint32 holdTime = osal_getClock() - zclApp_State.pressTime;
LREP("holdTime = %d \r\n", holdTime);
zclApp_State.pressTime = 0;
if (holdTime >= 1) { //seconds
uint32 holdTime = osal_GetSystemClock() - zclApp_State.pressTime;
LREP("holdTime = %ld \r\n", holdTime);
if (zclApp_State.pressTime != 0 && holdTime >= BTN_HOLD_TIME) { // check release without press and hold milliseconds
osal_start_timerEx(zclApp_TaskID, APP_BTN_HOLD_EVT, 50);
}
else {
osal_start_timerEx(zclApp_TaskID, APP_BTN_CLICK_EVT, 50);
}
}
zclApp_State.pressTime = 0;
}
}
}

Expand Down

0 comments on commit e98969e

Please sign in to comment.