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
- Committer:
- Joseph Radford
- Date:
- 2016-04-10
- Revision:
- 0:2df78a4443cd
File content as of revision 0:2df78a4443cd:
#include "timers.h" MyTimers::MyTimers() { // initialise timers groveMeasureTimer = 0; gprsPowerTimer = 0; gprsRxTxTimer = 0; sdWaitErrorTimer = 0; measFlashTimer = 0; m_tick = new Ticker(); // configure the ticker object to run every 1ms, and to call \sa run when it does so. m_tick->attach(this, &MyTimers::run, 0.001); } MyTimers::~MyTimers() { delete m_tick; } void MyTimers::run() { // decrement each timer in the class if (groveMeasureTimer) groveMeasureTimer--; if (gprsPowerTimer ) gprsPowerTimer--; if (gprsRxTxTimer ) gprsRxTxTimer--; if (sdWaitErrorTimer ) sdWaitErrorTimer--; if (measFlashTimer ) measFlashTimer--; } void MyTimers::SetTimer(eTimerType timertype, unsigned long time_ms) { // see which timer we have to set, and set it switch(timertype) { case tmr_GroveMeasure: groveMeasureTimer = time_ms; break; case tmr_GprsPower: gprsPowerTimer = time_ms; break; case tmr_GprsRxTx: gprsRxTxTimer = time_ms; break; case tmr_SdWaitError: sdWaitErrorTimer = time_ms; break; case tmr_MeasFlash: measFlashTimer = time_ms; break; } } unsigned long MyTimers::GetTimer(eTimerType timertype) { // see which timer we have to get, and return it. switch(timertype) { case tmr_GroveMeasure: return groveMeasureTimer; case tmr_GprsPower: return gprsPowerTimer; case tmr_GprsRxTx: return gprsRxTxTimer; case tmr_SdWaitError: return sdWaitErrorTimer; case tmr_MeasFlash: return measFlashTimer; } return 0; }