firmware/src/freertosinc.h

47 lines
1.0 KiB
C
Raw Normal View History

#pragma once
2020-06-17 00:01:50 +00:00
// The FreeRTOS includes are in a different directory on ESP32 and I can't figure out how to make that work with platformio gcc
// options so this is my quick hack to make things work
2020-09-04 22:03:22 +00:00
#if defined(ARDUINO_ARCH_ESP32)
2020-06-17 00:01:50 +00:00
#define HAS_FREE_RTOS
2020-09-04 22:03:22 +00:00
#include <freertos/FreeRTOS.h>
#include <freertos/queue.h>
2020-06-17 00:01:50 +00:00
#include <freertos/semphr.h>
#include <freertos/task.h>
2020-09-04 22:03:22 +00:00
#endif
Make STM compile again and update toolchain. (#2960) * Make STM compile again and update toolchain. The binary is too big for the flash. WIP * Making progress with OSFS, still WIP * more progress, still too big. Adding RAK3172 to the equasion * Make STM compile again and update toolchain. The binary is too big for the flash. WIP * Making progress with OSFS, still WIP * more progress, still too big. Adding RAK3172 to the equasion * still too big * minimize build * trunk fmt * fix a couple of symbol clashes * trunk fmt * down to 101% with a release vs. debug build and omitting the flash strings * fix compilation * fix compilation once more * update protobufs linkage * - Toolchain updated - Fixed macro error * silence compiler warning note: do something about this assert... * new toolkit and fix Power.cpp * STM32WL make it fit (#4330) * Add option to exclude I2C parts The I2C hals and related code uses a significant amount of flash space and aren't required for a basic node. * Add option to disable Admin and NodeInfo modules Disabled by default in minimal build. This saves a significant amount of flash * Disable unused hals These use up significant flash * Add float support for printf for debugging Makes serial look nice for debugging * This breaks my build for some reason * These build flags can save a bit of flash * Don't disable NodeInfo and Admin modules in minimal build They fit in flash * Don't include printf float support by default Only useful for debugging --------- Co-authored-by: Adam Lawson <dev@goshawk22.uk> --------- Co-authored-by: Ben Meadors <benmmeadors@gmail.com> Co-authored-by: Adam Lawson <dev@goshawk22.uk>
2024-07-26 01:16:21 +00:00
#if defined(ARDUINO_NRF52_ADAFRUIT) || defined(ARDUINO_ARCH_RP2040)
2020-06-17 00:01:50 +00:00
#define HAS_FREE_RTOS
2020-09-04 22:03:22 +00:00
#include <FreeRTOS.h>
#include <queue.h>
2020-06-17 00:01:50 +00:00
#include <semphr.h>
#include <task.h>
2020-09-04 22:03:22 +00:00
#endif
#ifdef HAS_FREE_RTOS
// Include real FreeRTOS defs above
2020-06-17 00:01:50 +00:00
#else
2020-09-04 22:03:22 +00:00
// Include placeholder fake FreeRTOS defs
2020-06-17 00:01:50 +00:00
#include <Arduino.h>
typedef uint32_t TickType_t;
typedef uint32_t BaseType_t;
#define portMAX_DELAY UINT32_MAX
2020-09-04 22:03:22 +00:00
#define tskIDLE_PRIORITY 0
2020-09-05 00:23:17 +00:00
#define configMAX_PRIORITIES 10 // Highest priority level
// Don't do anything on non free rtos platforms when done with the ISR
#define portYIELD_FROM_ISR(x)
enum eNotifyAction { eNoAction, eSetValueWithoutOverwrite, eSetValueWithOverwrite };
2020-09-04 22:03:22 +00:00
#endif