ATO flag

Share you PDE file with our community

Posts: 30
Joined: Thu Jan 15, 2015 9:59 am
PostPosted: Tue Mar 10, 2015 5:35 pm
Okay everyone im not very techincal when it comes to programming so bear with me. I used the wizard to program my reef angel+. It's currently programmed for standard ato with a timer of 255. my problem is that when the low sensor is actuated and the pump turns on, its only on for a brief moment. its not on for 255 secs. i've tried changing the time from 5-255 on the app but still only on for a few seconds at a time, i have to clear the ato flag several times before enough water gets into the sump to turn the low sensor off. i'm currently away from my house for another 30 days so i cant hard code anything besides what i can do from the app, dont worry my tank is being cared for ;) here is my current 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 <Salinity.h>
#include <RF.h>
#include <IO.h>
#include <ORP.h>
#include <AI.h>
#include <PH.h>
#include <WaterLevel.h>
#include <Humidity.h>
#include <DCPump.h>
#include <PAR.h>
#include <ReefAngel.h>

////// Place global variable code below here

////// Place global variable code above here

void setup()
// This must be the first line
ReefAngel.Init(); //Initialize controller
ReefAngel.Use2014Screen(); // Let's use 2014 Screen
// Ports toggled in Feeding Mode
ReefAngel.FeedingModePorts = 0;
// Ports toggled in Water Change Mode
ReefAngel.WaterChangePorts = Port1Bit | Port8Bit;
// Ports toggled when Lights On / Off menu entry selected
ReefAngel.LightsOnPorts = 0;
// Ports turned off when Overheat temperature exceeded
ReefAngel.OverheatShutoffPorts = Port7Bit;
// Use T1 probe as temperature and overheat functions
ReefAngel.TempProbe = T1_PROBE;
ReefAngel.OverheatProbe = T1_PROBE;

// Ports that are always on
ReefAngel.Relay.On( Port1 );
ReefAngel.Relay.On( Port2 );
ReefAngel.Relay.On( Port8 );

////// Place additional initialization code below here

////// Place additional initialization code above here

void loop()
ReefAngel.DayLights( Port3 );
ReefAngel.ActinicLights( Port4 );
ReefAngel.StandardATO( Port5 );
ReefAngel.MoonLights( Port6 );
ReefAngel.StandardHeater( Port7 );
////// Place your custom code below here

////// Place your custom code above here

// This should always be the last line
User avatar
Posts: 5330
Joined: Fri Jul 20, 2012 9:42 am
PostPosted: Tue Mar 10, 2015 8:23 pm
You're using StandardATO it relies on both float switches. Can you describe the status for the high float switch?

Posts: 30
Joined: Thu Jan 15, 2015 9:59 am
PostPosted: Wed Mar 11, 2015 2:20 pm
right now the status for the high switch is off and the status for the low switch is off, which tells me that the water level is in between the switches. correct?

Posts: 11845
Joined: Fri Mar 18, 2011 6:47 pm
PostPosted: Wed Mar 11, 2015 3:04 pm
Are they mounted opposite from each other?

Posts: 30
Joined: Thu Jan 15, 2015 9:59 am
PostPosted: Thu Mar 12, 2015 8:46 am
yes they are mounted opposite of each other. last night i cleared my ato flag before going to bed and this morning i woke up and the high switch was on and the ato was flagged. maybe the app isnt writing the code to the RA? or app isnt updating correctly? i dunno but atleast it topped off last night.

Posts: 11845
Joined: Fri Mar 18, 2011 6:47 pm
PostPosted: Thu Mar 12, 2015 8:54 am
Here is what the controller is going to do with the StandardATO.
When water level drops all the way down to where the bottom switch is not floating, which needs to be connected to the Low ATO port, it will turn on port 5 and it will only turn off when it reaches the top switch and it is floating.
If you connected the float switches in the wrong order, it won't work this way.
Also, I would recommend using hard code, so we know exactly what parameters you are using. With internal memory, we can't see what you have in there.

Return to My PDE/INO file

Who is online

Users browsing this forum: No registered users and 3 guests