Commit 06264d3b authored by 王金亮's avatar 王金亮

feat:新增WiFi升级时,60s内无设备连接,关闭WiFi

parent 91c304b5
......@@ -45,7 +45,7 @@ uint32_t Sys_1ms_Cnt;
uint32_t testcnt;
// uint32_t testcnt;
static void Sys_Run_Tasks(void *arg)
{
......@@ -89,20 +89,30 @@ static void Sys_Run_Tasks(void *arg)
if(SYS_RUN_TASK_1000MS)
{
if (Wifi_OTA_Request == 0)
{
Wifi_OTA_Request = 1;
}
if(Wifi_OTA_Request == 1)
{
gatts_Ble_User_Task_Event_Del();
vTaskDelay(300);
gatts_App_Ble_DeInit();
(void)wifi_turn_on();
close_wifi_timer_clear();
Wifi_OTA_Request = 2;
}
testcnt++;
if(testcnt >= 10)
if (Wifi_OTA_Request == 2)
{
testcnt = 0;
close_timer();
}
// testcnt++;
// if(testcnt >= 10)
// {
// testcnt = 0;
// printf("OTA Fail!!!\r\n");
// printf("BT_User.BT_Sts = %d\r\n", BT_User.BT_Sts);
// printf("Ble_User.Ble_Sts = %d\r\n", Ble_User.Ble_Sts);
......@@ -125,7 +135,7 @@ static void Sys_Run_Tasks(void *arg)
// }
}
// }
}
vTaskDelay(1);
......@@ -149,6 +159,11 @@ void app_main(void)
// ESP_LOGE("MAIN", "Internal Sw = %f", Inter_SW);
xTaskCreatePinnedToCore(Sys_Run_Tasks, "Sys_Run_Tasks", 4096, NULL, 3, NULL, 1);
// vTaskDelay(3000);
// if (Wifi_OTA_Request == 0)
// {
// Wifi_OTA_Request = 1;
// }
}
......
......@@ -404,7 +404,6 @@ CONFIG_BT_GATTC_NOTIF_REG_MAX=5
CONFIG_BT_GATTC_CONNECT_RETRY_COUNT=3
CONFIG_BT_BLE_SMP_ENABLE=y
# CONFIG_BT_SMP_SLAVE_CON_PARAMS_UPD_ENABLE is not set
# CONFIG_BT_BLE_SMP_ID_RESET_ENABLE is not set
# CONFIG_BT_STACK_NO_LOG is not set
#
......@@ -593,7 +592,6 @@ CONFIG_BT_MAX_DEVICE_NAME_LEN=32
# CONFIG_BT_BLE_RPA_SUPPORTED is not set
CONFIG_BT_BLE_RPA_TIMEOUT=900
# CONFIG_BT_BLE_HIGH_DUTY_ADV_INTERVAL is not set
# CONFIG_BT_ABORT_WHEN_ALLOCATION_FAILS is not set
# end of Bluedroid Options
#
......@@ -647,21 +645,12 @@ CONFIG_BTDM_SCAN_DUPL_CACHE_SIZE=100
CONFIG_BTDM_SCAN_DUPL_CACHE_REFRESH_PERIOD=0
# CONFIG_BTDM_BLE_MESH_SCAN_DUPL_EN is not set
CONFIG_BTDM_CTRL_FULL_SCAN_SUPPORTED=y
# CONFIG_BTDM_CTRL_SCAN_BACKOFF_UPPERLIMITMAX is not set
CONFIG_BTDM_BLE_ADV_REPORT_FLOW_CTRL_SUPP=y
CONFIG_BTDM_BLE_ADV_REPORT_FLOW_CTRL_NUM=100
CONFIG_BTDM_BLE_ADV_REPORT_DISCARD_THRSHOLD=20
CONFIG_BTDM_RESERVE_DRAM=0xdb5c
CONFIG_BTDM_CTRL_HLI=y
# end of Controller Options
# CONFIG_BT_HCI_LOG_DEBUG_EN is not set
#
# Common Options
#
CONFIG_BT_ALARM_MAX_NUM=50
# end of Common Options
# end of Bluetooth
# CONFIG_BLE_MESH is not set
......@@ -1123,7 +1112,6 @@ CONFIG_ESP_TIMER_IMPL_TG0_LAC=y
#
CONFIG_ESP32_WIFI_ENABLED=y
CONFIG_ESP32_WIFI_SW_COEXIST_ENABLE=y
# CONFIG_ESP_COEX_POWER_MANAGEMENT is not set
CONFIG_ESP32_WIFI_STATIC_RX_BUFFER_NUM=10
CONFIG_ESP32_WIFI_DYNAMIC_RX_BUFFER_NUM=32
# CONFIG_ESP32_WIFI_STATIC_TX_BUFFER is not set
......
......@@ -180,3 +180,68 @@ void wifi_service_status_init()
{
g_wifi_service.status = WIFI_SERVICE_STOP;
}
/**
* @brief 获取当前wifi网络的连接设备数量
*
* @note return -2, WiFi未开启
* @note return -1, WiFi已开启, 无法获取设备数量
* @note return 0, WiFi已开启, 无设备连接
* @note return 1, WiFi已开启, 设备连接数量 = 1
*/
int get_sta_number(void)
{
int ret = 0;
if (g_wifi_service.status == WIFI_SERVICE_START)
{
wifi_sta_list_t softap_sta_list;
esp_err_t err = esp_wifi_ap_get_sta_list(&softap_sta_list);
if (err == ESP_OK)
{
ret = softap_sta_list.num;
}
else
{
/* 获取连接设备数量失败 */
ret = -1;
}
}
else
{
ret = -2;
}
return ret;
}
static int close_wifi_timer = 0;
void close_timer(void)
{
if (close_wifi_timer < 64)
{
close_wifi_timer++;
}
if (close_wifi_timer >= 60)
{
int sta_num = get_sta_number();
close_wifi_timer = 0;
switch (sta_num)
{
case 0:
wifi_turn_off(); // close wifi
break;
case -1:
/* system error */
break;
default:
break;
}
}
}
/* 开启wifi时需要将计时器初始化为0 */
void close_wifi_timer_clear(void)
{
close_wifi_timer = 0;
}
......@@ -55,4 +55,8 @@ unsigned char wifi_turn_on(void);
*/
unsigned char wifi_turn_off(void);
extern int get_sta_number(void);
extern void close_wifi_timer_clear(void);
extern void close_timer(void);
#endif
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment