Bmag incl gps rettelse
Dependencies: mbed WDT MODSERIAL BME280
ErrorHandler/ErrorHandler.cpp
- Committer:
- MAA
- Date:
- 2017-04-05
- Revision:
- 12:2b46960a5d41
- Parent:
- 11:d3d26d0e71ea
- Child:
- 13:45b333983206
File content as of revision 12:2b46960a5d41:
#include "ErrorHandler.h" ErrorHandler::ErrorHandler(){ errorStr1.assign(" "); errorStr2.assign(" "); currentState = NONE; setMagTimePrompted = false; memset(tmparr,'\0',10); magPromptCounter = 0; }; ErrorHandler::ErrorHandler(string * batteryvoltage, bool * fix, BMAG * bmag){ errorStr1.assign(" "); errorStr2.assign(" "); currentState = NONE; memset(tmparr,'\0',10); fixptr = fix; batteryvoltageptr = batteryvoltage; bmagptr = bmag; setMagTimePrompted = false; magPromptCounter = 0; }; 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!"); if(magPromptCounter <= 300){ magPromptCounter += 1; } if(magPromptCounter > 300){ setMagTimePrompted = true; } 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("Q: nT:"); errorStr1[2] = bmagptr->getMagSq()[0]; errorStr1[3] = bmagptr->getMagSq()[1]; sprintf(tmparr, "%s",bmagptr->getMagNTStr().c_str()); errorStr2.assign(tmparr); break; default: break; } }; bool ErrorHandler::getMagTimePromtStatus(void){ return setMagTimePrompted; };