add Wi-Fi test
This commit is contained in:
parent
ab0cb4e257
commit
6ae1765d55
2 changed files with 80 additions and 4 deletions
3
.github/workflows/build.yml
vendored
3
.github/workflows/build.yml
vendored
|
|
@ -27,7 +27,8 @@ jobs:
|
|||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
board: [esp32c3-devkit, esp32c2-devkit]
|
||||
#board: [esp32c3-devkit, esp32c2-devkit]
|
||||
board: [esp32c3-devkit]
|
||||
fail-fast: false
|
||||
|
||||
steps:
|
||||
|
|
|
|||
|
|
@ -1,10 +1,19 @@
|
|||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <lua.h>
|
||||
#include <lualib.h>
|
||||
#include <lauxlib.h>
|
||||
#include "freertos/FreeRTOS.h"
|
||||
#include "freertos/task.h"
|
||||
#include "esp_heap_caps.h"
|
||||
#include "esp_wifi.h"
|
||||
#include "esp_event.h"
|
||||
#include "nvs_flash.h"
|
||||
#include "esp_log.h"
|
||||
|
||||
#define WIFI_SCAN_LIST_SIZE 10
|
||||
|
||||
static const char *TAG = "WIFI_SCAN";
|
||||
|
||||
// Function to log memory usage with the message at the end
|
||||
void log_memory_usage(const char *message)
|
||||
|
|
@ -57,7 +66,7 @@ void run_lua_qr_code_test(const char *lua_script, const char *test_name)
|
|||
// Retrieve the QR code string from the Lua stack
|
||||
const char *qr_code_string = lua_tostring(L, -1);
|
||||
if (qr_code_string) {
|
||||
printf("Mock QR Code:\n%s\n", qr_code_string);
|
||||
printf("QR Code:\n%s\n", qr_code_string);
|
||||
}
|
||||
lua_pop(L, lua_gettop(L));
|
||||
}
|
||||
|
|
@ -69,6 +78,59 @@ void run_lua_qr_code_test(const char *lua_script, const char *test_name)
|
|||
printf("End of Lua QR Code test: %s\n", test_name);
|
||||
}
|
||||
|
||||
// Function to initialize and perform Wi-Fi scan
|
||||
void scan_wifi_networks(void)
|
||||
{
|
||||
printf("Starting Wi-Fi scan...\n");
|
||||
|
||||
// Initialize NVS
|
||||
esp_err_t ret = nvs_flash_init();
|
||||
if (ret == ESP_ERR_NVS_NO_FREE_PAGES || ret == ESP_ERR_NVS_NEW_VERSION_FOUND) {
|
||||
ESP_ERROR_CHECK(nvs_flash_erase());
|
||||
ret = nvs_flash_init();
|
||||
}
|
||||
ESP_ERROR_CHECK(ret);
|
||||
|
||||
// Initialize Wi-Fi
|
||||
ESP_ERROR_CHECK(esp_netif_init());
|
||||
ESP_ERROR_CHECK(esp_event_loop_create_default());
|
||||
esp_netif_create_default_wifi_sta();
|
||||
|
||||
wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT();
|
||||
ESP_ERROR_CHECK(esp_wifi_init(&cfg));
|
||||
|
||||
// Start Wi-Fi in STA mode
|
||||
ESP_ERROR_CHECK(esp_wifi_set_mode(WIFI_MODE_STA));
|
||||
ESP_ERROR_CHECK(esp_wifi_start());
|
||||
|
||||
// Set the Wi-Fi scan parameters
|
||||
wifi_scan_config_t scan_config = {
|
||||
.ssid = NULL,
|
||||
.bssid = NULL,
|
||||
.channel = 0,
|
||||
.show_hidden = true
|
||||
};
|
||||
|
||||
// Perform Wi-Fi scan
|
||||
ESP_ERROR_CHECK(esp_wifi_scan_start(&scan_config, true));
|
||||
|
||||
// Get the scan results
|
||||
uint16_t ap_count = WIFI_SCAN_LIST_SIZE;
|
||||
wifi_ap_record_t ap_info[WIFI_SCAN_LIST_SIZE];
|
||||
ESP_ERROR_CHECK(esp_wifi_scan_get_ap_records(&ap_count, ap_info));
|
||||
|
||||
// Print the scan results
|
||||
printf("Found %d access points:\n", ap_count);
|
||||
for (int i = 0; i < ap_count; i++) {
|
||||
printf("SSID: %s, RSSI: %d\n", ap_info[i].ssid, ap_info[i].rssi);
|
||||
}
|
||||
|
||||
ESP_ERROR_CHECK(esp_wifi_stop());
|
||||
ESP_ERROR_CHECK(esp_wifi_deinit());
|
||||
|
||||
printf("Wi-Fi scan completed.\n");
|
||||
}
|
||||
|
||||
void app_main(void)
|
||||
{
|
||||
// Test 1: Simple Lua script
|
||||
|
|
@ -95,9 +157,22 @@ void app_main(void)
|
|||
"end\n"
|
||||
"local qr_string = generate_mock_qr('Hello, ESP32-C3!')\n"
|
||||
"return qr_string";
|
||||
|
||||
run_lua_qr_code_test(mock_qr_code_script, "Mock QR Code Script");
|
||||
|
||||
// Perform Wi-Fi scan
|
||||
scan_wifi_networks();
|
||||
|
||||
// Test 3: Lua script to compute Fibonacci sequence
|
||||
const char *fibonacci_script =
|
||||
"local function fibonacci(n)\n"
|
||||
" if n <= 1 then return n end\n"
|
||||
" return fibonacci(n - 1) + fibonacci(n - 2)\n"
|
||||
"end\n"
|
||||
"local fib_10 = fibonacci(10)\n"
|
||||
"print('Fibonacci of 10 is: ' .. fib_10)\n"
|
||||
"return fib_10";
|
||||
run_lua_test(fibonacci_script, "Fibonacci Script");
|
||||
|
||||
printf("End of testing application.\n");
|
||||
|
||||
// Prevent the task from ending
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue