QC Control software

Dependencies:   mbed

Fork of dgps by Colin Stearns

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?

UserRevisionLine numberNew 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 }