mbed rtos - modified for the final project of the course "Advanced Operating Systems"
Fork of mbed-rtos by
rtos/RtosTimer.cpp
- Committer:
- emilmont
- Date:
- 2012-11-23
- Revision:
- 6:350b53afb889
- Child:
- 8:88a1a9c26ae3
File content as of revision 6:350b53afb889:
#include "RtosTimer.h" #include <string.h> #include "cmsis_os.h" #include "error.h" namespace rtos { RtosTimer::RtosTimer(void (*periodic_task)(void const *argument), os_timer_type type, void *argument) { #ifdef CMSIS_OS_RTX _timer.ptimer = periodic_task; memset(_timer_data, 0, sizeof(_timer_data)); _timer.timer = _timer_data; #endif _timer_id = osTimerCreate(&_timer, type, argument); } osStatus RtosTimer::start(uint32_t millisec) { return osTimerStart(_timer_id, millisec); } osStatus RtosTimer::stop(void) { return osTimerStop(_timer_id); } RtosTimer::~RtosTimer() { osTimerDelete(_timer_id); } }