The only thing it doesn't do at this moment is allow you to use the portal to change it. We should see the mode and speed change properly and be reflected in the portal (just not in the Internal Memory section).
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 <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.SetTemperatureUnit( Celsius ); // set to Celsius Temperature
ReefAngel.Use2014Screen(); // Let's use 2014 Screen
// Ports toggled in Feeding Mode
ReefAngel.FeedingModePorts = Port1Bit | Port2Bit | Port3Bit | Port5Bit | Port6Bit | Port7Bit | Port8Bit;
// Ports toggled in Water Change Mode
ReefAngel.WaterChangePorts = Port1Bit | Port2Bit | Port3Bit | Port5Bit | Port6Bit | Port7Bit | Port8Bit;
// Ports toggled when Lights On / Off menu entry selected
ReefAngel.LightsOnPorts = 0;
// Ports turned off when Overheat temperature exceeded
ReefAngel.OverheatShutoffPorts = Port1Bit | Port2Bit | Port3Bit | Port4Bit | Port5Bit | Port6Bit | Port7Bit | Port8Bit;
// Use T1 probe as temperature and overheat functions
ReefAngel.TempProbe = T1_PROBE;
ReefAngel.OverheatProbe = T1_PROBE;
// Set the Overheat temperature setting
InternalMemory.OverheatTemp_write( 285 );
// Feeeding and Water Change mode speed
ReefAngel.DCPump.FeedingSpeed=0;
ReefAngel.DCPump.WaterChangeSpeed=0;
ReefAngel.DCPump.DaylightChannel=Sync;
ReefAngel.DCPump.ActinicChannel = None;
// Ports that are always on
ReefAngel.Relay.On( Port8 );
////// Place additional initialization code below here
////// Place additional initialization code above here
}
void loop()
{
ReefAngel.StandardATO( Port1,120 );
ReefAngel.Relay.DelayedOn( Port2,5 );
ReefAngel.StandardHeater( Port3,252,255 );
ReefAngel.StandardLights( Port4,20,0,8,0 );
ReefAngel.StandardLights( Port6,8,10,19,50 );
ReefAngel.StandardLights( Port7,8,5,19,55 );
////// Place your custom code below here
if (hour()<12)
ReefAngel.StandardLights(Port5, 6, 0, 8, 5);
else
ReefAngel.StandardLights(Port5, 18, 0, 20, 5);
ReefAngel.DCPump.UseMemory = false;
ReefAngel.DCPump.SetMode( LongPulse,40,10 ); // Long pulse at 40% with 10s pulse on sync mode
if (hour()>=8 && hour()<12)
{
ReefAngel.DCPump.SetMode( TidalSwell, 60, 0 ); // Tidal Swell at 60% on sync mode
}
if (hour()>=12 && hour()<16)
{
ReefAngel.DCPump.SetMode( ReefCrest, 80, 0 ); // ReefCrest at 80% + - 20 on sync mode
}
if (hour()>=16 && hour()<17)
{
ReefAngel.DCPump.SetMode( NutrientTransport, 90, 0 ); // Nutrient Transport on sync mode
}
if (hour()>=17 && hour()<20)
{
ReefAngel.DCPump.SetMode( ReefCrest, 80, 0 ); // ReefCrest at 75% + - 20 on sync mode
}
if (hour()>=20)
{
ReefAngel.DCPump.SetMode( TidalSwell, 60, 0 ); // Tidal Swell at 60% on sync mode
}
////// Place your custom code above here
// This should always be the last line
ReefAngel.Portal( "mask0017" );
ReefAngel.ShowInterface();
}