miked
Posts: 86 Joined: Fri Feb 10, 2012 11:06 am
Post
by miked » Sat Apr 14, 2012 7:19 pm
I believe this is the same code I have currently running. I added a moonlight phase and now am getting error: CurrentLoadedVersion:59: error: no matching function for call to 'ReefAngelClass::SingleATO(int)'
Code: Select all
// Autogenerated file by RAGen (v1.2.1.158), (03/08/2012 19:22)
// RA_030812_1922.ino
//
// This version designed for v0.9.0 or later
/* The following features are enabled for this File:
#define VersionMenu
#define DisplayLEDPWM
#define wifi
#define SaveRelayState
#define SIMPLE_MENU
#define PWMEXPANSION
#define ENABLE_ATO_LOGGING
#define ENABLE_EXCEED_FLAGS
*/
#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 <ReefAngel.h>
void setup()
{
ReefAngel.Init(); //Initialize controller
ReefAngel.FeedingModePorts = Port5Bit | Port6Bit | Port7Bit | Port8Bit;
ReefAngel.WaterChangePorts = Port4Bit | Port5Bit | Port6Bit | Port7Bit | Port8Bit;
ReefAngel.OverheatShutoffPorts = Port4Bit;
ReefAngel.LightsOnPorts = Port1Bit | Port2Bit | Port3Bit;
// Ports that are always on
ReefAngel.Relay.On(Port6);
ReefAngel.Relay.On(Port8);
}
void loop()
{
// Specific functions
ReefAngel.StandardLights(Port1);
ReefAngel.StandardLights(Port2);
ReefAngel.MHLights(Port3);
ReefAngel.MoonLights(Port7);
ReefAngel.StandardHeater(Port4);
ReefAngel.SingleATO(Port5);
ReefAngel.Relay.Set(Port5,!ReefAngel.HighATO.IsActive());
ReefAngel.PWM.SetActinic(PWMSlope(10,0,23,0,5,75,180,5));
ReefAngel.PWM.SetDaylight(PWMSlope(11,0,21,0,5,65,120,5));
ReefAngel.Portal("miked", "Ethan1007");
ReefAngel.ShowInterface();
rimai
Posts: 12857 Joined: Fri Mar 18, 2011 6:47 pm
Post
by rimai » Sat Apr 14, 2012 7:21 pm
Roberto.
miked
Posts: 86 Joined: Fri Feb 10, 2012 11:06 am
Post
by miked » Sat Apr 14, 2012 7:29 pm
I intend to use my ato floats in a high and high-high as a backup. will this still work? I thought I had remembered that the Low was for a low water in the supply resevior? although I am probably incorrect.
rimai
Posts: 12857 Joined: Fri Mar 18, 2011 6:47 pm
Post
by rimai » Sat Apr 14, 2012 7:52 pm
SingleATOLow() is a single ATO function that will monitor the low ATO port.
You already have the high Ato port monitoring high level for safety.
Roberto.
miked
Posts: 86 Joined: Fri Feb 10, 2012 11:06 am
Post
by miked » Sat Apr 14, 2012 8:25 pm
the low ato port is not being triggered by the float switch, any suggestions?
rimai
Posts: 12857 Joined: Fri Mar 18, 2011 6:47 pm
Post
by rimai » Sat Apr 14, 2012 8:28 pm
Probably because high port is overriding it.
Do you also have to high float switch plugged in?
Roberto.
miked
Posts: 86 Joined: Fri Feb 10, 2012 11:06 am
Post
by miked » Sat Apr 14, 2012 8:37 pm
both are plugged in and hanging so both floats are in down position.
put low float up and leave high float down, nothing happens
put high float up and leave low float down I hear the click
tried reversing float switches but still same result
rimai
Posts: 12857 Joined: Fri Mar 18, 2011 6:47 pm
Post
by rimai » Sat Apr 14, 2012 8:46 pm
What happens if you place the high float upside down?
Does the low work as intended?
Roberto.
miked
Posts: 86 Joined: Fri Feb 10, 2012 11:06 am
Post
by miked » Sat Apr 14, 2012 8:49 pm
nope, nothing. When I get it working I would like both to be float down and wires up due to my mounting brackets though.
miked
Posts: 86 Joined: Fri Feb 10, 2012 11:06 am
Post
by miked » Sat Apr 14, 2012 9:07 pm
spent some time trouble shooting and got nowhere. I wonder if it is the ATO low on the controler that is not working? anyway I can splice both float switches into the ATO high and use a single high mode to turn the ATO off if either of the floats triggers?
rimai
Posts: 12857 Joined: Fri Mar 18, 2011 6:47 pm
Post
by rimai » Sat Apr 14, 2012 9:12 pm
Remove this line:
Code: Select all
ReefAngel.Relay.Set(Port5,!ReefAngel.HighATO.IsActive());
That's the line that overrides the ATO function.
Does it work now?
Roberto.
miked
Posts: 86 Joined: Fri Feb 10, 2012 11:06 am
Post
by miked » Sat Apr 14, 2012 9:32 pm
I had to hook it back up to the tank. However; if I explain what I am attempting to do, see if you understand enough to start fresh with the ATO code.
both floats with wires up and float down for mounting
ATO (port 5) on when both floats are down
ATO (port 5) off when either one or both floats are up
also anything specific I need to do when setting up initial memory, I have port 5 checked as Dual ATO in RAGen
thanks
rimai
Posts: 12857 Joined: Fri Mar 18, 2011 6:47 pm
Post
by rimai » Sat Apr 14, 2012 9:43 pm
I understood initially what you were trying to do, except that I had a brain fart and wasn't thinking right when I answered before.
The code is actually wrong... Sorry.
Try this code:
Code: Select all
ReefAngel.SingleATOLow(Port5);
if (!ReefAngel.HighATO.IsActive()) ReefAngel.Relay.Off(Port5);
Try that.
Roberto.
miked
Posts: 86 Joined: Fri Feb 10, 2012 11:06 am
Post
by miked » Sat Apr 14, 2012 10:02 pm
that works. only thing is that if the High gets tripped and released - Port 5 stays off until Low gets tripped and released.
thanks again