Browse Source

feature: 1.添加长时间无操作关机功能,默认时间为3min

v4-temp
Zhangwen 3 weeks ago
parent
commit
1e03a466ce
  1. 2
      source/app/app_config.c
  2. 2
      source/app/app_config.h
  3. 36
      source/app/main.h
  4. 31
      source/app/task_appstatus.c
  5. 19
      source/app/task_appstatus.h
  6. 3
      source/app/task_keystatus.c
  7. 2
      source/bsp/bsp_oid.c
  8. 2
      source/bsp/chipid.c

2
source/app/app_config.c

@ -116,6 +116,8 @@ void L3_reg_reset(void)
{
U8 i = 0;
R.Operate_time = 0;
R.app_status = POW_OFF;
R.pen_sta = 0;

2
source/app/app_config.h

@ -87,6 +87,8 @@ typedef struct global_register
APP_STATUS app_status;
U32 Operate_time;
}GlobalRegister;
extern GlobalRegister R;

36
source/app/main.h

@ -1,39 +1,3 @@
//////////////////////////////////////////////////////////////////////////
/// COPYRIGHT NOTICE
/// Copyright (c) 2017, 传控科技
/// All rights reserved.
///
/// @file main.c
/// @brief main app
///
///(本文件实现的功能的详述)
///
/// @version 1.1 CCsens technology
/// @author CC
/// @date 20150102
///
///
/// 修订说明:最初版本
/// Modified by:
/// Modified date:
/// Version:
/// Descriptions:
///
///
///
///
///
///
///
/// msp: humtemp flow
/// bsp: i2c adc
///
///
///
///
///
//////////////////////////////////////////////////////////////////////////
#ifndef _MAIN_H
#define _MAIN_H

31
source/app/task_appstatus.c

@ -1,15 +1,3 @@
////////////////////////////////////////////////////////////////////////////
///@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_appstatus.h"
#include "../bsp/bsp_led.h"
#include "../bsp/bsp_key.h"
@ -47,6 +35,12 @@ void L3_task_appstatus_handler(S_TASK_APPSTATUS *s)
L2_task_go(D_task_DETECTCHANGE);
TTSS_Task_step(D_task_DETECTCHANGE)
if (R.app_status != POW_OFF)
{
//低功耗模式判断
PowerOff_judge();
}
if(s->status != R.app_status)
{
s->status = R.app_status;
@ -148,3 +142,16 @@ void L3_task_appstatus_handler(S_TASK_APPSTATUS *s)
TTSS_Task_end();
}
// 无操作进入低功耗模式
void PowerOff_judge()
{
U32 Nowtime = D_sys_now;
if( Nowtime - R.Operate_time > Noperate_Time_Seconds) // 180000/JIFFIES = 180s
{
// R.ScrTouch_flag = 0;
R.app_status = POW_OFF;
L0_uart0_sendstr("R.app_status = POW_OFF!!!");
L0_uart0_0d0a();
}
}

19
source/app/task_appstatus.h

@ -1,16 +1,3 @@
////////////////////////////////////////////////////////////////////////////
///@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_APPSTATUS_H
#define _TASK_APPSTATUS_H
@ -18,6 +5,11 @@
#include "../clib/clib.h"
#include "app_config.h"
#define Noperate_Time_MSeconds 180000
#define Noperate_Time_Seconds Noperate_Time_MSeconds/JIFFIES // 180000/JIFFIES = 180s
typedef struct _s_task_appstatus
{
TS_task task;
@ -27,5 +19,6 @@ typedef struct _s_task_appstatus
extern S_TASK_APPSTATUS _s_task_appstatus;
extern void L3_task_AppStatus_init(void);
extern void L3_task_appstatus_handler(S_TASK_APPSTATUS *s);
extern void PowerOff_judge();
#endif // #ifndef

3
source/app/task_keystatus.c

@ -44,6 +44,7 @@ void L3_task_keystatus_handler(S_TASK_KEYSTATUS *s)
TTSS_Task_step(D_task_KEY_DETECT)
if(L2_ReadKey3() == Key_Down)
{
R.Operate_time = D_sys_now;
if (s->Key3_Down_Begin_Time == 0)
{
s->Key3_Down_Begin_Time = D_sys_now;
@ -82,6 +83,7 @@ void L3_task_keystatus_handler(S_TASK_KEYSTATUS *s)
}
else if (L2_ReadKey1() == Key_Down)
{
R.Operate_time = D_sys_now;
if (s->Key1_handled == 0 && R.app_status != POW_OFF)
{
s->Key1_handled = 1;
@ -91,6 +93,7 @@ void L3_task_keystatus_handler(S_TASK_KEYSTATUS *s)
}
else if (L2_ReadKey2() == Key_Down)
{
R.Operate_time = D_sys_now;
if (s->Key2_handled == 0 && R.app_status != POW_OFF)
{
s->Key2_handled = 1;

2
source/bsp/bsp_oid.c

@ -8,6 +8,7 @@
#include "../app/app_task_speech.h"
#include "../bsp/bsp_WT2605B.h"
#include "../bsp/bsp_wifi.h"
#include "../app/app_config.h"
/******************************************************************************************************
@ -472,6 +473,7 @@ void L1_Oid_readoid(void)
{
if(!OID_DET)
{
R.Operate_time = D_sys_now;
// L2_WT2605B_Broadcast(&audio_game_correct);
ts_oid.pre_x = ts_oid.X100;
ts_oid.pre_y = ts_oid.Y100;

2
source/bsp/chipid.c

@ -42,7 +42,7 @@ void L0_id_get_chipid()
P_SW2 |= 0x80;
for(i=0;i<MSP_ID_LEN;i++)
{
G.mcu_id[i] = ID_ADDR_IN_CHIPID[i];
G.mcu_id[i] = ID_ADDR_IN_CHIPID[3+i];
}
}

Loading…
Cancel
Save