tetl 0.1.0
Embedded Template Library
Loading...
Searching...
No Matches
stubs.hpp
Go to the documentation of this file.
1// SPDX-License-Identifier: BSL-1.0
2
3#ifndef TETL_FREERTOS_STUBS_HPP
4#define TETL_FREERTOS_STUBS_HPP
5
6#include <etl/version.hpp>
7
8#include <etl/cstddef.hpp>
9#include <etl/cstdint.hpp>
10#include <etl/utility.hpp>
11
12// BASE
13using BaseType_t = long;
14using UBaseType_t = unsigned long;
16#define pdFALSE (static_cast<BaseType_t>(0))
17#define pdTRUE (static_cast<BaseType_t>(1))
18#define pdPASS (pdTRUE)
19#define pdFAIL (pdFALSE)
20#define errQUEUE_EMPTY (static_cast<BaseType_t>(0))
21#define errQUEUE_FULL (static_cast<BaseType_t>(0))
22
23// TICK
25
26// SCHEDULER
27inline auto vPortYield() -> void { }
28
29#define portYIELD() vPortYield()
30#define taskYIELD() portYIELD()
31
32// TASK
33struct tskTaskControlBlock;
34
35using TaskHandle_t = tskTaskControlBlock*;
36using TaskFunction_t = void (*)(void*);
37
38inline auto xTaskCreate(
39 TaskFunction_t pvTaskCode,
40 char const* const pcName,
41 configSTACK_DEPTH_TYPE usStackDepth,
42 void* const pvParameters,
43 UBaseType_t uxPriority,
44 TaskHandle_t* const pxCreatedTask
45) -> BaseType_t
46{
47 etl::ignore_unused(pvTaskCode, pcName, usStackDepth, pvParameters, uxPriority, pxCreatedTask);
48 return pdFALSE;
49}
50
51inline auto vTaskDelete(TaskHandle_t xTask) -> void { etl::ignore_unused(xTask); }
52
53inline auto vTaskStartScheduler() -> void { }
54
55inline auto vTaskDelay(TickType_t const xTicksToDelay) -> void { etl::ignore_unused(xTicksToDelay); }
56
57inline auto vTaskDelayUntil(TickType_t* const pxPreviousWakeTime, TickType_t const xTimeIncrement) -> void
58{
59 etl::ignore_unused(pxPreviousWakeTime, xTimeIncrement);
60}
61// QUEUE
62struct QueueDefinition;
63using QueueHandle_t = QueueDefinition*;
64
65inline auto xQueueCreate(UBaseType_t uxQueueLength, UBaseType_t uxItemSize) -> QueueHandle_t
66{
67 etl::ignore_unused(uxQueueLength, uxItemSize);
68 return nullptr;
69}
70
71inline auto vQueueDelete(QueueHandle_t xQueue) -> void { etl::ignore_unused(xQueue); }
72
73inline auto xQueueSend(QueueHandle_t xQueue, void const* pvItemToQueue, TickType_t xTicksToWait) -> BaseType_t
74{
75 etl::ignore_unused(xQueue, pvItemToQueue, xTicksToWait);
76 return pdFALSE;
77}
78
79inline auto xQueueReceive(QueueHandle_t xQueue, void* pvBuffer, TickType_t xTicksToWait) -> BaseType_t
80{
81 etl::ignore_unused(xQueue, pvBuffer, xTicksToWait);
82 return pdFALSE;
83}
84
85inline auto xQueueReset(QueueHandle_t xQueue) -> BaseType_t
86{
87 etl::ignore_unused(xQueue);
88 return pdPASS;
89}
90
92{
93 etl::ignore_unused(xQueue);
94 return 0;
95}
96
97// STREAM_BUFFER
98struct StreamBufferDef_t;
99using StreamBufferHandle_t = StreamBufferDef_t*;
100
101[[nodiscard]] inline auto xStreamBufferCreate(etl::size_t bufferSizeBytes, etl::size_t triggerLevelBytes)
103{
104 etl::ignore_unused(bufferSizeBytes, triggerLevelBytes);
105 return {};
106}
107
108[[nodiscard]] inline auto
109xStreamBufferSend(StreamBufferHandle_t handle, void const* data, etl::size_t size, TickType_t ticksToWait)
110 -> etl::size_t
111{
112 etl::ignore_unused(handle, data, size, ticksToWait);
113 return 0;
114}
115
116[[nodiscard]] inline auto
118 -> etl::size_t
119{
120 etl::ignore_unused(handle, data, size, prio);
121 return 0;
122}
123
124[[nodiscard]] inline auto
126{
127 etl::ignore_unused(handle, data, size, ticks);
128 return 0;
129}
130
131[[nodiscard]] inline auto
133{
134 etl::ignore_unused(handle, data, size, prio);
135 return 0;
136}
137
138inline auto vStreamBufferDelete(StreamBufferHandle_t handle) -> void { etl::ignore_unused(handle); }
139
141{
142 etl::ignore_unused(handle);
143 return {};
144}
145
147{
148 etl::ignore_unused(handle);
149 return {};
150}
151
153{
154 etl::ignore_unused(handle, triggerLevel);
155 return {};
156}
157
159{
160 etl::ignore_unused(handle);
161 return {};
162}
163
164[[nodiscard]] inline auto xStreamBufferIsEmpty(StreamBufferHandle_t handle) -> BaseType_t
165{
166 etl::ignore_unused(handle);
167 return {};
168}
169
170[[nodiscard]] inline auto xStreamBufferIsFull(StreamBufferHandle_t handle) -> BaseType_t
171{
172 etl::ignore_unused(handle);
173 return {};
174}
175
176// MESSAGE_BUFFER
178
179[[nodiscard]] inline auto xMessageBufferCreate(etl::size_t bufferSizeBytes) -> MessageBufferHandle_t
180{
181 etl::ignore_unused(bufferSizeBytes);
182 return {};
183}
184
185#endif // TETL_FREERTOS_STUBS_HPP
TETL_BUILTIN_UINT16 uint16_t
Unsigned integer type with width of exactly 16 bits.
Definition uint_t.hpp:14
TETL_BUILTIN_UINT32 uint32_t
Unsigned integer type with width of exactly 32 bits.
Definition uint_t.hpp:17
constexpr auto ignore_unused(Types &&...) -> void
Explicitly ignore arguments or variables.
Definition ignore_unused.hpp:17
TETL_BUILTIN_SIZET size_t
etl::size_t is the unsigned integer type of the result of the sizeof operator.
Definition size_t.hpp:14
void * MessageBufferHandle_t
Definition stubs.hpp:177
#define pdPASS
Definition stubs.hpp:18
tskTaskControlBlock * TaskHandle_t
Definition stubs.hpp:35
auto xStreamBufferSend(StreamBufferHandle_t handle, void const *data, etl::size_t size, TickType_t ticksToWait) -> etl::size_t
Definition stubs.hpp:109
auto xStreamBufferReceive(StreamBufferHandle_t handle, void *data, etl::size_t size, TickType_t ticks) -> etl::size_t
Definition stubs.hpp:125
auto vQueueDelete(QueueHandle_t xQueue) -> void
Definition stubs.hpp:71
auto xStreamBufferSpacesAvailable(StreamBufferHandle_t handle) -> etl::size_t
Definition stubs.hpp:146
StreamBufferDef_t * StreamBufferHandle_t
Definition stubs.hpp:99
long BaseType_t
Definition stubs.hpp:13
auto xStreamBufferIsEmpty(StreamBufferHandle_t handle) -> BaseType_t
Definition stubs.hpp:164
auto xStreamBufferReset(StreamBufferHandle_t handle) -> BaseType_t
Definition stubs.hpp:158
unsigned long UBaseType_t
Definition stubs.hpp:14
auto vTaskStartScheduler() -> void
Definition stubs.hpp:53
auto xTaskCreate(TaskFunction_t pvTaskCode, char const *const pcName, configSTACK_DEPTH_TYPE usStackDepth, void *const pvParameters, UBaseType_t uxPriority, TaskHandle_t *const pxCreatedTask) -> BaseType_t
Definition stubs.hpp:38
auto vTaskDelete(TaskHandle_t xTask) -> void
Definition stubs.hpp:51
auto xQueueReset(QueueHandle_t xQueue) -> BaseType_t
Definition stubs.hpp:85
etl::uint32_t TickType_t
Definition stubs.hpp:24
auto vPortYield() -> void
Definition stubs.hpp:27
auto xQueueCreate(UBaseType_t uxQueueLength, UBaseType_t uxItemSize) -> QueueHandle_t
Definition stubs.hpp:65
QueueDefinition * QueueHandle_t
Definition stubs.hpp:63
auto xQueueReceive(QueueHandle_t xQueue, void *pvBuffer, TickType_t xTicksToWait) -> BaseType_t
Definition stubs.hpp:79
auto vTaskDelayUntil(TickType_t *const pxPreviousWakeTime, TickType_t const xTimeIncrement) -> void
Definition stubs.hpp:57
auto xStreamBufferIsFull(StreamBufferHandle_t handle) -> BaseType_t
Definition stubs.hpp:170
auto uxQueueMessagesWaiting(QueueHandle_t xQueue) -> UBaseType_t
Definition stubs.hpp:91
auto xStreamBufferCreate(etl::size_t bufferSizeBytes, etl::size_t triggerLevelBytes) -> StreamBufferHandle_t
Definition stubs.hpp:101
auto vTaskDelay(TickType_t const xTicksToDelay) -> void
Definition stubs.hpp:55
auto xStreamBufferBytesAvailable(StreamBufferHandle_t handle) -> etl::size_t
Definition stubs.hpp:140
#define pdFALSE
Definition stubs.hpp:16
etl::uint16_t configSTACK_DEPTH_TYPE
Definition stubs.hpp:15
void(*)(void *) TaskFunction_t
Definition stubs.hpp:36
auto xStreamBufferReceiveFromISR(StreamBufferHandle_t handle, void *data, etl::size_t size, BaseType_t *prio) -> etl::size_t
Definition stubs.hpp:132
auto vStreamBufferDelete(StreamBufferHandle_t handle) -> void
Definition stubs.hpp:138
auto xQueueSend(QueueHandle_t xQueue, void const *pvItemToQueue, TickType_t xTicksToWait) -> BaseType_t
Definition stubs.hpp:73
auto xStreamBufferSendFromISR(StreamBufferHandle_t handle, void const *data, etl::size_t size, BaseType_t *prio) -> etl::size_t
Definition stubs.hpp:117
auto xStreamBufferSetTriggerLevel(StreamBufferHandle_t handle, etl::size_t triggerLevel) -> BaseType_t
Definition stubs.hpp:152
auto xMessageBufferCreate(etl::size_t bufferSizeBytes) -> MessageBufferHandle_t
Definition stubs.hpp:179