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 <ReefAngel.h>
////// Place global variable code below here
// Globals Needed for RF Mode on Custom Main
byte vtechmode;
byte vtechspeed;
byte vtechpercent;
boolean bFeeding=false;
byte x = 6;
byte y = 2;
byte t;
char text[7];
//Custom Main, Graph & Menu
void DrawCustomMain()
{
// ReefAngel.LCD.DrawDate(6, 2);
ReefAngel.LCD.DrawText(3,255,6,2," Reef of Low");
ReefAngel.LCD.DrawDate(7, 99);
ReefAngel.LCD.Clear(COLOR_BLACK, 1, 11, 132, 11);
pingSerial();
ReefAngel.LCD.DrawText(COLOR_TOMATO,255, 6, 90, "--------------------");
ReefAngel.LCD.DrawText(COLOR_TOMATO,255, 6, 126, "--------------------");
ReefAngel.LCD.DrawText(COLOR_TOMATO,255, 2, 93, "|");
ReefAngel.LCD.DrawText(COLOR_TOMATO,255, 2, 103, "|");
ReefAngel.LCD.DrawText(COLOR_TOMATO,255, 2, 113, "|");
ReefAngel.LCD.DrawText(COLOR_TOMATO,255, 2, 123, "|");
ReefAngel.LCD.DrawText(COLOR_TOMATO,255, 126, 93, "|");
ReefAngel.LCD.DrawText(COLOR_TOMATO,255, 126, 103, "|");
ReefAngel.LCD.DrawText(COLOR_TOMATO,255, 126, 113, "|");
ReefAngel.LCD.DrawText(COLOR_TOMATO,255, 126, 123, "|");
ReefAngel.LCD.DrawText(0,255,18,21,"EcoSmart Vortech");
if (vtechmode == 0) ReefAngel.LCD.DrawLargeText(COLOR_LIMEGREEN,255,35,32,"Constant");
else if(vtechmode == 1) ReefAngel.LCD.DrawLargeText(COLOR_GOLD,255,42,31,"Lagoon");
else if (vtechmode == 2) ReefAngel.LCD.DrawLargeText(COLOR_GOLD,255,25,31,"Reef Crest");
else if (vtechmode == 3) ReefAngel.LCD.DrawLargeText(COLOR_CORNFLOWERBLUE,255,22,31,"Short Pulse");
else if (vtechmode == 4) ReefAngel.LCD.DrawLargeText(COLOR_PINK,255,25,31,"Long Pulse");
else if (vtechmode == 5) ReefAngel.LCD.DrawLargeText(COLOR_MAGENTA,255,8,31,"Nutrient Trnsp.");
else if (vtechmode == 6) ReefAngel.LCD.DrawLargeText(COLOR_MAGENTA,255,23,31,"Tidal Swell");
else if (vtechmode == 9) ReefAngel.LCD.DrawLargeText(COLOR_WHITE,0,45,31,"Night");
ReefAngel.LCD.DrawText(0,255,10,50,"Tank");
ConvertNumToString(text, ReefAngel.Params.Temp[T1_PROBE], 10);
ReefAngel.LCD.DrawLargeText(COLOR_RED, 255, 10, 60, text, Num8x8);
pingSerial();
ReefAngel.LCD.DrawText(0,255,100,50,"pH");
ConvertNumToString(text, ReefAngel.Params.PH, 100);
ReefAngel.LCD.DrawLargeText(COLOR_INDIGO, 255, 85, 60, text, Num8x8);
pingSerial();
pingSerial();
byte TempRelay = ReefAngel.Relay.RelayData;
TempRelay &= ReefAngel.Relay.RelayMaskOff;
TempRelay |= ReefAngel.Relay.RelayMaskOn;
ReefAngel.LCD.DrawOutletBox(12, 77, TempRelay);
}
void DrawCustomGraph()
{
}
////// 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
// Ports toggled in Feeding Mode
ReefAngel.FeedingModePorts = Port4Bit | Port7Bit;
// Ports toggled in Water Change Mode
ReefAngel.WaterChangePorts = 0;
// Ports toggled when Lights On / Off menu entry selected
ReefAngel.LightsOnPorts = 0;
// Ports turned off when Overheat temperature exceeded
ReefAngel.OverheatShutoffPorts = Port1Bit | Port2Bit;
// Use T1 probe as temperature and overheat functions
ReefAngel.TempProbe = T1_PROBE;
ReefAngel.OverheatProbe = T1_PROBE;
// Set the Overheat temperature setting
InternalMemory.OverheatTemp_write( 290 );
// Ports that are always on
ReefAngel.Relay.On( Port4 );
ReefAngel.Relay.On( Port7 );
ReefAngel.Relay.On( Port8 );
////// Place additional initialization code below here
////// Place additional initialization code above here
}
void loop()
{
ReefAngel.StandardHeater( Port1,251,261 );
ReefAngel.StandardHeater( Port2,251,261 );
ReefAngel.StandardFan( Port3,271,281 );
ReefAngel.StandardLights( Port5,20,0,5,0 );
ReefAngel.StandardLights( Port6,20,0,0,0 );
////
ReefAngel.RF.UseMemory = false;
/////// CHANGE MODE @ TIMES
if ( ReefAngel.RF.Mode != Feeding_Start)
if (hour()==10)
ReefAngel.RF.SetMode( ReefCrest,30,20);
else if (hour()>=6 || hour()<9)
ReefAngel.RF.SetMode(ReefCrest,20,10);
else if (hour()>=9 && hour()<10)
ReefAngel.RF.SetMode(ReefCrest,30,10);
else if (hour()>=10 && hour()<11)
ReefAngel.RF.SetMode(ReefCrest,40,10);
else if (hour()>=11 && hour()<12)
ReefAngel.RF.SetMode(Smart_NTM,50,6);
else if (hour()>=12 && hour()<13)
ReefAngel.RF.SetMode(Smart_NTM,60,10);
else if (hour()>=13 && hour()<14)
ReefAngel.RF.SetMode(Smart_NTM,70,12);
else if (hour()>=14 && hour()<15)
ReefAngel.RF.SetMode(Smart_NTM,60,10);
else if (hour()>=15 && hour()<16)
ReefAngel.RF.SetMode(Smart_NTM,50,8);
else if (hour()>=16 && hour()<17)
ReefAngel.RF.SetMode(Constant,50,10);
else if (hour()>=17 && hour()<18)
ReefAngel.RF.SetMode(Constant,40,10);
else if (hour()>=18 && hour()<19)
ReefAngel.RF.SetMode(Constant,30,10);
else if (hour()>=19 && hour()<20)
ReefAngel.RF.SetMode(Constant,40,10);
else if (hour()>=20 && hour()<21)
ReefAngel.RF.SetMode(Constant,30,10);
else if (hour()>=21 && hour()<22)
ReefAngel.RF.SetMode(Constant,40,10);
else if (hour()>=22 || hour()<23)
ReefAngel.RF.SetMode(Constant,50,10);
else if (hour()>=23 || hour()<0)
ReefAngel.RF.SetMode(ReefCrest,60,10);
else if (hour()>=0 || hour()<1)
ReefAngel.RF.SetMode(ReefCrest,50,10);
else if (hour()>=1 || hour()<3)
ReefAngel.RF.SetMode(ReefCrest,40,10);
else if (hour()>=3 || hour()<6)
ReefAngel.RF.SetMode(ReefCrest,30,10);
else
ReefAngel.RF.SetMode(ReefCrest,40,10);
////// Place your custom code below here
////// Place your custom code above here
// This should always be the last line
ReefAngel.Portal( "appleseed" );
ReefAngel.ShowInterface();
}
I have been trying to get my display to show the mode that my vortechs are in (using code borrowed from people on here much smarter than me), the code currently only ever displays tha tthe pumps are in Constant mode but the led on the rf module shows that actual mode being not constant.
Can some one advise where I am going wrong?
cheers
Andy