You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
111 lines
2.7 KiB
111 lines
2.7 KiB
4 months ago
|
////////////////////////////////////////////////////////////////////////////
|
||
|
///@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 "task_appstatus.h"
|
||
|
#include "../bsp/bsp_led.h"
|
||
|
#include "../bsp/bsp_key.h"
|
||
|
#include "../bsp/bsp_WT2605B.h"
|
||
|
#include "../app/app_config.h"
|
||
|
#include "../bsp/bsp_config.h"
|
||
|
|
||
|
|
||
|
S_TASK_APPSTATUS _s_task_appstatus;
|
||
|
|
||
|
void L3_task_AppStatus_init(void)
|
||
|
{
|
||
|
L1_task_init(&_s_task_appstatus.task);
|
||
|
_s_task_appstatus.status = R.app_status;
|
||
|
L3_task_s_go(_s_task_appstatus,D_task_init);
|
||
|
}
|
||
|
|
||
|
#define D_task_DETECTCHANGE 0x50
|
||
|
#define D_task_HANDLECHANGE 0x51
|
||
|
|
||
|
void L3_task_appstatus_handler(S_TASK_APPSTATUS *s)
|
||
|
{
|
||
|
TTSS_Task_init()
|
||
|
L2_task_go(D_task_DETECTCHANGE);
|
||
|
|
||
|
TTSS_Task_step(D_task_DETECTCHANGE)
|
||
|
if(s->status != R.app_status)
|
||
|
{
|
||
|
s->status = R.app_status;
|
||
|
L2_task_go_Tdelay(D_task_HANDLECHANGE,D_Tdelay_300ms);
|
||
|
}
|
||
|
TTSS_Task_step(D_task_HANDLECHANGE)
|
||
|
if(s->status == POW_OFF)
|
||
|
{
|
||
|
// LED灯灭
|
||
|
RED_LED = LED_OFF;
|
||
|
GREEN_LED = LED_OFF;
|
||
|
// 音频播放关机语音后断电
|
||
|
L2_WT2605B_broadcast(&audio_powerdown);
|
||
|
Lc_delay_ms(1000);
|
||
|
L2_WT2605B_PWROFF();
|
||
|
// OID和WIFI断电
|
||
|
L0_PW_3V3_OFF();
|
||
|
|
||
|
}
|
||
|
else if (s->status == POW_ON)
|
||
|
{
|
||
|
// LED红灯常亮,LED绿灯灭
|
||
|
RED_LED = LED_ON;
|
||
|
GREEN_LED = LED_OFF;
|
||
|
// 音频通电后播放开机语音
|
||
|
L2_WT2605B_PWRON();
|
||
|
Lc_delay_ms(1000);
|
||
|
L2_WT2605B_broadcast(&audio_wellcome);
|
||
|
// OID和WIFI通电
|
||
|
L0_PW_3V3_ON();
|
||
|
}
|
||
|
else if (s->status == WIFI_CONNECTED)
|
||
|
{
|
||
|
// LED红绿交替闪烁
|
||
|
RED_LED = ~RED_LED;
|
||
|
GREEN_LED = ~GREEN_LED;
|
||
|
// 音频播放
|
||
|
L2_WT2605B_PWRON();
|
||
|
Lc_delay_ms(1000);
|
||
|
// L2_WT2605B_broadcast(audio_Wifi_Connected);
|
||
|
// OID和WIFI通电
|
||
|
L0_PW_3V3_ON();
|
||
|
|
||
|
}
|
||
|
else if (s->status == TCP_CONNECTED)
|
||
|
{
|
||
|
// LED红灯灭,LED绿灯常亮
|
||
|
RED_LED = LED_OFF;
|
||
|
GREEN_LED = LED_ON;
|
||
|
// 音频播放
|
||
|
L2_WT2605B_PWRON();
|
||
|
Lc_delay_ms(1000);
|
||
|
// L2_WT2605B_broadcast(audio_TCP_Connected);
|
||
|
// OID和WIFI通电
|
||
|
L0_PW_3V3_ON();
|
||
|
|
||
|
}
|
||
|
else if (s->status == WIFI_CONFIG)
|
||
|
{
|
||
|
// LED红灯闪烁,LED绿灯灭
|
||
|
RED_LED = ~RED_LED;
|
||
|
GREEN_LED = LED_OFF;
|
||
|
// 音频播放
|
||
|
L2_WT2605B_PWRON();
|
||
|
Lc_delay_ms(1000);
|
||
|
// L2_WT2605B_broadcast(&audio_Wifi_Config);
|
||
|
// OID和WIFI通电
|
||
|
L0_PW_3V3_ON();
|
||
|
}
|
||
|
L2_task_go_Tdelay(D_task_DETECTCHANGE,D_Tdelay_300ms);
|
||
|
|
||
|
TTSS_Task_end();
|
||
|
}
|