STM32: Added basic OS abstraction (ChibiOS event), test app for this, minor changes in Makefile

This commit is contained in:
Pavel Kirienko
2014-04-02 21:56:44 +04:00
parent b465c0a303
commit 9c08f54e65
7 changed files with 203 additions and 4 deletions
@@ -0,0 +1,38 @@
/*
* Copyright (C) 2014 Pavel Kirienko <pavel.kirienko@gmail.com>
*/
#include <uavcan_stm32/thread.hpp>
namespace uavcan_stm32
{
#if UAVCAN_STM32_CHIBIOS
bool Event::wait(uavcan::MonotonicDuration duration)
{
msg_t ret = msg_t();
if (duration.isZero())
{
sem_.waitTimeout(TIME_IMMEDIATE);
}
else
{
sem_.waitTimeout(US2ST(duration.toUSec()));
}
return ret == RDY_OK;
}
void Event::signal()
{
sem_.signal();
}
void Event::signalFromInterrupt()
{
sem_.signalI();
}
#endif
}