I am getting an ATO time out on the controller. My topoff is connected to the RODI via a 12v solenoid/valve. I am using the dual ato with the low as the trigger to fill and the high as a backup. Where is this timeout coming from? here is the code.
#include <ReefAngel_Features.h>
#include <Globals.h>
#include <RA_Wifi.h>
#include <Wire.h>
#include <OneWire.h>
#include <Time.h>
#include <DS1307RTC.h>
#include <InternalEEPROM.h>
#include <RA_NokiaLCD.h>
#include <RA_ATO.h>
#include <RA_Joystick.h>
#include <LED.h>
#include <RA_TempSensor.h>
#include <Relay.h>
#include <RA_PWM.h>
#include <Timer.h>
#include <Memory.h>
#include <InternalEEPROM.h>
#include <RA_Colors.h>
#include <RA_CustomColors.h>
#include <PH.h>
#include <WaterLevel.h>
#include <ReefAngel.h>
////// Place global variable code below here
//Return 1
//Blue LED and Fans 2
//White LED 3
//Alk 4
//Powerhead 5
//Heater 6
#define ATO 7
//Skimmer 8
////// Place global variable code above here
void setup()
{
// This must be the first line
ReefAngel.Init(); //Initialize controller
ReefAngel.AddStandardMenu(); // Add Standard Menu
// Ports toggled in Feeding Mode
ReefAngel.FeedingModePorts = Port1Bit | Port5Bit | Port7Bit;
// Ports toggled in Water Change Mode
ReefAngel.WaterChangePorts = Port1Bit | Port5Bit | Port7Bit;
// Ports toggled when Lights On / Off menu entry selected
ReefAngel.LightsOnPorts = Port2Bit | Port3Bit;
// Ports turned off when Overheat temperature exceeded
ReefAngel.OverheatShutoffPorts = Port2Bit | Port3Bit | Port5Bit | Port6Bit | Port7Bit;
// Use T1 probe as temperature and overheat functions
ReefAngel.TempProbe = T1_PROBE;
ReefAngel.OverheatProbe = T1_PROBE;
// Set the Overheat temperature setting
InternalMemory.OverheatTemp_write( 830 );
// Ports that are always on
ReefAngel.Relay.On( Port1 );
ReefAngel.Relay.On( Port8 );
////// Place additional initialization code below here
////// Place additional initialization code above here
}
void loop()
{
ReefAngel.StandardLights( Port2,10,0,22,0 );
ReefAngel.StandardLights( Port3,10,0,22,0 );
ReefAngel.StandardHeater( Port6,760,770 );
ReefAngel.PWM.SetDaylight( PWMParabola(12,0,19,0,0,30,0) );
ReefAngel.PWM.SetActinic( PWMParabola(10,0,22,0,0,30,0) );
////// Place your custom code below here
//Alk Dosing Pump 1 Minute Every 25 Minutes
if (now()%1500<60) ReefAngel.Relay.On(Port4); else ReefAngel.Relay.Off(Port4);
//Powerhead On Every 4 Hours With 30 Min Pause
if (now()%1800<12600) ReefAngel.Relay.On(Port5); else ReefAngel.Relay.Off(Port5);
//Heater Control on at 76.0F and off at 76.8F
ReefAngel.StandardHeater(Port6,760,768);
//ATO Low Activation with High Safety (Port 7)
if (ReefAngel.HighATO.IsActive()) ReefAngel.SingleATOLow(ATO);
else ReefAngel.Relay.Off(ATO);
////// Place your custom code above here
// This should always be the last line
ReefAngel.ShowInterface();
}
its been working perfect for a year, I added leds to my tank and had to upload code to make the changes. I had to format a machine that crashed and reinstalled the reefangel setup and modified my wizard generated sketch with some lines from my old code. Now im having issues?
the float goes low and clicks the relay/solenoid. when it gets to the proper level, it shuts back off. no timeouts and its been over an hour.. I would like to utilize the other ATO as a backup in case the first one gets stuck on. That is what I had at first I believe.