this is what i am doing.....
void displayTimerScreen()
{
if (offMisting2RH>0)
{
setFont(LARGE, 0, 255, 0, 0, 0, 0);
myGLCD.print("On", 207, 145);
} else {
setFont(LARGE, 255, 0, 0, 0, 0, 0);
myGLCD.print("Off", 207, 145);}
setFont(LARGE, 255, 255, 255, 0, 0, 0);
myGLCD.print("Set 2 RH%:", 45, 145);
setFont(SMALL, 255, 0, 0, 0, 0, 0);
myGLCD.print("If Misting is set on RH%, all Set", CENTER, 166);
myGLCD.print("Misting Timer will be disabled.", CENTER, 181);
printHeader("Set Misting Timer");
setFont(SMALL, 0, 255, 255, 0, 0, 0);
myGLCD.print("ON", 53, 19);
myGLCD.print("OFF", 100, 19);
myGLCD.print("Days", 186,19);
myGLCD.setColor(56, 142, 142);
myGLCD.drawRect(0, 29, 319, 31); //Horizontal Divider Timer/on/off
byte timerOnH[]={0, mistingT1OnH, mistingT2OnH, mistingT3OnH, mistingT4OnH};
byte timerOnM[]={0, mistingT1OnM, mistingT2OnM, mistingT3OnM, mistingT4OnM};
byte timerOnS[]={0, mistingT1OnS, mistingT2OnS, mistingT3OnS, mistingT4OnS};
byte timerOffH[]={0, mistingT1OffH, mistingT2OffH, mistingT3OffH, mistingT4OffH};
byte timerOffM[]={0, mistingT1OffM, mistingT2OffM, mistingT3OffM, mistingT4OffM};
byte timerOffS[]={0, mistingT1OffS, mistingT2OffS, mistingT3OffS, mistingT4OffS};
byte timerAmPmOnx[]={0, timerAmPm1On, timerAmPm2On, timerAmPm3On, timerAmPm4On};
byte timerAmPmOffx[]={0, timerAmPm1Off, timerAmPm2Off, timerAmPm3Off, timerAmPm4Off};
byte timerSetSux[]={0, timerSetSu1, timerSetSu2, timerSetSu3, timerSetSu4},
timerSetMox[]={0, timerSetMo1, timerSetMo2, timerSetMo3, timerSetMo4},
timerSetTux[]={0, timerSetTu1, timerSetTu2, timerSetTu3, timerSetTu4},
timerSetWex[]={0, timerSetWe1, timerSetWe2, timerSetWe3, timerSetWe4},
timerSetThx[]={0, timerSetTh1, timerSetTh2, timerSetTh3, timerSetTh4},
timerSetFrx[]={0, timerSetFr1, timerSetFr2, timerSetFr3, timerSetFr4},
timerSetSax[]={0, timerSetSa1, timerSetSa2, timerSetSa3, timerSetSa4};
byte mistingSwitchOnOff[]={0, mistingSwitch1OnOff, mistingSwitch2OnOff, mistingSwitch3OnOff, mistingSwitch4OnOff};
for (x=1; x<5; x++)
{
myGLCD.setColor(56, 142, 142);
myGLCD.drawRect(0, (28 + x * 28) , 319, (28 + x * 28)); //Horizontal Divider for 1-4
if ((timerOnH[x]==0) && (timerOnM[x]==0) && (timerOnS[x]==0)
&& (timerOffH[x]==0) && (timerOffM[x]==0) && (timerOffS[x]==0)){
myGLCD.setColor(0, 0, 0);
myGLCD.fillRect(1, (4 + x * 28), 318, (27 + x * 28)); //Clears on/off timer if Reset or timer is on 0.
setFont(SMALL, 255, 0, 0, 0, 0, 0);
myGLCD.print("Timer 1 has not been Scheduled.", CENTER, (10 + x * 28));
myGLCD.printNumI(x, 83, (10 + x * 28));
} else {
if (mistingSwitchOnOff[x]==0){ //If Timer is off displays red background
myGLCD.setColor(255, 0, 0);
myGLCD.fillRect(1, (4 + x * 28), 318, (27 + x * 28));
setFont(SMALL, 255, 255, 255, 255, 0, 0);
} else {
myGLCD.setColor(0, 255, 0); //If Timer is on, Displays green background
myGLCD.fillRect(1, (4 + x * 28), 318, (27 + x * 28));
setFont(SMALL, 0, 0, 0, 0, 255, 0);}
if (timerOnH[x]<10)
{ myGLCD.printNumI(0, 33, (4 + x * 28));
myGLCD.printNumI(timerOnH[x], 41, (4 + x * 28));}
else
{ myGLCD.printNumI(timerOnH[x], 33, (4 + x * 28));}
myGLCD.print(":", 47, (4 + x * 28));
if (timerOnM[x]<10)
{ myGLCD.printNumI(0, 53, (4 + x * 28));
myGLCD.printNumI(timerOnM[x], 61, (4 + x * 28));}
else
{ myGLCD.printNumI(timerOnM[x], 53, (4 + x * 28));}
myGLCD.print(":", 67, (4 + x * 28));
if (timerOnS[x]<10)
{ myGLCD.printNumI(0, 73, (4 + x * 28));
myGLCD.printNumI(timerOnS[x], 81, (4 + x * 28));}
else
{ myGLCD.printNumI(timerOnS[x], 73, (4 + x * 28));}
if (timerOffH[x]<10)
{ myGLCD.printNumI(0, 83, (15 + x * 28));
myGLCD.printNumI(timerOffH[x], 91, (15 + x * 28));}
else
{ myGLCD.printNumI(timerOffH[x], 83, (15 + x * 28));}
myGLCD.print(":", 97, (15 + x * 28));
if (timerOffM[x]<10)
{ myGLCD.printNumI(0, 103, (15 + x * 28));
myGLCD.printNumI(timerOffM[x], 111, (15 + x * 28));}
else
{ myGLCD.printNumI(timerOffM[x], 103, (15 + x * 28));}
myGLCD.print(":", 117, (15 + x * 28));
if (timerOffS[x]<10)
{ myGLCD.printNumI(0, 123, (15 + x * 28));
myGLCD.printNumI(timerOffS[x], 131, (15 + x * 28));}
else
{ myGLCD.printNumI(timerOffS[x], 123, (15 + x * 28));}
if (setTimeFormat==1) //Is time set on 12hours
{
if (timerAmPmOnx[x]==1){
myGLCD.print("AM", 92, (4 + x * 28));
} else {
myGLCD.print("PM", 92, (4 + x * 28));}
if (timerAmPmOffx[x]==1){
myGLCD.print("AM", 142, (15 + x * 28));
} else {
myGLCD.print("PM", 142, (15 + x * 28));}
}
myGLCD.printNumI(x, 10, (10 + x * 28));
myGLCD.print(":", 18, (10 + x * 28));
if (timerSetSux[x]==7){
myGLCD.print("Su", 164, (4 + x * 28));}
if (timerSetMox[x]==1){
myGLCD.print("Mo", 184, (4 + x * 28));}
if (timerSetTux[x]==2){
myGLCD.print("Tu", 204, (4 + x * 28));}
if (timerSetWex[x]==3){
myGLCD.print("We", 224, (4 + x * 28));}
if (timerSetThx[x]==4){
myGLCD.print("Th", 174, (15 + x * 28));}
if (timerSetFrx[x]==5){
myGLCD.print("Fr", 194, (15 + x * 28));}
if (timerSetSax[x]==6){
myGLCD.print("Sa", 214, (15 + x * 28));}
if (mistingSwitchOnOff[x]==0){ //If Timer is off displays red background
printButton("On", onOffTimerButton1[0], (5 + x * 28), onOffTimerButton1[2], (25 + x * 28), SMALL); //Timer off
} else {
printButton("Off", onOffTimerButton1[0], (5 + x * 28), onOffTimerButton1[2], (25 + x * 28), SMALL);} //Timer on
printButton("Reset", resetTimerButton1[0], (5 + x * 28), resetTimerButton1[2], (25 + x * 28), SMALL); //Timer Reset
}
}
myGLCD.setColor(56, 142, 142); //Draw Dividers in Grey
myGLCD.drawRect(0, 196, 319, 194); //Bottom Horizontal Divider
printButton("<< BACK", back[0], back[1], back[2], back[3], SMALL);
printButton("Set 2 RH%", prSAVE[0], prSAVE[1], prSAVE[2], prSAVE[3], SMALL);
printButton("CANCEL", canC[0], canC[1], canC[2], canC[3], SMALL);
}
is there any way to make this code more compact so it uses less space?
if you can edit this function above it would be great thanks...