9 changed files with 191 additions and 27 deletions
@ -0,0 +1,87 @@ |
|||||
|
////////////////////////////////////////////////////////////////////////////
|
||||
|
///@copyright Copyright (c) 2018, 传控科技 All rights reserved.
|
||||
|
///-------------------------------------------------------------------------
|
||||
|
/// @file bsp_drv.c
|
||||
|
/// @brief bsp @ driver config
|
||||
|
///-------------------------------------------------------------------------
|
||||
|
/// @version 1.0
|
||||
|
/// @author CC
|
||||
|
/// @date 20180331
|
||||
|
/// @note cc_AS_stc02
|
||||
|
//////////////////////////////////////////////////////////////////////////////
|
||||
|
|
||||
|
#include "../app/task_keystatus.h" |
||||
|
#include "../bsp/bsp_key.h" |
||||
|
#include "../app/app_config.h" |
||||
|
#include "../msp/uart0.h" |
||||
|
|
||||
|
|
||||
|
S_TASK_KEYSTATUS _s_task_keystatus; |
||||
|
|
||||
|
|
||||
|
void L3_task_KeyStatus_init(void) |
||||
|
{ |
||||
|
L1_task_init(&_s_task_keystatus.task); |
||||
|
_s_task_keystatus.Key1_Down_Begin_Time = 0; |
||||
|
_s_task_keystatus.Key1_handled = 0; |
||||
|
_s_task_keystatus.Key2_Down_Begin_Time = 0; |
||||
|
_s_task_keystatus.Key3_Down_Begin_Time = 0; |
||||
|
L3_task_s_go(_s_task_keystatus,D_task_init); |
||||
|
} |
||||
|
|
||||
|
#define D_task_KEY_DETECT 0x50 |
||||
|
|
||||
|
|
||||
|
void L3_task_keystatus_handler(S_TASK_KEYSTATUS *s) |
||||
|
{ |
||||
|
TTSS_Task_init() |
||||
|
|
||||
|
L2_task_go_Tdelay(D_task_KEY_DETECT,D_Tdelay_300ms); |
||||
|
|
||||
|
TTSS_Task_step(D_task_KEY_DETECT) |
||||
|
if(L2_ReadKey1() == Key_Down) |
||||
|
{ |
||||
|
if (s->Key1_Down_Begin_Time == 0) |
||||
|
{ |
||||
|
s->Key1_Down_Begin_Time = D_sys_now; |
||||
|
} |
||||
|
else |
||||
|
{ |
||||
|
U32 diff = D_sys_now -s->Key1_Down_Begin_Time; |
||||
|
L0_uart0_ulhex(diff); |
||||
|
if (diff >= LongKey_PWR_MSeconds/JIFFIES && s->Key1_handled == 0) |
||||
|
{ |
||||
|
if (R.app_status == POW_OFF) |
||||
|
{ |
||||
|
R.app_status = POW_ON; |
||||
|
s->Key1_Down_Begin_Time = 0; |
||||
|
s->Key1_handled = 1; |
||||
|
} |
||||
|
else |
||||
|
{ |
||||
|
R.app_status = POW_OFF; |
||||
|
s->Key1_Down_Begin_Time = 0; |
||||
|
s->Key1_handled = 1; |
||||
|
} |
||||
|
} |
||||
|
else if (diff >= LongKey_WIFICONF_MSeconds/JIFFIES && s->Key1_handled == 0) |
||||
|
{ |
||||
|
if (L2_ReadKey3() == Key_Down) |
||||
|
{ |
||||
|
if (R.app_status != POW_OFF) |
||||
|
{ |
||||
|
R.app_status = WIFI_CONFIG; |
||||
|
s->Key1_handled = 1; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
else |
||||
|
{ |
||||
|
s->Key1_Down_Begin_Time = 0; |
||||
|
s->Key1_handled = 0; |
||||
|
} |
||||
|
L2_task_go_Tdelay(D_task_KEY_DETECT,D_Tdelay_300ms); |
||||
|
TTSS_Task_end(); |
||||
|
} |
@ -0,0 +1,38 @@ |
|||||
|
////////////////////////////////////////////////////////////////////////////
|
||||
|
///@copyright Copyright (c) 2018, 传控科技 All rights reserved.
|
||||
|
///-------------------------------------------------------------------------
|
||||
|
/// @file bsp_drv.h
|
||||
|
/// @brief bsp @ driver config
|
||||
|
///-------------------------------------------------------------------------
|
||||
|
/// @version 1.0
|
||||
|
/// @author CC
|
||||
|
/// @date 20180331
|
||||
|
/// @note cc_AS_stc02
|
||||
|
|
||||
|
//////////////////////////////////////////////////////////////////////////////
|
||||
|
|
||||
|
#ifndef _TASK_KEYSTATUS_H |
||||
|
#define _TASK_KEYSTATUS_H |
||||
|
|
||||
|
#include "../ctask/task.h" |
||||
|
|
||||
|
|
||||
|
#define LongKey_PWR_MSeconds 3000 |
||||
|
#define LongKey_WIFICONF_MSeconds 2000 |
||||
|
|
||||
|
|
||||
|
typedef struct _s_task_keystatus |
||||
|
{ |
||||
|
TS_task task; |
||||
|
U32 Key1_Down_Begin_Time; |
||||
|
U8 Key1_handled; |
||||
|
U32 Key2_Down_Begin_Time; |
||||
|
U32 Key3_Down_Begin_Time; |
||||
|
}S_TASK_KEYSTATUS; |
||||
|
|
||||
|
extern S_TASK_KEYSTATUS _s_task_keystatus; |
||||
|
|
||||
|
extern void L3_task_KeyStatus_init(void); |
||||
|
extern void L3_task_keystatus_handler(S_TASK_KEYSTATUS *s); |
||||
|
|
||||
|
#endif // #ifndef
|
Loading…
Reference in new issue