//////////////////////////////////////////////////////////////////////////// ///@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" #include "../bsp/bsp_WT2605B.h" #include "../app/app_config.h" #include "../bsp/bsp_config.h" #include "../msp/uart0.h" #include "../bsp/bsp_led.h" #include "../app/task_game.h" #include "../app/task_Adc.h" #include "../app/task_w600.h" #include "../bsp/bsp_wifi.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 #define D_task_WIFICONFIG_STATUS01 0x52 #define D_task_WIFICONFIG_STATUS02 0x53 #define D_task_WIFICONN_STATUS01 0x54 #define D_task_WIFICONN_STATUS02 0x55 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); } else if (s->status == WIFI_CONFIG) { L2_task_go_Tdelay(D_task_WIFICONFIG_STATUS01,0); } else if (s->status == WIFI_CONNECTED) { L2_task_go_Tdelay(D_task_WIFICONN_STATUS01,0); } TTSS_Task_step(D_task_HANDLECHANGE) if(s->status == POW_OFF) { // LED灯灭 L2_LED_OFF(); // 播放关机语音 L2_WT2605B_Broadcast(&audio_powerdown); // OID、WIFI关闭 L2_OID_WIFI_Close(); } else if (s->status == POW_ON_WAIT) { // LED红灯常亮,LED绿灯灭 L2_RED_LED_ON(); // OID、WIFI开启 L2_OID_WIFI_Open(); // 通电后播放开机语音 L2_WT2605B_Broadcast(&audio_poweron); //wifi任务初始化 L3_task_W600_flow_init(W600_ST); // Adc任务初始化 L3_task_Adc_init(); // game任务初始化 L3_task_game_init(); s->status = POW_ON; R.app_status = POW_ON; } else if (s->status == WIFI_CONFIG) { // 灯灭 L2_LED_OFF(); // 音频播放 L2_WT2605B_Broadcast(&audio_config_mode); // 配网任务初始化,进入配网 // L3_gm35_send_str("+++"); L3_task_W600_flow_init(W600_SC); } else if (s->status == WIFI_CONFIG_Phone) { L2_WT2605B_Broadcast(&audio_config_phone); } else if (s->status == WIFI_CONFIG_COMPLETE) { L2_WT2605B_Broadcast(&audio_config_complete); // 配网成功,进入STAION模式 L3_task_W600_flow_init(W600_ST); } else if (s->status == WIFI_CONNECTED) { // 灯灭 L2_LED_OFF(); // 音频播放 L2_WT2605B_Broadcast(&audio_wifi_connected); } else if (s->status == TCP_CONNECTED) { // LED红灯灭,LED绿灯常亮 L2_GREEN_LED_ON(); // 音频播放 L2_WT2605B_Broadcast(&audio_TCP_connected); } L2_task_go_Tdelay(D_task_DETECTCHANGE,D_Tdelay_300ms); TTSS_Task_step(D_task_WIFICONFIG_STATUS01) L2_RED_LED_ON(); L2_task_go_Tdelay(D_task_WIFICONFIG_STATUS02,D_Tdelay_500ms); TTSS_Task_step(D_task_WIFICONFIG_STATUS02) L2_LED_OFF(); L2_task_go_Tdelay(D_task_DETECTCHANGE,D_Tdelay_500ms); TTSS_Task_step(D_task_WIFICONN_STATUS01) L2_GREEN_LED_ON(); L2_task_go_Tdelay(D_task_WIFICONN_STATUS02,D_Tdelay_500ms); TTSS_Task_step(D_task_WIFICONN_STATUS02) L2_LED_OFF(); L2_task_go_Tdelay(D_task_DETECTCHANGE,D_Tdelay_500ms); TTSS_Task_end(); }