Here's the method and then I just call setATO(); in the loop.
Code: Select all
uint8_t atopump = -1;
void setATO(){
// If waterlevel is greater than 60
if(ReefAngel.WaterLevel.GetLevel(1) > 60)
{
// if the pH is greater than 8.2 then top with RO
if(ReefAngel.Params.PH > 820)
{
if(atopump != ROPump) {
ReefAngel.WLATO.StopTopping();
ReefAngel.Relay.Off(KalkPump);
atopump = ROPump;
}
}
// if pH less than 8.2 top with Kalk
else
{
if(atopump != KalkPump) {
ReefAngel.WLATO.StopTopping();
ReefAngel.Relay.Off(ROPump);
atopump = KalkPump;
}
}
ReefAngel.WaterLevelATO(1, atopump);
}
// if waterlevel is less than 60 then there is no level data
// or something else is wrong so stop everything
else
{
ReefAngel.WLATO.StopTopping();
ReefAngel.Relay.Off(ROPump);
ReefAngel.Relay.Off(KalkPump);
}
}