70 lines
1.4 KiB
C++
70 lines
1.4 KiB
C++
void PopBoardDisplayGraphic() {
|
|
//Reset Board
|
|
if (millis() >= Prog_NextUpdate) {
|
|
ClearArea(14, 20, 314, 220);
|
|
|
|
//Set Line
|
|
myGLCD.setColor(55, 55, 55);
|
|
myGLCD.drawLine(14, 120, 314, 120);
|
|
myGLCD.drawLine(164, 20, 164, 220);
|
|
|
|
//Draw Background Rect
|
|
myGLCD.setColor(255, 255, 255);
|
|
myGLCD.drawRect(14, 20, 314, 220);
|
|
|
|
//Set Invalid LastPos
|
|
Prog_LastX = 0;
|
|
Prog_LastY = 0;
|
|
|
|
Prog_NextUpdate = millis() + 30000;
|
|
}
|
|
|
|
//Set Values
|
|
float LogFloat = GetBoardValue(1);
|
|
Prog_LogFloatVal = false;
|
|
|
|
//Set Log Float
|
|
if (Prog_Log_Value >= 2 && Prog_Log_Value <= 7) {
|
|
Prog_LogFloatVal = true;
|
|
}
|
|
|
|
//Get PosX
|
|
long CurrMillis = Prog_NextUpdate - millis();
|
|
int PosX = ((-CurrMillis * 300) / 30000) - 198;
|
|
|
|
//Get PosY
|
|
float RangeF = float(Prog_YMax - Prog_YMin);
|
|
long FakePos = FakePos = ((LogFloat - Prog_YMin) / RangeF) * 200;
|
|
int PosY = 220 - int(FakePos);
|
|
|
|
//Reset Unavailable PosX
|
|
if (PosX == 14) {
|
|
PosX = 15;
|
|
} else if (PosX == 314) {
|
|
PosX = 313;
|
|
}
|
|
|
|
//Reset Unavailable PosY
|
|
if (PosY <= 20) {
|
|
PosY = 21;
|
|
} else if (PosY >= 220) {
|
|
PosY = 219;
|
|
}
|
|
|
|
//Check available LastPos
|
|
if (Prog_LastX == 0) {
|
|
Prog_LastX = PosX;
|
|
}
|
|
if (Prog_LastY == 0) {
|
|
Prog_LastY = PosY;
|
|
}
|
|
|
|
//Draw Line
|
|
myGLCD.setColor(255, 255, 0);
|
|
myGLCD.drawLine(Prog_LastX, Prog_LastY, PosX, PosY);
|
|
|
|
//Set Last Pos
|
|
Prog_LastX = PosX;
|
|
Prog_LastY = PosY;
|
|
}
|