diff options
Diffstat (limited to 'src/FreeRTOS.h')
-rw-r--r-- | src/FreeRTOS.h | 71 |
1 files changed, 0 insertions, 71 deletions
diff --git a/src/FreeRTOS.h b/src/FreeRTOS.h deleted file mode 100644 index b861c87..0000000 --- a/src/FreeRTOS.h +++ /dev/null @@ -1,71 +0,0 @@ -/* - * FreeRTOS.h - * - * Created on: Feb 24, 2017 - * Author: kolban - */ - -#ifndef MAIN_FREERTOS_H_ -#define MAIN_FREERTOS_H_ -#include <stdint.h> -#include <string> -#include <pthread.h> - -#include <freertos/FreeRTOS.h> // Include the base FreeRTOS definitions. -#include <freertos/task.h> // Include the task definitions. -#include <freertos/semphr.h> // Include the semaphore definitions. -#include <freertos/ringbuf.h> // Include the ringbuffer definitions. - - -/** - * @brief Interface to %FreeRTOS functions. - */ -class FreeRTOS { -public: - static void sleep(uint32_t ms); - static void startTask(void task(void*), std::string taskName, void* param = nullptr, uint32_t stackSize = 2048); - static void deleteTask(TaskHandle_t pTask = nullptr); - - static uint32_t getTimeSinceStart(); - - class Semaphore { - public: - Semaphore(std::string owner = "<Unknown>"); - ~Semaphore(); - void give(); - void give(uint32_t value); - void giveFromISR(); - void setName(std::string name); - bool take(std::string owner = "<Unknown>"); - bool take(uint32_t timeoutMs, std::string owner = "<Unknown>"); - std::string toString(); - uint32_t wait(std::string owner = "<Unknown>"); - - private: - SemaphoreHandle_t m_semaphore; - pthread_mutex_t m_pthread_mutex; - std::string m_name; - std::string m_owner; - uint32_t m_value; - bool m_usePthreads; - - }; -}; - - -/** - * @brief Ringbuffer. - */ -class Ringbuffer { -public: - Ringbuffer(size_t length, ringbuf_type_t type = RINGBUF_TYPE_NOSPLIT); - ~Ringbuffer(); - - void* receive(size_t* size, TickType_t wait = portMAX_DELAY); - void returnItem(void* item); - bool send(void* data, size_t length, TickType_t wait = portMAX_DELAY); -private: - RingbufHandle_t m_handle; -}; - -#endif /* MAIN_FREERTOS_H_ */ |