Code: Select all
static byte stage=255;
static int LastDisplayedMenu=-1;
static time_t lastHighATOActive=0;
if (LastDisplayedMenu!=WATERCHANGE_MODE && ReefAngel.DisplayedMenu==WATERCHANGE_MODE) stage=0;
LastDisplayedMenu=ReefAngel.DisplayedMenu;
if (ReefAngel.DisplayedMenu==WATERCHANGE_MODE)
{
if (stage==0)
{
ReefAngel.Relay.On(Box1_Port4);
ReefAngel.Relay.Off(Box1_Port7);
ReefAngel.Relay.Off(Box1_Port8);
if (ReefAngel.HighATO.IsActive()) lastHighATOActive=now();
if (now()-lastHighATOActive>6)
{
ReefAngel.Relay.Off(Box1_Port4);
stage=1;
}
}
if (stage==1)
{
ReefAngel.Relay.On(Box1_Port7);
ReefAngel.Relay.On(Box1_Port8);
ReefAngel.Relay.On(Box1_Port1);
if (!ReefAngel.HighATO.IsActive()) lastHighATOActive=now();
if (now()-lastHighATOActive>6)
{
ReefAngel.Relay.Off(Box1_Port1);
ButtonPress++;
stage=255;
}
}
int highatostatus=now()-lastHighATOActive;
ReefAngel.LCD.DrawText(0,255,10,60,"high ato:");
ReefAngel.LCD.DrawText(0,255,70,60,highatostatus);
ReefAngel.LCD.DrawText(0,255,10,70,"stage:");
ReefAngel.LCD.DrawText(0,255,70,70,stage);
static byte OldTempRelay=0;
byte TempRelay = ReefAngel.Relay.RelayData;
TempRelay &= ReefAngel.Relay.RelayMaskOff;
TempRelay |= ReefAngel.Relay.RelayMaskOn;
if (TempRelay!=OldTempRelay)
{
OldTempRelay=TempRelay;
ReefAngel.LCD.DrawOutletBox(12, 80, TempRelay);
}
TempRelay = ReefAngel.Relay.RelayDataE[0];
TempRelay &= ReefAngel.Relay.RelayMaskOffE[0];
TempRelay |= ReefAngel.Relay.RelayMaskOnE[0];
if (TempRelay!=OldTempRelay)
{
OldTempRelay=TempRelay;
ReefAngel.LCD.DrawOutletBox(12, 93, TempRelay);
}
}