here is my code, it worked but now error

Post Reply
miked
Posts: 86
Joined: Fri Feb 10, 2012 11:06 am

here is my code, it worked but now error

Post 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();
Image
rimai
Posts: 12857
Joined: Fri Mar 18, 2011 6:47 pm

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

Post by rimai »

Change this:

Code: Select all

    ReefAngel.SingleATO(Port5);
To this:

Code: Select all

    ReefAngel.SingleATOLow(Port5);
Roberto.
miked
Posts: 86
Joined: Fri Feb 10, 2012 11:06 am

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

Post 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.
Image
rimai
Posts: 12857
Joined: Fri Mar 18, 2011 6:47 pm

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

Post 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.
Roberto.
miked
Posts: 86
Joined: Fri Feb 10, 2012 11:06 am

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

Post by miked »

the low ato port is not being triggered by the float switch, any suggestions?
Image
rimai
Posts: 12857
Joined: Fri Mar 18, 2011 6:47 pm

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

Post by rimai »

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

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

Post 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
Image
rimai
Posts: 12857
Joined: Fri Mar 18, 2011 6:47 pm

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

Post by rimai »

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

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

Post 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.
Image
miked
Posts: 86
Joined: Fri Feb 10, 2012 11:06 am

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

Post 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?
Image
rimai
Posts: 12857
Joined: Fri Mar 18, 2011 6:47 pm

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

Post 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?
Roberto.
miked
Posts: 86
Joined: Fri Feb 10, 2012 11:06 am

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

Post 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
Image
rimai
Posts: 12857
Joined: Fri Mar 18, 2011 6:47 pm

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

Post 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.
Roberto.
miked
Posts: 86
Joined: Fri Feb 10, 2012 11:06 am

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

Post 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
Image
Post Reply