Page 1 of 1

Switching ATO port based on pH

Posted: Wed Dec 24, 2014 6:03 am
by KRavEN
About to start testing this method and wanted to get some feedback.

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

Re: Switching ATO port based on pH

Posted: Wed Dec 24, 2014 6:15 am
by Lionfan
Genius.