void displayTime(){ int a,b,c,d; int elapsedTimeMin; int elapsedTimeSec; elapsedTimeMin = elapsedTime / 60; a = elapsedTimeMin / 10; b = elapsedTimeMin % 10; setDecimalAnode1(true); elapsedTimeSec = elapsedTime % 60; c = elapsedTimeSec / 10; d = elapsedTimeSec % 10; displayNumbers(a,b,c,d); }
void displayCalculations(){ switch(displayMode){ case 0: displaySpeed(); break; case 1: displayDistance(); break; case 2: displayTime(); break; default: displayNumbers(-1,-1,-1,-1); break; } }
void displaySpeed(){ int a,b,c,d; double currSpeed = getCurrentSpeed(); double averSpeed = getAverageSpeed(); //current speed in left most if(currSpeed >= 100){ // only allow display two digits, display 99 a = 9; b = 9; }else if(currSpeed > 10 ){ // no decimal pt a = currSpeed / 10; setDecimalAnode0(false); b = (currSpeed - a * 10); }else{ //1 digit + decimal a = currSpeed; setDecimalAnode0(true); b = (currSpeed * 10 ) - (a * 10); } if(averSpeed >= 100){ // only allow display two digits, display 99 c = 9; d = 9; }else if(averSpeed > 10 ){ // no decimal pt c = averSpeed / 10; setDecimalAnode2(false); d = (averSpeed - c * 10); } else{ //1 digit + decimal c = averSpeed; setDecimalAnode2(true); d = (averSpeed * 10 ) - (c * 10); } displayNumbers(a,b,c,d); }
void displayDistance(){ int a,b,c,d; double totalDis = getTotalDistance(); if(totalDis >= 1000 ){ // only allow display four digits, max display 9999 a = 9; b = 9; c = 9; setDecimalAnode2(true); d = 9; }else{ //3 digit + decimal a = totalDis / 100; b = (totalDis - a * 100) / 10; c = (totalDis - a * 100 - b * 10); setDecimalAnode2(true); d = (totalDis - a * 100 - b * 10 - c) * 10; } displayNumbers(a,b,c,d); }
void display( char c ) { if( !c ) displayNumbers(); else displaySymbol( c ); }