ATO Timeout

Basic / Standard Reef Angel hardware
Post Reply
Threedo
Posts: 22
Joined: Mon Apr 02, 2012 9:02 am

ATO Timeout

Post by Threedo »

I used RAGen to change the ATO Timeout to 600 seconds but when i upload the code i go in the ATO menu and it says 88s... i try to increase it but it only goes to the 200s... Am i missing something? I need the ATO to run longer since my pump is slow.
Last edited by Threedo on Tue Apr 10, 2012 7:09 pm, edited 1 time in total.
Threedo
Posts: 22
Joined: Mon Apr 02, 2012 9:02 am

Re: ATO Timeout

Post by Threedo »

// Autogenerated file by RAGen (v1.2.2.171), (04/10/2012 20:15)
// Memory_041012_2015.ino
//
// This file sets the default values to the Internal Memory
//


#include <ReefAngel_Features.h>
#include <Globals.h>
#include <Time.h>
#include <OneWire.h>
#include <RA_NokiaLCD.h>
#include <avr/pgmspace.h>
#include <InternalEEPROM.h>
#include <Wire.h>
#include <Memory.h>


RA_NokiaLCD e;

void setup()
{
e.Init();
e.Clear(COLOR_WHITE,0,0,132,132);
e.BacklightOn();

InternalMemory.MHOnHour_write(16);
InternalMemory.MHOnMinute_write(30);
InternalMemory.MHOffHour_write(22);
InternalMemory.MHOffMinute_write(30);
InternalMemory.StdLightsOnHour_write(16);
InternalMemory.StdLightsOnMinute_write(0);
InternalMemory.StdLightsOffHour_write(23);
InternalMemory.StdLightsOffMinute_write(30);
InternalMemory.WM1Timer_write(200);
InternalMemory.WM2Timer_write(354);
InternalMemory.DP1Timer_write(10);
InternalMemory.DP2Timer_write(10);
InternalMemory.FeedingTimer_write(900);
InternalMemory.LCDTimer_write(600);
InternalMemory.OverheatTemp_write(815);
InternalMemory.LEDPWMDaylight_write(50);
InternalMemory.LEDPWMActinic_write(50);
InternalMemory.HeaterTempOn_write(780);
InternalMemory.HeaterTempOff_write(785);
InternalMemory.ChillerTempOn_write(810);
InternalMemory.ChillerTempOff_write(785);
InternalMemory.ATOTimeout_write(600);
InternalMemory.PHMax_write(840);
InternalMemory.PHMin_write(550);
InternalMemory.MHDelay_write(2);
InternalMemory.DP1OnHour_write(20);
InternalMemory.DP1OnMinute_write(0);
InternalMemory.DP2OnHour_write(22);
InternalMemory.DP2OnMinute_write(30);
InternalMemory.ATOHourInterval_write(0);
InternalMemory.ATOHighHourInterval_write(0);
InternalMemory.ATOHighTimeout_write(600);
InternalMemory.DP1RepeatInterval_write(0);
InternalMemory.DP2RepeatInterval_write(0);
InternalMemory.SalMax_write(2550);
InternalMemory.PWMSlopeStartD_write(15);
InternalMemory.PWMSlopeEndD_write(100);
InternalMemory.PWMSlopeDurationD_write(60);
InternalMemory.PWMSlopeStartA_write(15);
InternalMemory.PWMSlopeEndA_write(100);
InternalMemory.PWMSlopeDurationA_write(60);
InternalMemory.RFMode_write(0);
InternalMemory.RFSpeed_write(100);
InternalMemory.RFDuration_write(10);
InternalMemory.PWMSlopeStart0_write(15);
InternalMemory.PWMSlopeEnd0_write(100);
InternalMemory.PWMSlopeDuration0_write(60);
InternalMemory.PWMSlopeStart1_write(15);
InternalMemory.PWMSlopeEnd1_write(100);
InternalMemory.PWMSlopeDuration1_write(60);
InternalMemory.PWMSlopeStart2_write(15);
InternalMemory.PWMSlopeEnd2_write(100);
InternalMemory.PWMSlopeDuration2_write(60);
InternalMemory.PWMSlopeStart3_write(15);
InternalMemory.PWMSlopeEnd3_write(100);
InternalMemory.PWMSlopeDuration3_write(60);
InternalMemory.PWMSlopeStart4_write(15);
InternalMemory.PWMSlopeEnd4_write(100);
InternalMemory.PWMSlopeDuration4_write(60);
InternalMemory.PWMSlopeStart5_write(15);
InternalMemory.PWMSlopeEnd5_write(100);
InternalMemory.PWMSlopeDuration5_write(60);
InternalMemory.IMCheck_write(0x5241494D);
}

void loop()
{
// display success screen
e.DrawText(COLOR_BLACK, COLOR_WHITE, MENU_START_COL, MENU_START_ROW*2, "Internal Memory Set");
e.DrawText(COLOR_BLACK, COLOR_WHITE, MENU_START_COL, MENU_START_ROW*4, "Now load your");
e.DrawText(COLOR_BLACK, COLOR_WHITE, MENU_START_COL, MENU_START_ROW*5, " RA code file");
delay(5000);
}
symon_say
Posts: 119
Joined: Sun Oct 09, 2011 6:04 am
Location: Dominican Republic
Contact:

Re: ATO Timeout

Post by symon_say »

I did it with mine and i just add this code:

Code: Select all

ReefAngel.StandardATO(Port1,300)
300 is the time in seconds.
Image
Threedo
Posts: 22
Joined: Mon Apr 02, 2012 9:02 am

Re: ATO Timeout

Post by Threedo »

thanks i can give that a try
binder
Posts: 2871
Joined: Fri Mar 18, 2011 6:20 pm
Location: Illinois
Contact:

Re: ATO Timeout

Post by binder »

With the ATO functions there are some limits with the values. When using the StandardATO function, you can use a max of 32767 seconds. To be able to use this value, you must hard code it in your PDE/INO file (like symon_say did). If you use the InternalMemory functions and the menu, the max value you can use is 255. This is a limitation that I imposed on it to match up with the SingleATO function.

When using the SingleATO function, you can use a max of 255 seconds. The max value is the same using the hard coded values and menu system.
dedvalson
Posts: 140
Joined: Tue Oct 04, 2011 5:49 am

Re: ATO Timeout

Post by dedvalson »

I found this to be a problem for me also so I modified SingleATO itself to multiply the value by 60, causing the timeout to be specified in minutes instead of seconds. I did this because I use an Aqualifter pump for ATO, which just trickles in the make up water. I had to set mine to 30 minute. I also only allow it to run every 60 minutes which prevents it from running in tiny little bursts everytime a little wave wiggles the ATO switch. Since it doesn't hurt an Aqualifter at all to run it dry it is not an issue if it runs for a full 1/2 hour before the ATO gives up.
carlii
Posts: 91
Joined: Sat Mar 17, 2012 7:22 pm

Re: ATO Timeout

Post by carlii »

How did you code the Single ATO to multiply by 60?
rimai
Posts: 12881
Joined: Fri Mar 18, 2011 6:47 pm

Re: ATO Timeout

Post by rimai »

We extended the timeout on libraries version v0.9.5 and created a new function.
Which function are you using?
Roberto.
carlii
Posts: 91
Joined: Sat Mar 17, 2012 7:22 pm

Re: ATO Timeout

Post by carlii »

The single ATO function. I was using standard but I am using the high ATO to control my AI Sol which works amazingly by way!!!!

I need a time out of 30 minutes because I use an Aqualifter pump on a Single ATO switch. 255 seconds isn't long enough.
rimai
Posts: 12881
Joined: Fri Mar 18, 2011 6:47 pm

Re: ATO Timeout

Post by rimai »

Try this:

Code: Select all

SingleATO(true,Port1,600,1);
true = Low ATO port
Port1 = port you are using for ATO pump
600 = timeout in seconds
1 = run only once per hour. To have it run many times per hour, just put 0.
Roberto.
carlii
Posts: 91
Joined: Sat Mar 17, 2012 7:22 pm

Re: ATO Timeout

Post by carlii »

Cool. Thanks.
carlii
Posts: 91
Joined: Sat Mar 17, 2012 7:22 pm

Re: ATO Timeout

Post by carlii »

I get an error in compile

No matching function for call to 'reefangelclass::SingleATOLow(int,int,int,int)'
carlii
Posts: 91
Joined: Sat Mar 17, 2012 7:22 pm

Re: ATO Timeout

Post by carlii »

Disregard I was using Reefangel.SingleatoLow not ReefAngel.SingleATO
Post Reply