TargetManager

Dependents:   TargetManagerManualTest NerfUSTarget

Committer:
GaiSensei
Date:
Tue Apr 11 03:47:38 2017 +0000
Revision:
10:1b5440d9226c
Parent:
7:18129a81e6aa
Calibrate servomotors

Who changed what in which revision?

UserRevisionLine numberNew contents of line
dupm2216 6:b6ecf23f24ce 1 #include "NerfusTicker.hpp"
dupm2216 6:b6ecf23f24ce 2
dupm2216 6:b6ecf23f24ce 3 void NerfusTicker::start(int timeout_ms)
dupm2216 6:b6ecf23f24ce 4 {
dupm2216 6:b6ecf23f24ce 5 ticker = Ticker();
dupm2216 6:b6ecf23f24ce 6 ticker.attach_us(callback(this, &NerfusTicker::timeout), timeout_ms * 1000);
dupm2216 7:18129a81e6aa 7 timer.reset();
dupm2216 7:18129a81e6aa 8 timer.start();
dupm2216 6:b6ecf23f24ce 9 }
dupm2216 6:b6ecf23f24ce 10
dupm2216 6:b6ecf23f24ce 11 void NerfusTicker::stop()
dupm2216 6:b6ecf23f24ce 12 {
dupm2216 6:b6ecf23f24ce 13 ticker.detach();
dupm2216 7:18129a81e6aa 14 timer.stop();
dupm2216 7:18129a81e6aa 15 }
dupm2216 7:18129a81e6aa 16
dupm2216 7:18129a81e6aa 17 int NerfusTicker::get_time_ms()
dupm2216 7:18129a81e6aa 18 {
dupm2216 7:18129a81e6aa 19 return timer.read_ms();
dupm2216 6:b6ecf23f24ce 20 }
dupm2216 6:b6ecf23f24ce 21
dupm2216 6:b6ecf23f24ce 22 void NerfusTicker::init(NerfusCallbackInterface *nerfus_callback)
dupm2216 6:b6ecf23f24ce 23 {
dupm2216 6:b6ecf23f24ce 24 this->nerfus_callback = nerfus_callback;
dupm2216 6:b6ecf23f24ce 25 }
dupm2216 6:b6ecf23f24ce 26
dupm2216 6:b6ecf23f24ce 27 void NerfusTicker::timeout()
dupm2216 6:b6ecf23f24ce 28 {
dupm2216 6:b6ecf23f24ce 29 nerfus_callback->call();
dupm2216 6:b6ecf23f24ce 30 stop();
dupm2216 7:18129a81e6aa 31 }