|
|
|
////////////////////////////////////////////////////////////////////////////
|
|
|
|
///@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 "../app/app_config.h"
|
|
|
|
#include "../app/task_w600.h"
|
|
|
|
#include "../bsp/bsp_key.h"
|
|
|
|
#include "../bsp/bsp_WT2605B.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.Key2_Down_Begin_Time = 0;
|
|
|
|
_s_task_keystatus.Key3_Down_Begin_Time = 0;
|
|
|
|
_s_task_keystatus.Key1_handled = 0;
|
|
|
|
_s_task_keystatus.Key2_handled = 0;
|
|
|
|
_s_task_keystatus.Key3_handled = 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_ReadKey3() == Key_Down)
|
|
|
|
{
|
|
|
|
if (s->Key3_Down_Begin_Time == 0)
|
|
|
|
{
|
|
|
|
s->Key3_Down_Begin_Time = D_sys_now;
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
U32 diff = D_sys_now -s->Key3_Down_Begin_Time;
|
|
|
|
// L0_uart0_ulhex(diff);
|
|
|
|
if (diff >= LongKey_PWR_MSeconds/JIFFIES && s->Key3_handled == 0)
|
|
|
|
{
|
|
|
|
if (R.app_status == POW_OFF)
|
|
|
|
{
|
|
|
|
R.app_status = POW_ON_WAIT;
|
|
|
|
s->Key3_Down_Begin_Time = 0;
|
|
|
|
s->Key3_handled = 1;
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
R.app_status = POW_OFF;
|
|
|
|
s->Key3_Down_Begin_Time = 0;
|
|
|
|
s->Key3_handled = 1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else if (diff >= LongKey_WIFICONF_MSeconds/JIFFIES && s->Key3_handled == 0)
|
|
|
|
{
|
|
|
|
if (L2_ReadKey1() == Key_Down)
|
|
|
|
{
|
|
|
|
if (R.app_status != POW_OFF)
|
|
|
|
{
|
|
|
|
R.app_status = WIFI_CONFIG;
|
|
|
|
s->Key3_handled = 1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else if (L2_ReadKey1() == Key_Down)
|
|
|
|
{
|
|
|
|
if (s->Key1_handled == 0 && R.app_status != POW_OFF)
|
|
|
|
{
|
|
|
|
s->Key1_handled = 1;
|
|
|
|
L0_uart0_uc('1');
|
|
|
|
L2_WT2605B_VioceUp(); // 音量增加
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else if (L2_ReadKey2() == Key_Down)
|
|
|
|
{
|
|
|
|
if (s->Key2_handled == 0 && R.app_status != POW_OFF)
|
|
|
|
{
|
|
|
|
s->Key2_handled = 1;
|
|
|
|
L0_uart0_uc('2');
|
|
|
|
L2_WT2605B_VioceDown(); // 音量减少
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
s->Key3_Down_Begin_Time = 0;
|
|
|
|
s->Key1_handled = 0;
|
|
|
|
s->Key2_handled = 0;
|
|
|
|
s->Key3_handled = 0;
|
|
|
|
}
|
|
|
|
L2_task_go_Tdelay(D_task_KEY_DETECT,D_Tdelay_300ms);
|
|
|
|
TTSS_Task_end();
|
|
|
|
}
|