✏️ 更改(wifi APP):添加句柄

This commit is contained in:
Alvin Young 2022-09-29 22:56:58 +08:00
parent c3143ab956
commit ca46cd1fee
4 changed files with 55 additions and 13 deletions

View File

@ -1,10 +0,0 @@
cmake_minimum_required(VERSION 3.5)
#_SUB_SOURCES
aux_source_directory(${CMAKE_CURRENT_SOURCE_DIR} _SUB_SOURCES)
#_SOURCES
list(APPEND _SOURCES ${_SUB_SOURCES})
#_SOURCES
set(_SOURCES ${_SOURCES} PARENT_SCOPE)
add_subdirectory(app_task_hello)

View File

@ -20,11 +20,11 @@
#include "app_task_wifi.h" #include "app_task_wifi.h"
#include "freertos/FreeRTOS.h" #include "freertos/FreeRTOS.h"
#include "freertos/task.h" #include "freertos/task.h"
#include "freertos/event_groups.h" #include "freertos/event_groups.h"
#include "esp_wifi.h" #include "esp_wifi.h"
#include "esp_log.h" #include "esp_log.h"
#include "esp_event.h" #include "esp_event.h"
#include <string.h>
/* Set the SSID and Password via project configuration, or can set directly here */ /* Set the SSID and Password via project configuration, or can set directly here */
#define DEFAULT_SSID "1022" #define DEFAULT_SSID "1022"
@ -65,6 +65,7 @@
#endif /*CONFIG_EXAMPLE_FAST_SCAN_THRESHOLD*/ #endif /*CONFIG_EXAMPLE_FAST_SCAN_THRESHOLD*/
static const char *TAG = "scan"; static const char *TAG = "scan";
static app_task_wifi_t sg_wifi_app_handle = {0};
static void event_handler(void* arg, esp_event_base_t event_base, static void event_handler(void* arg, esp_event_base_t event_base,
int32_t event_id, void* event_data) int32_t event_id, void* event_data)
@ -115,7 +116,10 @@ static void fast_scan(void)
static void _app_wifi_task_run(void *param) static void _app_wifi_task_run(void *param)
{ {
fast_scan(); fast_scan();
while(1) { sg_wifi_app_handle.is_wifi_conneted = 1;
while(sg_wifi_app_handle.is_wifi_app_running) {
printf("wifi info:\r\n");
printf("is wifi conneted : %d\r\n", sg_wifi_app_handle.is_wifi_conneted);
vTaskDelay(100); vTaskDelay(100);
} }
} }
@ -123,11 +127,21 @@ static void _app_wifi_task_run(void *param)
uint8_t app_task_wifi_start() uint8_t app_task_wifi_start()
{ {
vTaskDelay(10); vTaskDelay(10);
sg_wifi_app_handle.is_wifi_app_start = 1;
sg_wifi_app_handle.is_wifi_app_running = 1;
xTaskCreatePinnedToCore(_app_wifi_task_run, "wifi app task", 4096, NULL, 5, NULL, tskNO_AFFINITY); xTaskCreatePinnedToCore(_app_wifi_task_run, "wifi app task", 4096, NULL, 5, NULL, tskNO_AFFINITY);
return 0; return 0;
} }
uint8_t app_task_wifi_stop() uint8_t app_task_wifi_stop()
{ {
sg_wifi_app_handle.is_wifi_app_running = 0;
return 0;
}
uint8_t app_task_wifi_get_info(app_task_wifi_t *info_ptr)
{
memcpy(info_ptr, &sg_wifi_app_handle, sizeof(app_task_wifi_t));
return 0; return 0;
} }

View File

@ -26,10 +26,48 @@
extern "C" { extern "C" {
#endif #endif
/// @brief wifi 控制句柄
typedef struct _app_task_wifi_t_
{
/// @brief wifi APP是否启动0-》未启动 | 1-》已经启动
uint8_t is_wifi_app_start;
/// @brief wifi是否连接0-》未连接 | 1-》已连接
uint8_t is_wifi_conneted;
/// @brief wifi APP线程是否运行0-》未运行 | 1-》正在运行
uint8_t is_wifi_app_running;
} app_task_wifi_t;
/**
* app_task_wifi_start
* @brief wifi APP启动
* @author impressionyang (impressionyang@outlook.com)
* @return uint8_t
*
* @details
*/
uint8_t app_task_wifi_start(); uint8_t app_task_wifi_start();
/**
* app_task_wifi_stop
* @brief wifi APP关闭
* @author impressionyang (impressionyang@outlook.com)
* @return uint8_t
*
* @details
*/
uint8_t app_task_wifi_stop(); uint8_t app_task_wifi_stop();
/**
* app_task_wifi_get_info
* @brief wifi APP信息获取
* @author impressionyang (impressionyang@outlook.com)
* @param [in] info_ptr
* @return uint8_t
*
* @details
*/
uint8_t app_task_wifi_get_info(app_task_wifi_t *info_ptr);
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif

View File

@ -55,7 +55,7 @@ void app_main(void)
printf("Minimum free heap size: %d bytes\n", esp_get_minimum_free_heap_size()); printf("Minimum free heap size: %d bytes\n", esp_get_minimum_free_heap_size());
for (int i = 10; ; ) { for (int i = 10; ; ) {
printf("Restarting in %d seconds...\n", i); // printf("Restarting in %d seconds...\n", i);
vTaskDelay(1000 / portTICK_PERIOD_MS); vTaskDelay(1000 / portTICK_PERIOD_MS);
} }
printf("Restarting now.\n"); printf("Restarting now.\n");