diff --git a/CHANGELOG.md b/CHANGELOG.md index e6a28899a6..42d1e93fc6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - gatt_client: emit query complete event for signed write operation - btstack_tlv_flash_bank: support targets where a value cannot be overwritten with zero. When ENABLE_TLV_FLASH_EXPLICIT_DELETE_FIELD is defined, an explicit delete field is used to indicate an invalid entry. +- FreeRTOS: use freertos/.. prefix to include FreeRTOS headers if HAVE_FREERTOS_INCLUDE_PREFIX is defined ### Fixed - SM: Use provided authentication requirements in slave security request diff --git a/doc/manual/docs/how_to.md b/doc/manual/docs/how_to.md index 4a24621637..255cc84eff 100644 --- a/doc/manual/docs/how_to.md +++ b/doc/manual/docs/how_to.md @@ -46,11 +46,17 @@ HAVE_MBEDTLS_ECC_P256 | mbedTLS provides NIST P-256 operations e.g. Embedded platform properties: -\#define | Description +\#define | Description -----------------------------------|------------------------------------ HAVE_EMBEDDED_TIME_MS | System provides time in milliseconds HAVE_EMBEDDED_TICK | System provides tick interrupt +FreeRTOS platform properties: + +\#define | Description +-----------------------------------|------------------------------------ +HAVE_FREERTOS_INCLUDE_PREFIX | FreeRTOS headers are in 'freertos' folder (e.g. ESP32's esp-idf) + POSIX platform properties: \#define | Description diff --git a/platform/freertos/btstack_run_loop_freertos.c b/platform/freertos/btstack_run_loop_freertos.c index 69bd64e840..f7f0bb002d 100644 --- a/platform/freertos/btstack_run_loop_freertos.c +++ b/platform/freertos/btstack_run_loop_freertos.c @@ -50,14 +50,22 @@ #include "btstack_linked_list.h" #include "btstack_debug.h" #include "btstack_run_loop_freertos.h" +#include "hal_time_ms.h" -// #include "hal_time_ms.h" -uint32_t hal_time_ms(void); +// some SDKs, e.g. esp-idf, place FreeRTOS headers into an 'freertos' folder to avoid name collisions (e.g. list.h, queue.h, ..) +// wih this flag, the headers are properly found +#ifdef HAVE_FREERTOS_INCLUDE_PREFIX #include "freertos/FreeRTOS.h" #include "freertos/task.h" #include "freertos/queue.h" #include "freertos/event_groups.h" +#else +#include "FreeRTOS.h" +#include "task.h" +#include "queue.h" +#include "event_groups.h" +#endif typedef struct function_call { void (*fn)(void * arg); diff --git a/port/esp32/components/btstack/include/btstack_config.h b/port/esp32/components/btstack/include/btstack_config.h index 5d842fc84f..b3c09080bb 100644 --- a/port/esp32/components/btstack/include/btstack_config.h +++ b/port/esp32/components/btstack/include/btstack_config.h @@ -10,6 +10,7 @@ #define HAVE_MALLOC #define HAVE_BTSTACK_STDIN #define HAVE_FREERTOS_TASK_NOTIFICATIONS +#define HAVE_FREERTOS_INCLUDE_PREFIX // BTstack features that can be enabled #define ENABLE_BLE