Пример #1
0
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);
}
Пример #2
0
void displayCalculations(){

	switch(displayMode){
	case 0:
		displaySpeed();
		break;
	case 1:
		displayDistance();
		break;
	case 2:
		displayTime();
		break;
	default:
		displayNumbers(-1,-1,-1,-1);
		break;
	}

}
Пример #3
0
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);
}
Пример #4
0
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 );
 }