Page 1 of 2

Re: ATO signal on Portal

Posted: Sat Aug 03, 2013 8:04 am
by lnevo
All you need is this:

Code: Select all

static unsigned long lastATOCheck=millis();
ReefAngel.ReverseATOLow();

if (ReefAngel.LowATO.IsActive()) lastATOCheck=millis();
if (ReefAngel.LowATO.IsActive() && (millis()-lastATOCheck>2000)) ReefAngel.Relay.RelayMaskOff&=~(Port8Bit | Port7Bit | Port1Bit);
if ( (hour()>=8 && hour()<20))//wavemakers on at 8am and off at 8pm
{
static unsigned long nexttoggle=now();
static boolean state=false;
int cycle=nexttoggle-now();
ReefAngel.Relay.Set(Port5,state);
ReefAngel.Relay.Set(Port6,!ReefAngel.Relay.Status(Port5));
if (cycle<0)
{
nexttoggle+=random(960,1020);//tunzes on for 15-16 mins 
state=!state;
}
if (cycle<10)//10 sec overlap
{
ReefAngel.Relay.On(Port5);
ReefAngel.Relay.On(Port6);
}
}
else
{
ReefAngel.Relay.Off(Port5);
ReefAngel.Relay.Off(Port6);
}

Re: ATO signal on Portal

Posted: Sat Aug 03, 2013 11:02 am
by Seagals
Thanks Inevo, I was able to successfully upload it but the portal still shows a red light on both LW and HW ports - I checked the portal over a duration of several hours figuring the portal needed time to see it but still red.

Here is my entire code If you wouldn't mind please take a look at my code and perhaps lmk where I went wrong thanks.


#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 <ReefAngel.h>

////// Place global variable code below here
#include <avr/pgmspace.h>
prog_char menu0_label[] PROGMEM = "Feeding";
prog_char menu1_label[] PROGMEM = "Water Change";
prog_char menu2_label[] PROGMEM = "ATO Clear";
prog_char menu3_label[] PROGMEM = "Overheat Clear";
prog_char menu4_label[] PROGMEM = "PH Calibration";
prog_char menu5_label[] PROGMEM = "Version";
prog_char menu6_label[] PROGMEM = "Clear Low Water";
PROGMEM const char *menu_items[] = {
menu0_label, menu1_label, menu2_label, menu3_label, menu4_label, menu5_label, menu6_label };

void MenuEntry1()
{
ReefAngel.FeedingModeStart();

}
void MenuEntry2()
{
ReefAngel.WaterChangeModeStart();

}
void MenuEntry3()
{
ReefAngel.ATOClear();
ReefAngel.DisplayMenuEntry("Clear ATO Timeout");
}
void MenuEntry4()
{
ReefAngel.OverheatClear();
ReefAngel.DisplayMenuEntry("Clear Overheat");
}
void MenuEntry5()
{
ReefAngel.SetupCalibratePH();
ReefAngel.DisplayedMenu = ALT_SCREEN_MODE;

}
void MenuEntry6()
{
ReefAngel.DisplayVersion();

}
void MenuEntry7()
{
ReefAngel.Relay.RelayMaskOff=255;
}


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


void setup()
{
// This must be the first line
ReefAngel.Init(); //Initialize controller
// Ports toggled in Feeding Mode
ReefAngel.FeedingModePorts = Port1Bit | Port5Bit | Port6Bit;
// Ports toggled in Water Change Mode
ReefAngel.WaterChangePorts = Port1Bit | Port7Bit | Port8Bit;
// Ports toggled when Lights On / Off menu entry selected
ReefAngel.LightsOnPorts = Port2Bit | Port3Bit | Port4Bit;
// Ports turned off when Overheat temperature exceeded
ReefAngel.OverheatShutoffPorts = Port1Bit | Port2Bit | Port3Bit | Port4Bit;
// Use T1 probe as temperature and overheat functions
ReefAngel.TempProbe = T1_PROBE;
ReefAngel.OverheatProbe = T1_PROBE;
// Set the Overheat temperature setting
InternalMemory.OverheatTemp_write( 850 );


// Ports that are always on
ReefAngel.Relay.On( Port7 );//Chiller
ReefAngel.Relay.On( Port8 );//Main pump

////// Place additional initialization code below here
ReefAngel.InitMenu(pgm_read_word(&(menu_items[0])),SIZE(menu_items));


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

void loop()
{
ReefAngel.StandardLights( Port1,8,0,21,0 );//Protein skimmer
ReefAngel.StandardLights( Port2,9,0,21,30 );
ReefAngel.StandardLights( Port3,11,0,20,30 );
ReefAngel.StandardLights( Port4,9,0,21,30 );
ReefAngel.Wavemaker( Port5,960 );
ReefAngel.Relay.Set( Port6, !ReefAngel.Relay.Status( Port5 ) );
ReefAngel.PWM.SetDaylight( PWMSlope(11,0,20,25,5,70,120,5) );
ReefAngel.PWM.SetActinic( PWMSlope(9,0,21,30,15,88,60,20) );
////// Place your custom code below here
static unsigned long lastATOCheck=millis();

ReefAngel.ReverseATOLow();

if (ReefAngel.LowATO.IsActive()) lastATOCheck=millis();
if (ReefAngel.LowATO.IsActive() && (millis()-lastATOCheck>2000)) ReefAngel.Relay.RelayMaskOff&=~(Port8Bit | Port7Bit | Port1Bit);
if ( (hour()>=8 && hour()<20))//wavemakers on at 8am and off at 8pm
{
static unsigned long nexttoggle=now();
static boolean state=false;
int cycle=nexttoggle-now();
ReefAngel.Relay.Set(Port5,state);
ReefAngel.Relay.Set(Port6,!ReefAngel.Relay.Status(Port5));
if (cycle<0)
{
nexttoggle+=random(960,1020);//tunzes on for 15-16 mins
state=!state;
}
if (cycle<10)//10 sec overlap
{
ReefAngel.Relay.On(Port5);
ReefAngel.Relay.On(Port6);
}
}
else
{
ReefAngel.Relay.Off(Port5);
ReefAngel.Relay.Off(Port6);
}

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

// This should always be the last line
ReefAngel.Portal( "Seagals" );
ReefAngel.ShowInterface();
}

Re: ATO signal on Portal

Posted: Sat Aug 03, 2013 12:23 pm
by lnevo
This is where feature.txt update may be needed.

Roberto the info was in the pull request:

https://github.com/reefangel/Libraries/pull/89

Take a look at that link and make sure those two lines are in your feature.txt

Re: ATO signal on Portal

Posted: Sat Aug 03, 2013 5:37 pm
by Seagals
This is what I found in my library - not sure is this is what you were referring too. It states ATO_LOW_REVERSE - Appreciate your assistance - coding is new to me and after 50+ yrs trying to learn a new language .

LMK - if this helps clarify the issue thanks


/*
* Copyright 2010 Reef Angel / Roberto Imai
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

/*
* Updated by: Curt Binder
* Updates Released under Apache License, Version 2.0
*/

#ifndef __RA_ATO_H__
#define __RA_ATO_H__

#include <Globals.h>

/*
Auto Top Off Class
*/

class RA_ATOClass
{
public:
RA_ATOClass();
virtual bool IsActive() = 0;
inline bool IsTopping() { return topping; }
#ifdef ENABLE_ATO_LOGGING
virtual void StartTopping(bool fHighAto = false);
virtual void StopTopping(bool fHighAto = false);
#else
inline void StartTopping() { topping = true; }
inline void StopTopping() { topping = false; }
#endif // ENABLE_ATO_LOGGING
unsigned long Timer;
#ifdef REEFTOUCHDISPLAY
bool activestatus;
void inline SetActive(bool status) { activestatus=status; }
#endif // REEFTOUCHDISPLAY

private:
bool topping;
};

class RA_ATOHighClass : public RA_ATOClass
{
public:
#ifdef ATO_HIGH_REVERSE
#ifdef REEFTOUCHDISPLAY
inline bool IsActive() { return !activestatus; }
#else // REEFTOUCHDISPLAY
inline bool IsActive() { return digitalRead(highATOPin); }
#endif // REEFTOUCHDISPLAY
#else // ATO_HIGH_REVERSE
#ifdef REEFTOUCHDISPLAY
inline bool IsActive() { return activestatus; }
#else // REEFTOUCHDISPLAY
inline bool IsActive() { return !digitalRead(highATOPin); }
#endif // REEFTOUCHDISPLAY
#endif // ATO_HIGH_REVERSE
};

class RA_ATOLowClass : public RA_ATOClass
{
public:
#ifdef ATO_LOW_REVERSE
#ifdef REEFTOUCHDISPLAY
inline bool IsActive() { return !activestatus; }
#else // REEFTOUCHDISPLAY
inline bool IsActive() { return digitalRead(lowATOPin); }
#endif // REEFTOUCHDISPLAY
#else // ATO_LOW_REVERSE
#ifdef REEFTOUCHDISPLAY
inline bool IsActive() { return activestatus; }
#else // REEFTOUCHDISPLAY
inline bool IsActive() { return !digitalRead(lowATOPin); }
#endif // REEFTOUCHDISPLAY
#endif // ATO_LOW_REVERSE
};

#if defined WATERLEVELEXPANSION
class RA_ATOWLClass : public RA_ATOClass
{
public:
inline bool IsActive() { return false; }
};
#endif // WATERLEVELEXPANSION

#endif // __RA_ATO_H__

Re: ATO signal on Portal

Posted: Sat Aug 03, 2013 5:46 pm
by lnevo
I wrote that code and am using it as well. You must be missing the feature.txt line i posted.

You should see a message about it when you compile. If not then its going to do nothing.

Re: ATO signal on Portal

Posted: Sat Aug 03, 2013 5:47 pm
by lnevo
lnevo wrote:This is where feature.txt update may be needed.

Roberto the info was in the pull request:

https://github.com/reefangel/Libraries/pull/89

Take a look at that link and make sure those two lines are in your feature.txt

Re: ATO signal on Portal

Posted: Sun Aug 04, 2013 7:19 am
by Seagals
Inevo - I may have misunderstood was your last email directed towards Roberto? or me? because at this point I did all I know how to do with my limited knowledge

Re: ATO signal on Portal

Posted: Sun Aug 04, 2013 9:26 am
by lnevo
Its directed to both. Find the feature.txt file and add the two lines. Mentioned in the link posted. Re-compile and you should see the "feature" listed when you compile.

Re: ATO signal on Portal

Posted: Sun Aug 04, 2013 12:22 pm
by Seagals
Thanks but thing is I am kinda lost at this point what I found yesterday was all I have and will need Roberto's input.

Roberto - when you have a moment please offer me some help - thanks

Re: ATO signal on Portal

Posted: Sun Aug 04, 2013 12:26 pm
by rimai
I'm not so sure what you are trying to accomplish.
Are you trying to invert the colors from red to green?
Is that it?

Re: ATO signal on Portal

Posted: Sun Aug 04, 2013 12:52 pm
by lnevo
Ok nevermind. Just put this in your code

#define ATO_LOW_REVERSE

That should trigger it manually.

Re: ATO signal on Portal

Posted: Sun Aug 04, 2013 1:25 pm
by rimai
Using defines on INO code does not get the feature included...
It would be too easy if it worked this way :)
That's this exact reason why I had to come up with the auto-selection of features based on the feature.txt file.

Re: ATO signal on Portal

Posted: Sun Aug 04, 2013 1:28 pm
by lnevo
That sucks :(

Re: ATO signal on Portal

Posted: Sun Aug 04, 2013 1:42 pm
by Seagals
thanks guys but if its to much trouble don't worry about it - I would have liked the light on the portal to be green on my low water cut off indicating (to me at least) that all was ok. but it sounds like its to much trouble - so lets just leave it as is - thanks

Re: ATO signal on Portal

Posted: Sun Aug 04, 2013 2:25 pm
by lnevo
Just find the feature.txt file in your Documents\Arduino folder. You just need to add two lines to it.

Re: ATO signal on Portal

Posted: Sun Aug 04, 2013 2:25 pm
by lnevo
I think it should be in updates folder?

Re: ATO signal on Portal

Posted: Sun Aug 04, 2013 3:28 pm
by Seagals
ok Lee I found two folders in updates - One was called 'features' and the other was called 'source'

the one with 'source' had the github stuff

now the question is do I add https://github.com/reefangel/Libraries/pull/89 if so, where?


https://raw.github.com/reefangel/librar ... 307RTC.cpp
https://raw.github.com/reefangel/librar ... S1307RTC.h
https://raw.github.com/reefangel/librar ... ywords.txt
https://raw.github.com/reefangel/librar ... readme.txt
https://raw.github.com/reefangel/librar ... kiaLCD.cpp
https://raw.github.com/reefangel/librar ... NokiaLCD.h
https://raw.github.com/reefangel/librar ... LCD/README
https://raw.github.com/reefangel/librar ... neWire.cpp
https://raw.github.com/reefangel/librar ... /OneWire.h
https://raw.github.com/reefangel/librar ... ywords.txt
https://raw.github.com/reefangel/librar ... 610LCD.cpp
https://raw.github.com/reefangel/librar ... s6610LCD.h
https://raw.github.com/reefangel/librar ... s6610LCD.o
https://raw.github.com/reefangel/librar ... LCDInv.cpp
https://raw.github.com/reefangel/librar ... 10LCDInv.h
https://raw.github.com/reefangel/librar ... e/Time.cpp
https://raw.github.com/reefangel/librar ... ime/Time.h
https://raw.github.com/reefangel/librar ... trings.cpp
https://raw.github.com/reefangel/librar ... ywords.txt
https://raw.github.com/reefangel/librar ... Readme.txt
https://raw.github.com/reefangel/librar ... Alarms.cpp
https://raw.github.com/reefangel/librar ... meAlarms.h
https://raw.github.com/reefangel/librar ... ywords.txt
https://raw.github.com/reefangel/librar ... readme.txt
https://raw.github.com/reefangel/librar ... /README.md
https://raw.github.com/reefangel/librar ... /AI/AI.cpp
https://raw.github.com/reefangel/librar ... er/AI/AI.h
https://raw.github.com/reefangel/librar ... DCPump.cpp
https://raw.github.com/reefangel/librar ... p/DCPump.h
https://raw.github.com/reefangel/librar ... lobals.cpp
https://raw.github.com/reefangel/librar ... /Globals.h
https://raw.github.com/reefangel/librar ... midity.cpp
https://raw.github.com/reefangel/librar ... Humidity.h
https://raw.github.com/reefangel/librar ... EEPROM.cpp
https://raw.github.com/reefangel/librar ... alEEPROM.h
https://raw.github.com/reefangel/librar ... /IO/IO.cpp
https://raw.github.com/reefangel/librar ... er/IO/IO.h
https://raw.github.com/reefangel/librar ... ED/LED.cpp
https://raw.github.com/reefangel/librar ... /LED/LED.h
https://raw.github.com/reefangel/librar ... Memory.cpp
https://raw.github.com/reefangel/librar ... y/Memory.h
https://raw.github.com/reefangel/librar ... RP/ORP.cpp
https://raw.github.com/reefangel/librar ... /ORP/ORP.h
https://raw.github.com/reefangel/librar ... /PH/PH.cpp
https://raw.github.com/reefangel/librar ... er/PH/PH.h
https://raw.github.com/reefangel/librar ... RA_ATO.cpp
https://raw.github.com/reefangel/librar ... O/RA_ATO.h
https://raw.github.com/reefangel/librar ... A_Colors.h
https://raw.github.com/reefangel/librar ... ystick.cpp
https://raw.github.com/reefangel/librar ... Joystick.h
https://raw.github.com/reefangel/librar ... LCD/README
https://raw.github.com/reefangel/librar ... kiaLCD.cpp
https://raw.github.com/reefangel/librar ... NokiaLCD.h
https://raw.github.com/reefangel/librar ... RA_PWM.cpp
https://raw.github.com/reefangel/librar ... M/RA_PWM.h
https://raw.github.com/reefangel/librar ... Sensor.cpp
https://raw.github.com/reefangel/librar ... mpSensor.h
https://raw.github.com/reefangel/librar ... A_Wifi.cpp
https://raw.github.com/reefangel/librar ... /RA_Wifi.h
https://raw.github.com/reefangel/librar ... fAngel.cpp
https://raw.github.com/reefangel/librar ... eefAngel.h
https://raw.github.com/reefangel/librar ... gel/README
https://raw.github.com/reefangel/librar ... ywords.txt
https://raw.github.com/reefangel/librar ... Features.h
https://raw.github.com/reefangel/librar ... /Arial12.h
https://raw.github.com/reefangel/librar ... alBold20.h
https://raw.github.com/reefangel/librar ... alBold24.h
https://raw.github.com/reefangel/librar ... uch/f8x8.h
https://raw.github.com/reefangel/librar ... h/f12x12.h
https://raw.github.com/reefangel/librar ... h/f15x22.h
https://raw.github.com/reefangel/librar ... /Fat32.cpp
https://raw.github.com/reefangel/librar ... ch/Fat32.h
https://raw.github.com/reefangel/librar ... ch/mmc.cpp
https://raw.github.com/reefangel/librar ... ouch/mmc.h
https://raw.github.com/reefangel/librar ... ch/Icons.h
https://raw.github.com/reefangel/librar ... gel_Logo.h
https://raw.github.com/reefangel/librar ... fTouch.cpp
https://raw.github.com/reefangel/librar ... eefTouch.h
https://raw.github.com/reefangel/librar ... SDFile.cpp
https://raw.github.com/reefangel/librar ... h/SDFile.h
https://raw.github.com/reefangel/librar ... estImage.h
https://raw.github.com/reefangel/librar ... /Relay.cpp
https://raw.github.com/reefangel/librar ... ay/Relay.h
https://raw.github.com/reefangel/librar ... /RF/RF.cpp
https://raw.github.com/reefangel/librar ... er/RF/RF.h
https://raw.github.com/reefangel/librar ... RT_PWM.cpp
https://raw.github.com/reefangel/librar ... M/RT_PWM.h
https://raw.github.com/reefangel/librar ... linity.cpp
https://raw.github.com/reefangel/librar ... Salinity.h
https://raw.github.com/reefangel/librar ... /Timer.cpp
https://raw.github.com/reefangel/librar ... er/Timer.h
https://raw.github.com/reefangel/librar ... rLevel.cpp
https://raw.github.com/reefangel/librar ... terLevel.h
https://raw.github.com/reefangel/librar ... RA_TFT.cpp
https://raw.github.com/reefangel/librar ... T/RA_TFT.h
https://raw.github.com/reefangel/librar ... A_Tilt.cpp
https://raw.github.com/reefangel/librar ... /RA_Tilt.h
https://raw.github.com/reefangel/librar ... uchLCD.cpp
https://raw.github.com/reefangel/librar ... TouchLCD.h
https://raw.github.com/reefangel/librar ... /RA_TS.cpp
https://raw.github.com/reefangel/librar ... TS/RA_TS.h
http://www.reefangel.com/update/files/u ... eature.txt
http://www.reefangel.com/update/files/R ... loaded.ino
http://www.reefangel.com/update/files/t ... ibsVer.jar
http://www.reefangel.com/update/files/t ... loaded.jar
http://www.reefangel.com/update/files/t ... ection.png
http://www.reefangel.com/update/files/t ... _small.png
http://www.reefangel.com/update/files/t ... el-5.1.jar
http://www.reefangel.com/update/files/t ... -2.0b4.jar
http://www.reefangel.com/update/files/t ... tMaker.jar
http://www.reefangel.com/update/files/t ... -1.0.3.jar
http://www.reefangel.com/update/files/t ... l/jace.jar
http://www.reefangel.com/update/files/t ... -tasks.jar
http://www.reefangel.com/update/files/t ... /Regex.jar
http://www.reefangel.com/update/files/t ... weaver.jar
http://www.reefangel.com/update/files/t ... Wizard.jar
http://www.reefangel.com/update/files/t ... ata/AI.png
http://www.reefangel.com/update/files/t ... w_back.png
http://www.reefangel.com/update/files/t ... w_next.png
http://www.reefangel.com/update/files/t ... cancel.png
http://www.reefangel.com/update/files/t ... ection.png
http://www.reefangel.com/update/files/t ... layout.xml
http://www.reefangel.com/update/files/t ... a/moon.png
http://www.reefangel.com/update/files/t ... rabola.png
http://www.reefangel.com/update/files/t ... ttings.png
http://www.reefangel.com/update/files/t ... imming.png
http://www.reefangel.com/update/files/t ... Radion.png
http://www.reefangel.com/update/files/t ... ra_ato.png
http://www.reefangel.com/update/files/t ... imming.png
http://www.reefangel.com/update/files/t ... zontal.png
http://www.reefangel.com/update/files/t ... _small.png
http://www.reefangel.com/update/files/t ... _small.png
http://www.reefangel.com/update/files/t ... /slope.png
http://www.reefangel.com/update/files/t ... ttings.png

OR the following is what I found in the 'features' folder -

PWMEXPANSION,ReefAngel.PWM.SetChannel,Dimming Expansion Module
DisplayLEDPWM,ReefAngel.PWM.,Dimming Signal
AI_LED,ReefAngel.AI.,Aqua Illumination Communication
IOEXPANSION,ReefAngel.IO.,I/O Expansion Module
RFEXPANSION,ReefAngel.RF.,RF Expansion Module
SALINITYEXPANSION,ReefAngel.Params.Salinity,Salinity Expansion Module
ORPEXPANSION,ReefAngel.Params.ORP,ORP Expansion Module
wifi,ReefAngel.Portal,Wifi Attachment
wifi,CheckWifi(),Wifi Attachment
wifi,ReefAngel.AddWifi(),Wifi Attachment
CUSTOM_MAIN,DrawCustomMain,Custom Main Screen
CUSTOM_VARIABLES,ReefAngel.CustomVar,Custom Variable
ENABLE_EXCEED_FLAGS,_Exceed_Flag,Exceed Flagging
FONT_8x8,FONT_8x8,Extra Font - Medium Size (8x8 pixels)
FONT_8x8,ReefAngel.LCD.DrawLargeText,Extra Font - Medium Size (8x8 pixels)
FONT_8x16,FONT_8x16,Extra Font - Large Size (8x16 pixels)
FONT_12x16,FONT_12x16,Extra Font - Extra Large Size (12x16 pixels)
FONT_12x16,ReefAngel.LCD.DrawHugeText,Extra Font - Extra Large Size (12x16 pixels)
NUMBERS_8x8,NUMBERS_8x8,Extra Font - Numbers Only - Medium Size (8x8 pixels)
NUMBERS_8x16,NUMBERS_8x16,Extra Font - Numbers Only - Large Font (8x16 pixels)
NUMBERS_12x16,NUMBERS_12x16,Extra Font - Numbers Only - Extra Large Font (12x16 pixels)
NUMBERS_16x16,NUMBERS_16x16,Extra Font - Numbers Only - Huge Font (16x16 pixels)
NUMBERS_16x16,ReefAngel.LCD.DrawHugeNumbers,Extra Font - Numbers Only - Huge Font (16x16 pixels)
DateTimeSetup,ReefAngel.SetupDateTime,Date/Time Setup Menu
DateTimeSetup,ReefAngel.AddDateTimeMenu,Date/Time Setup Menu
SaveRelaysPresent,ReefAngel.Relay.IsRelayPresent,Relay Box presence check
RelayExp,Box1_,Relay Expansion Module
RelayExp,Box2_,Relay Expansion Module
RelayExp,Box3_,Relay Expansion Module
RelayExp,Box4_,Relay Expansion Module
RelayExp,Box5_,Relay Expansion Module
RelayExp,Box6_,Relay Expansion Module
RelayExp,Box7_,Relay Expansion Module
RelayExp,Box8_,Relay Expansion Module
RelayExp,ReefAngel.Relay.RelayDataE,Relay Expansion Module
CUSTOM_MENU,MenuEntry,Custom Menu
PHEXPANSION,ReefAngel.Params.PHExp,PH Expansion Module
COLORS_PDE,AddCustomColors(),Custom Colors
WATERLEVELEXPANSION,ReefAngel.WaterLevel.,Water Level Expansion Module
SetupCalibrateChoicePH,ReefAngel.SetupCalibrateChoicePH,Calibrate pH Menu with Choices
MOONPHASELABEL,MoonPhaseLabel,Moon Phase Label
PWMEXPANSION,ReefAngel.PWM.GetChannelValue,Dimming Expansion Module
PWMEXPANSION,ReefAngel.PWM.Channel0,Dimming Expansion Module
PWMEXPANSION,ReefAngel.PWM.Channel1,Dimming Expansion Module
PWMEXPANSION,ReefAngel.PWM.Channel2,Dimming Expansion Module
PWMEXPANSION,ReefAngel.PWM.Channel3,Dimming Expansion Module
PWMEXPANSION,ReefAngel.PWM.Channel4,Dimming Expansion Module
PWMEXPANSION,ReefAngel.PWM.Channel5,Dimming Expansion Module
COLORS_PDE,ReefAngel.AddCustomColors,Custom Colors
RFEXPANSION,ReefAngel.AddRFExpansion(),RF Expansion Module
DATETIME24,ReefAngel.Display24h(),Display 24h Time
SETUP_CALIBRATEPH_CHOICE,ReefAngel.UseFlexiblePhCalibration,Calibrate pH Menu with Choices
REEFANGEL_MINI,ReefAngel.Mini,Reef Angel Mini
SALINITYEXPANSION,ReefAngel.SetupCalibrateSalinity,Salinity Expansion Module
I2C_LIB,I2C.h,I2C Library
WATERLEVELEXPANSION,ReefAngel.WaterLevelATO,Water Level Expansion Module
REEFTOUCH,ReefAngel.Touch(),Reef Angel Touch
REEFTOUCHDISPLAY,ReefAngel.TouchDisplay(),Reef Angel Touch Display
NOWIFI,ReefAngel.NoWifi(),Disable Wifi Attachment
EVOLUTION,ReefAngel.Evolution(),Reef Angel Evolution
NOSD,ReefAngel.NoSD(),Disable SD Card
NOTILT,ReefAngel.NoTilt(),Disable Tilt
I2CMASTER,ReefAngel.UpdateTouchDisplay(),Reef Angel I2C Master
BUSCHECK,ReefAngel.AddBusCheck(),I2C Bus Check
RADION_COMM,ReefAngel.RF.SetChannel,Ecotech Radion Communication
HUMIDITYEXPANSION,ReefAngel.Humidity.GetLevel,Humidity Expanion Module
DCPUMPCONTROL,ReefAngel.DCPump,DC Pump Control (Jebao/Tunze)
DisplayLEDPWM,ReefAngel.DCPump,Dimming Signal
PWMEXPANSION,ReefAngel.DCPump.ExpansionChannel,Dimming Expansion Module
LEAKDETECTOREXPANSION,ReefAngel.IsLeakDetected(),Rope Leak Detector Expansion
LEAKDETECTOREXPANSION,ReefAngel.LeakShutoffPorts,Rope Leak Detector Expansion


Sorry for the back and forth and I really appreciate you spending so much time on the weekend helping me with this.

If you can let me know if these are the correct folders, if so, please suggest what I need to add and where - thanks Sooooooooooooo much!

Re: ATO signal on Portal

Posted: Sun Aug 04, 2013 4:16 pm
by lnevo
Thats not it. You are looking for a file not folder called feature.txt

You want to add these two lines:

ATO_LOW_REVERSE,ReefAngel.ReverseATOLow,Reverse ATO Low
ATO_HIGH_REVERSE,ReefAngel.ReverseATOHigh,Reverse ATO High

Re: ATO signal on Portal

Posted: Sun Aug 04, 2013 4:22 pm
by lnevo
The second one you showed "features"

Its not a folder but contents are correct.

Add the two lines i gave you above.

Re: ATO signal on Portal

Posted: Mon Aug 05, 2013 1:26 pm
by Seagals
YES it worked!!!! Thank you - It makes so much more sense for the light to be green meaning its safe - that's awesome thanks

Re: ATO signal on Portal

Posted: Mon Aug 05, 2013 1:54 pm
by lnevo
Glad my code helped someone besides me :)

For the record, you also could have

1) flipped the switch around

Or

2) take off the c-clip, flip floating magnet around, but back on c-clip

And you would have achieved the same result. Personally, I like the software mechanism.

Re: ATO signal on Portal

Posted: Mon Aug 05, 2013 3:39 pm
by Seagals
uffa - I never thought of that I could have saved us all allot of posts - but hey the positive side is I learned more about codes and it was a challenge solved!

Hey on another note - I saw on 'mr saltwater' tank the other day their was a new ATO unit that worked off of temperature probes. It got me thinking how we can use the temp probe on the RA unit in to detect water level and eventually we can get rid of the floats all together and use the RA probes to gauge water levels.

Here is the link http://www.mrsaltwatertank.com/mr-saltw ... expo-2013/

pretty interesting

Re: ATO signal on Portal

Posted: Mon Aug 05, 2013 4:28 pm
by lnevo
And there is a multi water level sensor being released!!!

Re: ATO signal on Portal

Posted: Sun Aug 11, 2013 11:12 am
by Seagals
I had a circumstance where the low water cutoff was needed but unfortunately it did not work - I tested the float back to the original code and it worked fine. I than reverted back to the reverse code and tried flipping the float but that wouldn't work in the flipped mode unless the water was low. meaning if the water was at operating level the pump would stay off. The red light just bugs me.

Re: ATO signal on Portal

Posted: Sun Aug 11, 2013 2:56 pm
by lnevo
Don't do both. YOu should leave the reverse code and change the logic for turning off the return by putting a ! or removing the ! in front of the LowATO.isActive(); function. Sounds like you keep doing two things at once.