diff --git a/TactilityCore/Source/CoreDefines.h b/TactilityCore/Source/CoreDefines.h index ee3f3423..88876446 100644 --- a/TactilityCore/Source/CoreDefines.h +++ b/TactilityCore/Source/CoreDefines.h @@ -3,7 +3,6 @@ #include "CoreExtraDefines.h" #ifdef ESP_PLATFORM -#include "freertos/portmacro.h" #else #include "portmacro.h" #endif diff --git a/TactilityCore/Source/Critical.cpp b/TactilityCore/Source/Critical.cpp index 3226be30..ccc86fb0 100644 --- a/TactilityCore/Source/Critical.cpp +++ b/TactilityCore/Source/Critical.cpp @@ -4,11 +4,9 @@ #ifdef ESP_PLATFORM #include "freertos/FreeRTOS.h" #include "freertos/task.h" -#include "freertos/portmacro.h" #else #include "FreeRTOS.h" #include "task.h" -#include "portmacro.h" #endif #ifdef ESP_PLATFORM diff --git a/TactilityCore/Source/EventFlag.cpp b/TactilityCore/Source/EventFlag.cpp index b1237ea6..eb9d30d8 100644 --- a/TactilityCore/Source/EventFlag.cpp +++ b/TactilityCore/Source/EventFlag.cpp @@ -6,11 +6,9 @@ #ifdef ESP_TARGET #include "freertos/FreeRTOS.h" #include "freertos/event_groups.h" -#include "freertos/portmacro.h" #else #include "FreeRTOS.h" #include "event_groups.h" -#include "portmacro.h" #endif #define TT_EVENT_FLAG_MAX_BITS_EVENT_GROUPS 24U diff --git a/TactilityHeadless/Source/Hal/I2c/I2c.h b/TactilityHeadless/Source/Hal/I2c/I2c.h index 9bfd847a..a183125c 100644 --- a/TactilityHeadless/Source/Hal/I2c/I2c.h +++ b/TactilityHeadless/Source/Hal/I2c/I2c.h @@ -2,6 +2,7 @@ #include "I2cCompat.h" #include "CoreTypes.h" +#include #include #include @@ -24,7 +25,7 @@ typedef struct { /** Whether configuration can be changed. */ bool hasMutableConfiguration; /** Read/write timeout (not related to mutex locking mechanism) */ - TickType_t timeout; + unsigned long timeout; /** Configuration that must be valid when initAtBoot is set to true. */ i2c_config_t config; } Configuration; diff --git a/TactilityHeadless/Source/Hal/I2c/I2cCompat.h b/TactilityHeadless/Source/Hal/I2c/I2cCompat.h index 6e524cc4..04fae41f 100644 --- a/TactilityHeadless/Source/Hal/I2c/I2cCompat.h +++ b/TactilityHeadless/Source/Hal/I2c/I2cCompat.h @@ -1,13 +1,11 @@ #pragma once #ifdef ESP_TARGET - +#include #include - #else #include -#include "portmacro.h" typedef int esp_err_t; diff --git a/TactilityHeadless/Source/Services/Wifi/WifiEsp.cpp b/TactilityHeadless/Source/Services/Wifi/WifiEsp.cpp index cad9bcee..03285d3f 100644 --- a/TactilityHeadless/Source/Services/Wifi/WifiEsp.cpp +++ b/TactilityHeadless/Source/Services/Wifi/WifiEsp.cpp @@ -26,7 +26,8 @@ typedef enum { WifiMessageTypeRadioOff, WifiMessageTypeScan, WifiMessageTypeConnect, - WifiMessageTypeDisconnect + WifiMessageTypeDisconnect, + WifiMessageTypeAutoConnect, } WifiMessageType; typedef struct { @@ -282,7 +283,7 @@ static bool copy_scan_list(Wifi* wifi) { static void auto_connect(Wifi* wifi) { for (int i = 0; i < wifi->scan_list_count; ++i) { - const char* ssid = (const char*)wifi->scan_list[i].ssid; + auto ssid = reinterpret_cast(wifi->scan_list[i].ssid); if (settings::contains(ssid)) { static_assert(sizeof(wifi->scan_list[i].ssid) == (TT_WIFI_SSID_LIMIT + 1), "SSID size mismatch"); settings::WifiApSettings ap_settings; @@ -334,7 +335,9 @@ static void event_handler(TT_UNUSED void* arg, esp_event_base_t event_base, int3 TT_LOG_I(TAG, "Finished scan"); if (copied_list && wifi_singleton->radio_state == WIFI_RADIO_ON) { - auto_connect(wifi_singleton); + WifiMessage message = {.type = WifiMessageTypeAutoConnect}; + // No need to lock for queue + wifi_singleton->queue.put(&message, 100 / portTICK_PERIOD_MS); } } unlock(wifi_singleton); @@ -709,6 +712,11 @@ _Noreturn int32_t wifi_main(TT_UNUSED void* parameter) { disconnect_internal_but_keep_active(wifi); unlock(wifi); break; + case WifiMessageTypeAutoConnect: + lock(wifi); + auto_connect(wifi_singleton); + unlock(wifi); + break; } } diff --git a/sdkconfig.board.lilygo_tdeck b/sdkconfig.board.lilygo_tdeck index 9fd866b6..133947ac 100644 --- a/sdkconfig.board.lilygo_tdeck +++ b/sdkconfig.board.lilygo_tdeck @@ -12,7 +12,7 @@ CONFIG_LV_USE_CLIB_MALLOC=y CONFIG_FREERTOS_HZ=1000 CONFIG_FREERTOS_TASK_NOTIFICATION_ARRAY_ENTRIES=2 CONFIG_FREERTOS_SMP=n -CONFIG_FREERTOS_UNICORE=y +CONFIG_FREERTOS_UNICORE=n CONFIG_PARTITION_TABLE_CUSTOM=y CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions.csv" CONFIG_PARTITION_TABLE_FILENAME="partitions.csv" diff --git a/sdkconfig.board.m5stack_core2 b/sdkconfig.board.m5stack_core2 index d3d1c2f3..9923fd30 100644 --- a/sdkconfig.board.m5stack_core2 +++ b/sdkconfig.board.m5stack_core2 @@ -12,7 +12,8 @@ CONFIG_LV_USE_CLIB_MALLOC=y CONFIG_FREERTOS_HZ=1000 CONFIG_FREERTOS_TASK_NOTIFICATION_ARRAY_ENTRIES=2 CONFIG_FREERTOS_SMP=n -CONFIG_FREERTOS_UNICORE=y +CONFIG_FREERTOS_UNICORE=n +CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH=y CONFIG_PARTITION_TABLE_CUSTOM=y CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions.csv" CONFIG_PARTITION_TABLE_FILENAME="partitions.csv" diff --git a/sdkconfig.board.m5stack_cores3 b/sdkconfig.board.m5stack_cores3 index fbd00b83..ab04cee4 100644 --- a/sdkconfig.board.m5stack_cores3 +++ b/sdkconfig.board.m5stack_cores3 @@ -12,7 +12,8 @@ CONFIG_LV_USE_CLIB_MALLOC=y CONFIG_FREERTOS_HZ=1000 CONFIG_FREERTOS_TASK_NOTIFICATION_ARRAY_ENTRIES=2 CONFIG_FREERTOS_SMP=n -CONFIG_FREERTOS_UNICORE=y +CONFIG_FREERTOS_UNICORE=n +CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH=y CONFIG_PARTITION_TABLE_CUSTOM=y CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions.csv" CONFIG_PARTITION_TABLE_FILENAME="partitions.csv" diff --git a/sdkconfig.board.waveshare_s3_touch b/sdkconfig.board.waveshare_s3_touch index b7b586f5..4e4c9442 100644 --- a/sdkconfig.board.waveshare_s3_touch +++ b/sdkconfig.board.waveshare_s3_touch @@ -12,7 +12,7 @@ CONFIG_LV_USE_CLIB_MALLOC=y CONFIG_FREERTOS_HZ=1000 CONFIG_FREERTOS_TASK_NOTIFICATION_ARRAY_ENTRIES=2 CONFIG_FREERTOS_SMP=n -CONFIG_FREERTOS_UNICORE=y +CONFIG_FREERTOS_UNICORE=n CONFIG_PARTITION_TABLE_CUSTOM=y CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions.csv" CONFIG_PARTITION_TABLE_FILENAME="partitions.csv" diff --git a/sdkconfig.board.yellow_board b/sdkconfig.board.yellow_board index e673db09..051be015 100644 --- a/sdkconfig.board.yellow_board +++ b/sdkconfig.board.yellow_board @@ -12,7 +12,7 @@ CONFIG_LV_USE_CLIB_MALLOC=y CONFIG_FREERTOS_HZ=1000 CONFIG_FREERTOS_TASK_NOTIFICATION_ARRAY_ENTRIES=2 CONFIG_FREERTOS_SMP=n -CONFIG_FREERTOS_UNICORE=y +CONFIG_FREERTOS_UNICORE=n CONFIG_PARTITION_TABLE_CUSTOM=y CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions.csv" CONFIG_PARTITION_TABLE_FILENAME="partitions.csv" diff --git a/sdkconfig.defaults b/sdkconfig.defaults index de1f7945..ce02a0d7 100644 --- a/sdkconfig.defaults +++ b/sdkconfig.defaults @@ -12,7 +12,7 @@ CONFIG_LV_USE_CLIB_MALLOC=y CONFIG_FREERTOS_HZ=1000 CONFIG_FREERTOS_TASK_NOTIFICATION_ARRAY_ENTRIES=2 CONFIG_FREERTOS_SMP=n -CONFIG_FREERTOS_UNICORE=y +CONFIG_FREERTOS_UNICORE=n CONFIG_PARTITION_TABLE_CUSTOM=y CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions.csv" CONFIG_PARTITION_TABLE_FILENAME="partitions.csv"