Bmag incl gps rettelse

Dependencies:   mbed WDT MODSERIAL BME280

ErrorHandler/ErrorHandler.cpp

Committer:
MAA
Date:
2017-03-31
Revision:
11:d3d26d0e71ea
Child:
12:2b46960a5d41

File content as of revision 11:d3d26d0e71ea:

#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;
        
        
    }    
};