I get the following error unpon complile:
carl_angel_ai:99: error: 'struct ParamsStruct' has no member named '
PHExp'
carl_angel_ai
error: 'struct ParamsStruct' has no member named '
PHExp'
Am I missing something from my feature file or define statement?
// Autogenerated file by RAGen (v1.2.2.171), (05/04/2012 20:41)
// RA_050412_2041.ino
//
// This version designed for v0.9.0 or later
/* The following features are enabled for this File:
#define DisplayImages
#define WavemakerSetup
#define OverheatSetup
#define DateTimeSetup
#define VersionMenu
#define DisplayLEDPWM
#define ATOSetup
#define wifi
#define ENABLE_ATO_LOGGING
#define AI_LED
#define RelayExp
#define InstalledRelayExpansionModules 1
*/
#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 <AI.h>
#include <ReefAngel.h>
////// Place global variable code below here
////// Place global variable code above here
byte x,y;
char text[10];
void setup()
{
// This must be the first line
ReefAngel.Init(); //Initialize controller
ReefAngel.AI.SetPort(highATOPin);
ReefAngel.FeedingModePorts = Port6Bit | Port2Bit | Port5Bit; // Ports toggled in Feeding Mode
ReefAngel.OverheatShutoffPorts = Port3Bit | Port4Bit; // Ports turned off when Overheat temperature exceeded
ReefAngel.LightsOnPorts = Port3Bit | Port4Bit; // Ports toggled when Lights On / Off menu entry selected
ReefAngel.OverheatProbe = T1_PROBE; // Use Temperature probe 1 to check for overheat
// Ports that are always on
ReefAngel.Relay.On(Port2); //return pump
ReefAngel.Relay.On(Box1_Port1); //Skimmer
ReefAngel.Relay.On(Box1_Port6); //Calcium Reactor Pump
////// Place additional initialization code below here
////// Place additional initialization code above here
}
void loop()
{
// Specific functions that use Internal Memory values
ReefAngel.SingleATO(true,Port1,600,1); //Setup Port1 as Auto Top-Off function with 15m timeout 1 time per hour
ReefAngel.WavemakerRandom1(Port5,15,60);
ReefAngel.WavemakerRandom2(Port6,15,50);
ReefAngel.StandardLights(Port3,8,50,20,01); //MainLED schedule 8:30am - 8:30pm
ReefAngel.StandardLights(Port4,8,50,20,01); //MainLED schedule 8:30am - 8:30pm
ReefAngel.StandardHeater(Box1_Port7,788,792); // Setup Heater to turn on at 78.8F and off at 79.2F
////// Place your custom code below here
ReefAngel.AI.SetChannel(White,PWMParabola(10,0,18,30,15,45,0));
ReefAngel.AI.SetChannel(Blue,PWMParabola(9,00,18,45,5,45,0));
ReefAngel.AI.SetChannel(RoyalBlue,PWMParabola(9,30,19,00,5,45,0));
if ( ReefAngel.Params.
PHExp < 650 ) ReefAngel.Relay.Off(Box1_Port4); //CO2 Switch
if ( ReefAngel.Params.
PHExp >= 680 ) ReefAngel.Relay.On(Box1_Port4); //CO2 Switch
ReefAngel.StandardLights(Box1_Port8,20,30,04,30); //Refugium schedule 08:30pm - 4:30am
if (ReefAngel.Params.Temp[T3_PROBE] > 850) ReefAngel.Relay.On(Box1_Port2); // Canopy Fans on
if (ReefAngel.Params.Temp[T3_PROBE] < 820) ReefAngel.Relay.Off(Box1_Port2); // Canopy Fans off
if ( hour() >= 19 && hour () <= 21 ) // Moonlights on from 8:00PM to 10PM
{
ReefAngel.PWM.SetActinic(MoonPhase());
ReefAngel.PWM.SetDaylight(MoonPhase());
}
else if ( hour() >= 7 && hour () <= 9 ) // Moonlights on from 7:00AM to 9AM
{
ReefAngel.PWM.SetActinic(MoonPhase());
ReefAngel.PWM.SetDaylight(MoonPhase());
}
else
{
ReefAngel.PWM.SetActinic(0);
ReefAngel.PWM.SetDaylight(0);
}
////// Place your custom code above here
// This sends all the data to the portal
ReefAngel.Portal("#####", "#######");
// Do not add any custom code that changes any relay status after this line
// The only code after this line should be the ShowInterface function
// This should always be the last line
ReefAngel.ShowInterface();
}