//////////////////////////////////////////////////////////////////////////// ///@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(); }