Warning: strpos(): Empty needle in D:\webwizard\compile.php on line 349
Warning: strpos(): Empty needle in D:\webwizard\compile.php on line 349
Warning: strpos(): Empty needle in D:\webwizard\compile.php on line 349
Notice: Undefined offset: 1 in D:\webwizard\compile.php on line 350
Progress: 100.00%
Your code was compiled sucessfully.
What is weird is that I can compile the exact same code with no errors, copy/paste the code into a new file, and then when I compile, I get the errors. Another odd thing is that I don't have anywhere near 349 lines of code. This is the code:
Code: Select all
#include <ReefAngel_Features.h>
#include <Salinity.h>
#include <Globals.h>
#include <RA_TS.h>
#include <RA_TouchLCD.h>
#include <RA_TFT.h>
#include <RA_TS.h>
#include <Font.h>
#include <RA_Wifi.h>
#include <RA_Wiznet5100.h>
#include <SD.h>
#include <SPI.h>
#include <Ethernet.h>
#include <EthernetDHCP.h>
#include <PubSubClient.h>
#include <Wire.h>
#include <OneWire.h>
#include <Time.h>
#include <DS1307RTC.h>
#include <InternalEEPROM.h>
#include <RA_ATO.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 <RA_CustomLabels.h>
#include <RF.h>
#include <IO.h>
#include <ORP.h>
#include <AI.h>
#include <PH.h>
#include <WaterLevel.h>
#include <Humidity.h>
#include <PAR.h>
#include <DCPump.h>
#include <ReefAngel.h>
#include <SoftwareSerial.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.Star();
ReefAngel.AddWaterLevelExpansion(); // Water Level Expansion Module
ReefAngel.AddMultiChannelWaterLevelExpansion(); // Multi-Channel Water Level Expanion Module
ReefAngel.AddRANet(); // RANet Add-On Module
// Ports toggled in Feeding Mode
ReefAngel.FeedingModePorts = 0;
ReefAngel.FeedingModePortsE[0] = Port3Bit;
ReefAngel.FeedingModePortsE[1] = Port7Bit;
// Ports toggled in Water Change Mode
ReefAngel.WaterChangePorts = 0;
ReefAngel.WaterChangePortsE[0] = Port2Bit | Port3Bit | Port7Bit | Port8Bit;
ReefAngel.WaterChangePortsE[1] = Port4Bit | Port5Bit | Port6Bit | Port7Bit | Port8Bit;
// Ports turned off when Overheat temperature exceeded
ReefAngel.OverheatShutoffPorts = 0;
ReefAngel.OverheatShutoffPortsE[0] = Port1Bit | Port2Bit | Port7Bit | Port8Bit;
ReefAngel.OverheatShutoffPortsE[1] = Port1Bit | Port3Bit | Port5Bit | Port7Bit;
// Ports toggled when Lights On / Off menu entry selected
ReefAngel.LightsOnPorts = 0;
ReefAngel.LightsOnPortsE[0] = Port1Bit;
ReefAngel.LightsOnPortsE[1] = Port1Bit | Port2Bit;
// Use T2 probe as temperature and overheat functions
ReefAngel.TempProbe = T2_PROBE;
ReefAngel.OverheatProbe = T2_PROBE;
// Set the Overheat temperature setting
InternalMemory.OverheatTemp_read(); // trying this code to see if it pulls internal memory overheat temp.
// Ports that are always on
ReefAngel.Relay.On( Box1_Port3 );
ReefAngel.Relay.On( Box1_Port4 );
ReefAngel.Relay.On( Box1_Port8 );
ReefAngel.Relay.On( Box2_Port4 );
////// Place additional initialization code below here
////// Place additional initialization code above here
}
void loop()
{
ReefAngel.StandardLights( Box1_Port1 ); //Main LEDs
ReefAngel.StandardLights( Box2_Port2 ); //Light fans
ReefAngel.StandardHeater2( Box1_Port2 );
ReefAngel.Relay.Set( Box2_Port3, !ReefAngel.Relay.Status( Box2_Port2 ) ); //Refugium LED runs opposite of Light fans
ReefAngel.StandardHeater2( Box2_Port5 );
ReefAngel.StandardFan2( Box2_Port6 ); //Sump Fans
//ReefAngel.CO2Control( Box1_Port6 ); //relay empty right now
ReefAngel.Relay.DelayedOn( Box2_Port7 ); //Skimmer
ReefAngel.WaterLevelATO( 1,Box2_Port8); //Sump ATO
//ReefAngel.PWM.DaylightPWMSlope(); - not using PWM for main LEDs
//ReefAngel.PWM.ActinicPWMSlope(); - not using PWM for main LEDs
ReefAngel.StandardHeater(Box1_Port7,788,793); //Manages UV bulb on/off based on tank temp.
boolean buzzer=false;
// if ( ReefAngel.isATOTimeOut() ) buzzer=true;
if ( ReefAngel.isOverheat() ) buzzer=true;
if ( buzzer ) ReefAngel.BuzzerOn(2); else ReefAngel.BuzzerOff();
if ( ReefAngel.Params.PH > 840 ) ReefAngel.Relay.Off( Box2_Port8 );
////// Place your custom code below here
MyOwnStandardLights(Box2_Port1,-InternalMemory.ActinicOffset_read()); // Calls my new offset to allow negative offset for T5s.
////// Place your custom code above here
ReefAngel.Network.Cloud();
// This should always be the last line
ReefAngel.ShowTouchInterface();
}
/// Code from Roberto to create a new callout for T5s to allow setting parameters in Internal Memory.
void MyOwnStandardLights(byte Relay, int MinuteOffset)
{
int onTime=NumMins(InternalMemory.StdLightsOnHour_read(),InternalMemory.StdLightsOnMinute_read())-MinuteOffset;
int offTime=NumMins(InternalMemory.StdLightsOffHour_read(),InternalMemory.StdLightsOffMinute_read())+MinuteOffset;
ReefAngel.StandardLights(Relay,
onTime/60,
onTime%60,
offTime/60,
offTime%60
);
}
// RA_STRING1=U2FsdGVkX1+BrIhUnNJiKHbFL6wohK41+33EQ2nHfFo=
// RA_STRING2=U2FsdGVkX1+EmuJjuPrMWBEHac9zWSjiW8ZytHk/q+M=
// RA_STRING3=Chloe's House-2.4
// RA_LABEL LABEL_ACTINIC=Actinic
// RA_LABEL LABEL_DAYLIGHT=Daylight
// RA_LABEL LABEL_PORT11=Main LEDs
// RA_LABEL LABEL_PORT12=Heater 2
// RA_LABEL LABEL_PORT13=Gyre Pumps
// RA_LABEL LABEL_PORT14=Kalk Stirrer
// RA_LABEL LABEL_PORT15=Salt Mix Tank
// RA_LABEL LABEL_PORT16=Co2 Control
// RA_LABEL LABEL_PORT17=Unused
// RA_LABEL LABEL_PORT18=Unused
// RA_LABEL LABEL_PORT21=Main T5s
// RA_LABEL LABEL_PORT22=Light Fans
// RA_LABEL LABEL_PORT23=Refugium LED
// RA_LABEL LABEL_PORT24=Return Pump
// RA_LABEL LABEL_PORT25=Heater 1
// RA_LABEL LABEL_PORT26=Sump Fans
// RA_LABEL LABEL_PORT27=Skimmer
// RA_LABEL LABEL_PORT28=ATO Pump
Is this an issue?