Colin Stearns
/
qcControl
QC Control software
Fork of dgps by
adapt/Timeout.cpp@66:5d43988d100c, 2014-05-05 (annotated)
- Committer:
- dylanembed123
- Date:
- Mon May 05 13:20:35 2014 +0000
- Revision:
- 66:5d43988d100c
- Parent:
- 20:81d5655fecc2
Final Project;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
krobertson | 20:81d5655fecc2 | 1 | #include "adapt/Timeout.h" |
krobertson | 20:81d5655fecc2 | 2 | |
krobertson | 20:81d5655fecc2 | 3 | EvTimer::EvTimer(){ |
krobertson | 20:81d5655fecc2 | 4 | num_trips = 0; |
krobertson | 20:81d5655fecc2 | 5 | s_period = 1; |
krobertson | 20:81d5655fecc2 | 6 | us_period = 0; |
krobertson | 20:81d5655fecc2 | 7 | } |
krobertson | 20:81d5655fecc2 | 8 | |
krobertson | 20:81d5655fecc2 | 9 | unsigned int EvTimer::get_num_trips(){ |
krobertson | 20:81d5655fecc2 | 10 | return num_trips; |
krobertson | 20:81d5655fecc2 | 11 | } |
krobertson | 20:81d5655fecc2 | 12 | |
krobertson | 20:81d5655fecc2 | 13 | void EvTimer::set_us_period(unsigned int usec){ |
krobertson | 20:81d5655fecc2 | 14 | us_period = usec; |
krobertson | 20:81d5655fecc2 | 15 | s_period = 0; |
krobertson | 20:81d5655fecc2 | 16 | } |
krobertson | 20:81d5655fecc2 | 17 | |
krobertson | 20:81d5655fecc2 | 18 | void EvTimer::set_s_period(float sec){ |
krobertson | 20:81d5655fecc2 | 19 | s_period = sec; |
krobertson | 20:81d5655fecc2 | 20 | us_period = 0; |
krobertson | 20:81d5655fecc2 | 21 | } |
krobertson | 20:81d5655fecc2 | 22 | |
krobertson | 20:81d5655fecc2 | 23 | void EvTimer::timer_interrupt_handler(){ |
krobertson | 20:81d5655fecc2 | 24 | num_trips++; |
krobertson | 20:81d5655fecc2 | 25 | } |
krobertson | 20:81d5655fecc2 | 26 | |
krobertson | 20:81d5655fecc2 | 27 | void EvTimer::start_timer(){ |
krobertson | 20:81d5655fecc2 | 28 | if(s_period > 0){ |
krobertson | 20:81d5655fecc2 | 29 | t.attach(this,&EvTimer::timer_interrupt_handler, s_period); |
krobertson | 20:81d5655fecc2 | 30 | }else{ |
krobertson | 20:81d5655fecc2 | 31 | t.attach_us(this, &EvTimer::timer_interrupt_handler, us_period); |
krobertson | 20:81d5655fecc2 | 32 | } |
krobertson | 20:81d5655fecc2 | 33 | } |
krobertson | 20:81d5655fecc2 | 34 | |
krobertson | 20:81d5655fecc2 | 35 | void EvTimer::stop_timer(){ |
krobertson | 20:81d5655fecc2 | 36 | t.detach(); |
krobertson | 20:81d5655fecc2 | 37 | } |
krobertson | 20:81d5655fecc2 | 38 | |
krobertson | 20:81d5655fecc2 | 39 | void EvTimer::restart(){ |
krobertson | 20:81d5655fecc2 | 40 | stop_timer(); |
krobertson | 20:81d5655fecc2 | 41 | clear(); |
krobertson | 20:81d5655fecc2 | 42 | start_timer(); |
krobertson | 20:81d5655fecc2 | 43 | } |
krobertson | 20:81d5655fecc2 | 44 | |
krobertson | 20:81d5655fecc2 | 45 | void EvTimer::clear(){ |
krobertson | 20:81d5655fecc2 | 46 | num_trips = 0; |
krobertson | 20:81d5655fecc2 | 47 | } |