From a113c2673a2a82983daf072f0eb9f978da6d3467 Mon Sep 17 00:00:00 2001 From: Ken Van Hoeylandt Date: Sat, 3 Jan 2026 01:25:13 +0100 Subject: [PATCH] Add TactilityFreeRtos to TactilitySDK --- Buildscripts/CMake/CMakeLists.txt | 3 +- Buildscripts/release-sdk.sh | 7 +++++ TactilityC/Source/symbols/freertos.cpp | 39 +++++++++++++++++++------- TactilityC/Source/symbols/stl.cpp | 1 + 4 files changed, 39 insertions(+), 11 deletions(-) diff --git a/Buildscripts/CMake/CMakeLists.txt b/Buildscripts/CMake/CMakeLists.txt index 603ce49a..89ef27bd 100644 --- a/Buildscripts/CMake/CMakeLists.txt +++ b/Buildscripts/CMake/CMakeLists.txt @@ -1,5 +1,6 @@ idf_component_register( - INCLUDE_DIRS "Libraries/TactilityC/Include" "Libraries/lvgl/Include" + INCLUDE_DIRS "Libraries/TactilityC/Include" "Libraries/lvgl/Include" "Libraries/TactilityFreeRtos/Include" + REQUIRES esp_timer ) add_prebuilt_library(TactilityC Libraries/TactilityC/Binary/libTactilityC.a) diff --git a/Buildscripts/release-sdk.sh b/Buildscripts/release-sdk.sh index e48e538e..8ac68ac6 100755 --- a/Buildscripts/release-sdk.sh +++ b/Buildscripts/release-sdk.sh @@ -24,6 +24,13 @@ find_target_dir=$build_dir/$tactility_library_path/Include/ cp TactilityC/Include/* $find_target_dir cp Documentation/license-tactilitysdk.md $build_dir/$tactility_library_path/LICENSE.md +# TactilityFreeRtos +tactilityfreertos_library_path=$library_path/TactilityFreeRtos +mkdir -p $tactilityfreertos_library_path/Include +find_target_dir=$build_dir/$tactilityfreertos_library_path/Include/ +cp -r TactilityFreeRtos/Include/* $find_target_dir +cp Documentation/license-tactilitysdk.md $build_dir/$tactilityfreertos_library_path/LICENSE.md + # lvgl lvgl_library_path=$library_path/lvgl mkdir -p $lvgl_library_path/Binary diff --git a/TactilityC/Source/symbols/freertos.cpp b/TactilityC/Source/symbols/freertos.cpp index ea6de29a..cca5e1a0 100644 --- a/TactilityC/Source/symbols/freertos.cpp +++ b/TactilityC/Source/symbols/freertos.cpp @@ -9,6 +9,11 @@ const esp_elfsym freertos_symbols[] = { // Task + ESP_ELFSYM_EXPORT(uxTaskGetStackHighWaterMark), + ESP_ELFSYM_EXPORT(uxTaskGetNumberOfTasks), + ESP_ELFSYM_EXPORT(uxTaskGetTaskNumber), + ESP_ELFSYM_EXPORT(uxTaskPriorityGet), + ESP_ELFSYM_EXPORT(uxTaskPriorityGetFromISR), ESP_ELFSYM_EXPORT(vTaskDelay), ESP_ELFSYM_EXPORT(vTaskDelete), ESP_ELFSYM_EXPORT(vTaskDeleteWithCaps), @@ -28,13 +33,10 @@ const esp_elfsym freertos_symbols[] = { ESP_ELFSYM_EXPORT(xTaskDelayUntil), ESP_ELFSYM_EXPORT(xTaskGenericNotify), ESP_ELFSYM_EXPORT(xTaskGenericNotifyFromISR), + ESP_ELFSYM_EXPORT(xTaskGetTickCount), + ESP_ELFSYM_EXPORT(xTaskGetTickCountFromISR), ESP_ELFSYM_EXPORT(pvTaskGetThreadLocalStoragePointer), ESP_ELFSYM_EXPORT(pvTaskIncrementMutexHeldCount), - ESP_ELFSYM_EXPORT(uxTaskGetStackHighWaterMark), - ESP_ELFSYM_EXPORT(uxTaskGetNumberOfTasks), - ESP_ELFSYM_EXPORT(uxTaskGetTaskNumber), - ESP_ELFSYM_EXPORT(uxTaskPriorityGet), - ESP_ELFSYM_EXPORT(uxTaskPriorityGetFromISR), // EventGroup ESP_ELFSYM_EXPORT(xEventGroupCreate), ESP_ELFSYM_EXPORT(xEventGroupCreateWithCaps), @@ -49,11 +51,6 @@ const esp_elfsym freertos_symbols[] = { ESP_ELFSYM_EXPORT(xEventGroupSync), ESP_ELFSYM_EXPORT(xEventGroupWaitBits), // Queue - ESP_ELFSYM_EXPORT(xQueueGenericCreate), - ESP_ELFSYM_EXPORT(xQueueGenericCreateStatic), - ESP_ELFSYM_EXPORT(xQueueGenericReset), - ESP_ELFSYM_EXPORT(xQueueGenericSend), - ESP_ELFSYM_EXPORT(xQueueGenericSendFromISR), ESP_ELFSYM_EXPORT(vQueueDelete), ESP_ELFSYM_EXPORT(vQueueDeleteWithCaps), ESP_ELFSYM_EXPORT(vQueueSetQueueNumber), @@ -62,6 +59,21 @@ const esp_elfsym freertos_symbols[] = { ESP_ELFSYM_EXPORT(uxQueueMessagesWaiting), ESP_ELFSYM_EXPORT(uxQueueMessagesWaitingFromISR), ESP_ELFSYM_EXPORT(uxQueueSpacesAvailable), + ESP_ELFSYM_EXPORT(xQueueCreateCountingSemaphore), + ESP_ELFSYM_EXPORT(xQueueCreateCountingSemaphoreStatic), + ESP_ELFSYM_EXPORT(xQueueCreateMutex), + ESP_ELFSYM_EXPORT(xQueueCreateMutexStatic), + ESP_ELFSYM_EXPORT(xQueueCreateSet), + ESP_ELFSYM_EXPORT(xQueueGetMutexHolder), + ESP_ELFSYM_EXPORT(xQueueGetMutexHolderFromISR), + ESP_ELFSYM_EXPORT(xQueueGiveMutexRecursive), + ESP_ELFSYM_EXPORT(xQueueTakeMutexRecursive), + ESP_ELFSYM_EXPORT(xQueueGenericCreate), + ESP_ELFSYM_EXPORT(xQueueGenericCreateStatic), + ESP_ELFSYM_EXPORT(xQueueGenericReset), + ESP_ELFSYM_EXPORT(xQueueGenericSend), + ESP_ELFSYM_EXPORT(xQueueGenericSendFromISR), + ESP_ELFSYM_EXPORT(xQueueSemaphoreTake), // Timer ESP_ELFSYM_EXPORT(xTimerCreate), ESP_ELFSYM_EXPORT(xTimerCreateStatic), @@ -72,6 +84,13 @@ const esp_elfsym freertos_symbols[] = { ESP_ELFSYM_EXPORT(xTimerPendFunctionCallFromISR), ESP_ELFSYM_EXPORT(xTimerGetPeriod), // portmacro.h + ESP_ELFSYM_EXPORT(vPortYield), + ESP_ELFSYM_EXPORT(vPortEnterCritical), + ESP_ELFSYM_EXPORT(vPortEnterCriticalSafe), + ESP_ELFSYM_EXPORT(vPortEnterCriticalCompliance), + ESP_ELFSYM_EXPORT(vPortExitCritical), + ESP_ELFSYM_EXPORT(vPortExitCriticalSafe), + ESP_ELFSYM_EXPORT(vPortExitCriticalCompliance), ESP_ELFSYM_EXPORT(xPortInIsrContext), ESP_ELFSYM_EXPORT(xPortCanYield), ESP_ELFSYM_EXPORT(xPortGetCoreID), diff --git a/TactilityC/Source/symbols/stl.cpp b/TactilityC/Source/symbols/stl.cpp index a6513d8d..56426854 100644 --- a/TactilityC/Source/symbols/stl.cpp +++ b/TactilityC/Source/symbols/stl.cpp @@ -11,6 +11,7 @@ const esp_elfsym stl_symbols[] = { { "_ZSt28__throw_bad_array_new_lengthv", (void*)&(std::__throw_bad_array_new_length) }, { "_ZSt25__throw_bad_function_callv", (void*)&(std::__throw_bad_function_call) }, { "_ZSt20__throw_length_errorPKc", (void*)&(std::__throw_length_error) }, + { "_ZSt19__throw_logic_errorPKc", (void*)&std::__throw_logic_error }, // { "", (void*)&(std::) }, // delimiter ESP_ELFSYM_END