RA Plus running the same code since July without issue until yesterday when I randomly noticed the heater was on when it shouldn't be (i.e. heater off temp < T3). I tried rebooting it, checking the memory settings, and even re-uploaded the code but it's ignoring the uploaded settings and continuing to act strange.
When I say ignoring, I changed the set points for the heater through the wizard but when I look at heater on and heater off temps through the android app it still has the old numbers. That in and of itself isn't a problem for me, but it's ignoring those temps, the relay stays on unless I change the setting through the app for the heater on and off to like 3...instead of 730 and 740 (i.e. 73.0 and 74.0 F)
Any ideas? Is the memory in the unit just cooked?
The code that was stable and running is below. Using the 1.1.3 Mac .dmg.
Code: Select all
#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 <PH.h>
#include <WaterLevel.h>
#include <Humidity.h>
#include <DCPump.h>
#include <PAR.h>
#include <ReefAngel.h>
////// Place global variable code below here
////// Place global variable code above here
void setup()
{
// This must be the first line
ReefAngel.Init(); //Initialize controller
ReefAngel.Use2014Screen(); // Let's use 2014 Screen
ReefAngel.AddSalinityExpansion(); // Salinity Expansion Module
// Ports toggled in Feeding Mode
ReefAngel.FeedingModePorts = Port1Bit | Port3Bit | Port7Bit | Port8Bit;
// Ports toggled in Water Change Mode
ReefAngel.WaterChangePorts = Port1Bit | Port3Bit | Port7Bit | Port8Bit;
// Ports toggled when Lights On / Off menu entry selected
ReefAngel.LightsOnPorts = Port5Bit | Port6Bit;
// Ports turned off when Overheat temperature exceeded
ReefAngel.OverheatShutoffPorts = Port1Bit | Port5Bit | Port6Bit;
// Use T3 probe as temperature and overheat functions
ReefAngel.TempProbe = T3_PROBE;
ReefAngel.OverheatProbe = T3_PROBE;
// Feeding and Water Change mode speed
ReefAngel.DCPump.FeedingSpeed=0;
ReefAngel.DCPump.WaterChangeSpeed=0;
// Ports that are always on
ReefAngel.Relay.On( Port7 );
////// Place additional initialization code below here
////// Place additional initialization code above here
}
void loop()
{
ReefAngel.StandardHeater( Port1 );
ReefAngel.StandardFan( Port3 );
ReefAngel.ActinicLights( Port5 );
ReefAngel.DayLights( Port6 );
ReefAngel.Relay.DelayedOn( Port8 );
ReefAngel.PWM.DaylightPWMParabola();
ReefAngel.DCPump.UseMemory = true;
ReefAngel.DCPump.DaylightChannel = None;
ReefAngel.DCPump.ActinicChannel = Sync;
ReefAngel.DCPump.LowATOChannel = None;
ReefAngel.DCPump.HighATOChannel = AntiSync;
////// Place your custom code below here
// WP40 Night Mode
// go to mode defined by RF memory locations
if (hour()<InternalMemory.StdLightsOnHour_read() || hour()>InternalMemory.StdLightsOffHour_read())
{
ReefAngel.DCPump.UseMemory=false;
ReefAngel.DCPump.Duration=InternalMemory.RFDuration_read();
ReefAngel.DCPump.Mode=InternalMemory.RFMode_read();
ReefAngel.DCPump.Speed=InternalMemory.RFSpeed_read();
}
else (ReefAngel.DCPump.UseMemory=true);
//ato moonlight control
pinMode(lowATOPin,OUTPUT);
analogWrite(lowATOPin, 2.55*MoonPhase());
////// Place your custom code above here
// This should always be the last line
ReefAngel.Portal( "hous0067" );
ReefAngel.ShowInterface();
}