Bmag incl gps rettelse
Dependencies: mbed WDT MODSERIAL BME280
Diff: ErrorHandler/ErrorHandler.cpp
- Revision:
- 11:d3d26d0e71ea
- Child:
- 12:2b46960a5d41
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ErrorHandler/ErrorHandler.cpp Fri Mar 31 12:30:20 2017 +0000 @@ -0,0 +1,78 @@ +#include "ErrorHandler.h" + +ErrorHandler::ErrorHandler(){ + errorStr1.assign(" "); + errorStr2.assign(" "); + currentState = NONE; + memset(tmparr,'\0',10); +}; + +ErrorHandler::ErrorHandler(string * batteryvoltage, bool * fix, BMAG * bmag){ + errorStr1.assign(" "); + errorStr2.assign(" "); + currentState = NONE; + memset(tmparr,'\0',10); + fixptr = fix; + batteryvoltageptr = batteryvoltage; + bmagptr = bmag; +}; + + +string ErrorHandler::getLine1(void){ + return errorStr1; +}; + +string ErrorHandler::getLine2(void){ + return errorStr2; +}; + +void ErrorHandler::setErrorState(ErrorState es){ + currentState = es; + + switch(currentState){ + + case(NONE): + break; + + case(NO_GPS): + errorStr1.assign("GPS data"); + errorStr2.assign("Missing!"); + break; + + case(NO_FIX): + errorStr1.assign("SetClock"); + errorStr2.assign("on mag!"); + break; + + case(NO_MAG_DATA): + errorStr1.assign("Mag data"); + errorStr2.assign("missing!"); + break; + + case(DISPLAY_VBAT_FIX): + memset(tmparr,'\0',10); + sprintf(tmparr, "VB: %s", *batteryvoltageptr); + errorStr1.assign(tmparr); + + if(*fixptr){ + errorStr2.assign("FIX: OK "); + } + + if(!(*fixptr)){ + errorStr2.assign("FIX:NONE"); + } + break; + + case(DISPLAY_MAG_MEASUREMENT): + memset(tmparr,'\0',10); + errorStr1.assign("nT: "); + sprintf(tmparr, "%s",bmagptr->getMagNTStr().c_str()); + errorStr2.assign(tmparr); + break; + + default: + break; + + + } +}; \ No newline at end of file