A simple WIP that logs data from a Grove sensor, and can send and receive information over USB and SMS.
Dependencies: DHT DS_1337 SDFileSystem USBDevice mbed
timers.cpp
00001 #include "timers.h" 00002 00003 MyTimers::MyTimers() 00004 { 00005 // initialise timers 00006 groveMeasureTimer = 0; 00007 gprsPowerTimer = 0; 00008 gprsRxTxTimer = 0; 00009 sdWaitErrorTimer = 0; 00010 measFlashTimer = 0; 00011 00012 m_tick = new Ticker(); 00013 // configure the ticker object to run every 1ms, and to call \sa run when it does so. 00014 m_tick->attach(this, &MyTimers::run, 0.001); 00015 } 00016 00017 MyTimers::~MyTimers() 00018 { 00019 delete m_tick; 00020 } 00021 00022 void MyTimers::run() 00023 { 00024 // decrement each timer in the class 00025 if (groveMeasureTimer) groveMeasureTimer--; 00026 if (gprsPowerTimer ) gprsPowerTimer--; 00027 if (gprsRxTxTimer ) gprsRxTxTimer--; 00028 if (sdWaitErrorTimer ) sdWaitErrorTimer--; 00029 if (measFlashTimer ) measFlashTimer--; 00030 } 00031 00032 00033 void MyTimers::SetTimer(eTimerType timertype, unsigned long time_ms) 00034 { 00035 // see which timer we have to set, and set it 00036 switch(timertype) 00037 { 00038 case tmr_GroveMeasure: 00039 groveMeasureTimer = time_ms; 00040 break; 00041 case tmr_GprsPower: 00042 gprsPowerTimer = time_ms; 00043 break; 00044 case tmr_GprsRxTx: 00045 gprsRxTxTimer = time_ms; 00046 break; 00047 case tmr_SdWaitError: 00048 sdWaitErrorTimer = time_ms; 00049 break; 00050 case tmr_MeasFlash: 00051 measFlashTimer = time_ms; 00052 break; 00053 } 00054 } 00055 00056 unsigned long MyTimers::GetTimer(eTimerType timertype) 00057 { 00058 // see which timer we have to get, and return it. 00059 switch(timertype) 00060 { 00061 case tmr_GroveMeasure: 00062 return groveMeasureTimer; 00063 case tmr_GprsPower: 00064 return gprsPowerTimer; 00065 case tmr_GprsRxTx: 00066 return gprsRxTxTimer; 00067 case tmr_SdWaitError: 00068 return sdWaitErrorTimer; 00069 case tmr_MeasFlash: 00070 return measFlashTimer; 00071 } 00072 return 0; 00073 } 00074
Generated on Tue Jul 12 2022 23:07:44 by 1.7.2