Page 1 of 1

here is my code, it worked but now error

Posted: Sat Apr 14, 2012 7:19 pm
by miked
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();

Re: here is my code, it worked but now error

Posted: Sat Apr 14, 2012 7:21 pm
by rimai
Change this:

Code: Select all

    ReefAngel.SingleATO(Port5);
To this:

Code: Select all

    ReefAngel.SingleATOLow(Port5);

Re: here is my code, it worked but now error

Posted: Sat Apr 14, 2012 7:29 pm
by miked
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.

Re: here is my code, it worked but now error

Posted: Sat Apr 14, 2012 7:52 pm
by rimai
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.

Re: here is my code, it worked but now error

Posted: Sat Apr 14, 2012 8:25 pm
by miked
the low ato port is not being triggered by the float switch, any suggestions?

Re: here is my code, it worked but now error

Posted: Sat Apr 14, 2012 8:28 pm
by rimai
Probably because high port is overriding it.
Do you also have to high float switch plugged in?

Re: here is my code, it worked but now error

Posted: Sat Apr 14, 2012 8:37 pm
by miked
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

Re: here is my code, it worked but now error

Posted: Sat Apr 14, 2012 8:46 pm
by rimai
What happens if you place the high float upside down?
Does the low work as intended?

Re: here is my code, it worked but now error

Posted: Sat Apr 14, 2012 8:49 pm
by miked
nope, nothing. When I get it working I would like both to be float down and wires up due to my mounting brackets though.

Re: here is my code, it worked but now error

Posted: Sat Apr 14, 2012 9:07 pm
by miked
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?

Re: here is my code, it worked but now error

Posted: Sat Apr 14, 2012 9:12 pm
by rimai
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?

Re: here is my code, it worked but now error

Posted: Sat Apr 14, 2012 9:32 pm
by miked
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

Re: here is my code, it worked but now error

Posted: Sat Apr 14, 2012 9:43 pm
by rimai
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.

Re: here is my code, it worked but now error

Posted: Sat Apr 14, 2012 10:02 pm
by miked
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