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