Fixed Queue<T> Sizes

This commit is contained in:
@CarlWachter 2024-01-02 11:49:29 +01:00
parent d4aa3c4081
commit d7422260a6

View File

@ -24,19 +24,19 @@ namespace sta
template <typename T> template <typename T>
RtosQueue<T>::RtosQueue(uint32_t length) RtosQueue<T>::RtosQueue(uint32_t length)
: handle_{osMessageQueueNew(length, sizeof(Message), NULL)} : handle_{osMessageQueueNew(length, sizeof(T), NULL)}
{ {
STA_ASSERT(handle_ != NULL); STA_ASSERT(handle_ != NULL);
} }
template <typename T> template <typename T>
bool RtosQueue<T>::put(const Message & msg, uint32_t timeout /* = osWaitForever */) bool RtosQueue<T>::put(const T & msg, uint32_t timeout /* = osWaitForever */)
{ {
return (osOK == osMessageQueuePut(handle_, &msg, 0, timeout)); return (osOK == osMessageQueuePut(handle_, &msg, 0, timeout));
} }
template <typename T> template <typename T>
bool RtosQueue<T>::get(Message * outMsg, uint32_t timeout /* = osWaitForever */) bool RtosQueue<T>::get(T * outMsg, uint32_t timeout /* = osWaitForever */)
{ {
uint8_t prio; uint8_t prio;
return (osOK == osMessageQueueGet(handle_, outMsg, &prio, timeout)); return (osOK == osMessageQueueGet(handle_, outMsg, &prio, timeout));