f

Dependents:   Active-WolfMan_V2-5-All-Frank-Board-Functions_copy

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);
}

}