Page 1 of 1
vortech programming
Posted: Fri Aug 24, 2012 5:42 pm
by Addicted2Coral
i am having issues with how my vortechs are controlled... here is my code for them..
ReefAngel.Relay.Set(Port8,!ReefAngel.HighATO.IsActive());
if (hour()>=11 && hour()<13) //
{
ReefAngel.RF.SetMode( Lagoon,60,100 );
}
if (hour()>=13 && hour()<15) //
{
ReefAngel.RF.SetMode( LongPulse,100,50 );
}
if (hour()>=15 && hour()<17) //
{
ReefAngel.RF.SetMode( ReefCrest,60,100 );
if (hour()>=17 && hour()<18) //
{
ReefAngel.RF.SetMode( Lagoon,60,50 );
}
if (hour()>=18 && hour()<23) //
{
ReefAngel.RF.SetMode( Lagoon,40,100 );
}
if (hour()>=23 && hour()<11) //
{
ReefAngel.RF.SetMode( Constant,25,100 );
}}
// Constant
// Lagoon
// ReefCrest
// ShortPulse 1=10ms
// LongPulse 1=1s
// NutrientTransport 1=10ms
// TidalSwell
it stays in the same mode 24/7 long pulse 100 percent power half time.. the way i wanted it was to be kind of idle at night, and slowly pic up in the day until it gets kinda rough in the evening and then slow back down.. they are not doing this they just stay at 100, 50 long pulse all the time..
Re: vortech programming
Posted: Fri Aug 24, 2012 5:48 pm
by Addicted2Coral
also can i change setting from the portal or my phone?? say if i wanted to just change my color to blue for a sec and then change back to normal...
Re: vortech programming
Posted: Fri Aug 24, 2012 6:11 pm
by rimai
Can I see the entire code?
You must set the controller to use the code functions instead of memory.
Re: vortech programming
Posted: Fri Aug 24, 2012 6:58 pm
by Addicted2Coral
#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
////// Place global variable code above here
void setup()
{
// This must be the first line
ReefAngel.Init(); //Initialize controller
// Ports toggled in Feeding Mode
ReefAngel.FeedingModePorts = Port1Bit | Port7Bit | Port8Bit;
// Ports toggled in Water Change Mode
ReefAngel.WaterChangePorts = Port1Bit | Port2Bit | Port3Bit | Port4Bit | 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;
// Use T1 probe as temperature and overheat functions
ReefAngel.TempProbe = T1_PROBE;
ReefAngel.OverheatProbe = T1_PROBE;
// Set the Overheat temperature setting
InternalMemory.OverheatTemp_write( 840 );
// Ports that are always on
ReefAngel.Relay.On( Port1 );
ReefAngel.Relay.On( Port2 );
////// Place additional initialization code below here
////// Place additional initialization code above here
}
void loop()
{
ReefAngel.StandardHeater( Port3,785,790 );
ReefAngel.DosingPumpRepeat( Port4,0,60,60 );
ReefAngel.DosingPumpRepeat( Port5,10,120,60 );
ReefAngel.WavemakerRandom( Port6,60,120 );
ReefAngel.StandardFan( Port7,790,800 );
ReefAngel.SingleATO( true,Port8,300,0 );
ReefAngel.RF.UseMemory = false;
ReefAngel.RF.SetMode( ReefCrest,75,10 );
ReefAngel.RF.SetChannel( Radion_White, PWMParabola(11,30,22,30,0,75,0) );
ReefAngel.RF.SetChannel( Radion_RoyalBlue, PWMParabola(11,0,23,0,0,100,0) );
ReefAngel.RF.SetChannel( Radion_Red, PWMParabola(12,0,21,0,0,30,0) );
ReefAngel.RF.SetChannel( Radion_Green, PWMParabola(12,0,21,0,0,30,0) );
ReefAngel.RF.SetChannel( Radion_Blue, PWMParabola(11,0,23,0,0,100,0) );
ReefAngel.RF.SetChannel( Radion_Intensity, PWMSlope(11,0,23,0,75,75,60,75) );
if ( second()==0 ) ReefAngel.RF.RadionWrite();
////// Place your custom code below here
ReefAngel.Relay.Set(Port8,!ReefAngel.HighATO.IsActive());
if (hour()>=11 && hour()<13) // 3pm to 5pm
{
ReefAngel.RF.SetMode( Lagoon,60,100 );
}
if (hour()>=13 && hour()<15) // 3pm to 5pm
{
ReefAngel.RF.SetMode( NutrientTransport,60,100 );
}
if (hour()>=15 && hour()<17) // 3pm to 5pm
{
ReefAngel.RF.SetMode( ReefCrest,60,100 );
if (hour()>=17 && hour()<18) // 3pm to 5pm
{
ReefAngel.RF.SetMode( LongPulse,50,10 );
}
if (hour()>=18 && hour()<23) // 3pm to 5pm
{
ReefAngel.RF.SetMode( Constant,40,100 );
}
if (hour()>=23 && hour()<11) // 3pm to 5pm
{
ReefAngel.RF.SetMode( Constant,25,100 );
}
// Constant
// Lagoon
// ReefCrest
// ShortPulse 1=10ms
// LongPulse 1=1s
// NutrientTransport 1=10ms
// TidalSwell
////// Place your custom code above here
// This should always be the last line
ReefAngel.Portal( "addicted2coral" );
ReefAngel.ShowInterface();
}
void DrawCustomMain()
{
int x,y;
char text[10];
// Parameters
#if defined DisplayLEDPWM && ! defined RemoveAllLights
ReefAngel.LCD.DrawMonitor( 15, 20, ReefAngel.Params,
ReefAngel.PWM.GetDaylightValue(), ReefAngel.PWM.GetActinicValue() );
#else // defined DisplayLEDPWM && ! defined RemoveAllLights
ReefAngel.LCD.DrawMonitor( 15, 20, ReefAngel.Params );
#endif // defined DisplayLEDPWM && ! defined RemoveAllLights
pingSerial();
// Salinity
ReefAngel.LCD.DrawText( COLOR_DARKKHAKI,DefaultBGColor,15,66, "SAL:" );
ReefAngel.LCD.DrawText( COLOR_DARKKHAKI,DefaultBGColor,39,66, ReefAngel.Params.Salinity );
pingSerial();
// Main Relay Box
byte TempRelay = ReefAngel.Relay.RelayData;
TempRelay &= ReefAngel.Relay.RelayMaskOff;
TempRelay |= ReefAngel.Relay.RelayMaskOn;
ReefAngel.LCD.DrawOutletBox( 12, 94, TempRelay );
pingSerial();
// Date and Time
ReefAngel.LCD.DrawDate( 6, 122 );
pingSerial();
}
void DrawCustomGraph()
{
}
Re: vortech programming
Posted: Fri Aug 24, 2012 7:41 pm
by rimai
Your code is not even compiling.
It's missing a closing bracket on one of your if statement.
Are you sure you uploaded this code?
Try this:
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
////// Place global variable code above here
void setup()
{
// This must be the first line
ReefAngel.Init(); //Initialize controller
// Ports toggled in Feeding Mode
ReefAngel.FeedingModePorts = Port1Bit | Port7Bit | Port8Bit;
// Ports toggled in Water Change Mode
ReefAngel.WaterChangePorts = Port1Bit | Port2Bit | Port3Bit | Port4Bit | 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;
// Use T1 probe as temperature and overheat functions
ReefAngel.TempProbe = T1_PROBE;
ReefAngel.OverheatProbe = T1_PROBE;
// Set the Overheat temperature setting
InternalMemory.OverheatTemp_write( 840 );
// Ports that are always on
ReefAngel.Relay.On( Port1 );
ReefAngel.Relay.On( Port2 );
////// Place additional initialization code below here
////// Place additional initialization code above here
}
void loop()
{
ReefAngel.StandardHeater( Port3,785,790 );
ReefAngel.DosingPumpRepeat( Port4,0,60,60 );
ReefAngel.DosingPumpRepeat( Port5,10,120,60 );
ReefAngel.WavemakerRandom( Port6,60,120 );
ReefAngel.StandardFan( Port7,790,800 );
ReefAngel.SingleATO( true,Port8,300,0 );
ReefAngel.RF.UseMemory = false;
ReefAngel.RF.SetMode( ReefCrest,75,10 );
ReefAngel.RF.SetChannel( Radion_White, PWMParabola(11,30,22,30,0,75,0) );
ReefAngel.RF.SetChannel( Radion_RoyalBlue, PWMParabola(11,0,23,0,0,100,0) );
ReefAngel.RF.SetChannel( Radion_Red, PWMParabola(12,0,21,0,0,30,0) );
ReefAngel.RF.SetChannel( Radion_Green, PWMParabola(12,0,21,0,0,30,0) );
ReefAngel.RF.SetChannel( Radion_Blue, PWMParabola(11,0,23,0,0,100,0) );
ReefAngel.RF.SetChannel( Radion_Intensity, PWMSlope(11,0,23,0,75,75,60,75) );
if ( second()==0 ) ReefAngel.RF.RadionWrite();
////// Place your custom code below here
ReefAngel.Relay.Set(Port8,!ReefAngel.HighATO.IsActive());
if (hour()>=11 && hour()<13) // 3pm to 5pm
ReefAngel.RF.SetMode( Lagoon,60,100 );
if (hour()>=13 && hour()<15) // 3pm to 5pm
ReefAngel.RF.SetMode( NutrientTransport,60,100 );
if (hour()>=15 && hour()<17) // 3pm to 5pm
ReefAngel.RF.SetMode( ReefCrest,60,100 );
if (hour()>=17 && hour()<18) // 3pm to 5pm
ReefAngel.RF.SetMode( LongPulse,50,10 );
if (hour()>=18 && hour()<23) // 3pm to 5pm
ReefAngel.RF.SetMode( Constant,40,100 );
if (hour()>=23 || hour()<11) // 3pm to 5pm
ReefAngel.RF.SetMode( Constant,25,100 );
// Constant
// Lagoon
// ReefCrest
// ShortPulse 1=10ms
// LongPulse 1=1s
// NutrientTransport 1=10ms
// TidalSwell
////// Place your custom code above here
// This should always be the last line
ReefAngel.Portal( "addicted2coral" );
ReefAngel.ShowInterface();
}
void DrawCustomMain()
{
int x,y;
char text[10];
// Parameters
#if defined DisplayLEDPWM && ! defined RemoveAllLights
ReefAngel.LCD.DrawMonitor( 15, 20, ReefAngel.Params,
ReefAngel.PWM.GetDaylightValue(), ReefAngel.PWM.GetActinicValue() );
#else // defined DisplayLEDPWM && ! defined RemoveAllLights
ReefAngel.LCD.DrawMonitor( 15, 20, ReefAngel.Params );
#endif // defined DisplayLEDPWM && ! defined RemoveAllLights
pingSerial();
// Salinity
ReefAngel.LCD.DrawText( COLOR_DARKKHAKI,DefaultBGColor,15,66, "SAL:" );
ReefAngel.LCD.DrawText( COLOR_DARKKHAKI,DefaultBGColor,39,66, ReefAngel.Params.Salinity );
pingSerial();
// Main Relay Box
byte TempRelay = ReefAngel.Relay.RelayData;
TempRelay &= ReefAngel.Relay.RelayMaskOff;
TempRelay |= ReefAngel.Relay.RelayMaskOn;
ReefAngel.LCD.DrawOutletBox( 12, 94, TempRelay );
pingSerial();
// Date and Time
ReefAngel.LCD.DrawDate( 6, 122 );
pingSerial();
}
void DrawCustomGraph()
{
}
Re: vortech programming
Posted: Fri Aug 24, 2012 7:45 pm
by Addicted2Coral
No that is not the exact code. I had to make a new code because I didn't like what it did with my radions. I redone it and left the radion set to none. I only want my vortexes to be controlled. I didn't save the latest code for the reefangel so I geuss I have to redo it again. Which mean taking it all apart and taking it back to the computer.
What do u suggest.
Re: vortech programming
Posted: Fri Aug 24, 2012 7:50 pm
by rimai
You can use the one I posted above. It should be doing what you mentioned earlier.
Re: vortech programming
Posted: Fri Aug 24, 2012 8:27 pm
by Addicted2Coral
in the code you post it is gonna mess with my current programming with my radions.. can you tell what to change..
you said to add the line ReefAngel.RF.UseMemory=false;
its in there already....
i bet i am your worst customer..
i just need to bring it all in here to the computer.. again... i can get the code out of the reef angel and send it to you right?? all i want controlled is the vortechs not the radions.. in the code you want me to load it has set for the radions to be controlled.. dont want that...
Re: vortech programming
Posted: Fri Aug 24, 2012 8:34 pm
by rimai
Ah, ok...
Use this then:
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
////// Place global variable code above here
void setup()
{
// This must be the first line
ReefAngel.Init(); //Initialize controller
// Ports toggled in Feeding Mode
ReefAngel.FeedingModePorts = Port1Bit | Port7Bit | Port8Bit;
// Ports toggled in Water Change Mode
ReefAngel.WaterChangePorts = Port1Bit | Port2Bit | Port3Bit | Port4Bit | 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;
// Use T1 probe as temperature and overheat functions
ReefAngel.TempProbe = T1_PROBE;
ReefAngel.OverheatProbe = T1_PROBE;
// Set the Overheat temperature setting
InternalMemory.OverheatTemp_write( 840 );
// Ports that are always on
ReefAngel.Relay.On( Port1 );
ReefAngel.Relay.On( Port2 );
////// Place additional initialization code below here
////// Place additional initialization code above here
}
void loop()
{
ReefAngel.StandardHeater( Port3,785,790 );
ReefAngel.DosingPumpRepeat( Port4,0,60,60 );
ReefAngel.DosingPumpRepeat( Port5,10,120,60 );
ReefAngel.WavemakerRandom( Port6,60,120 );
ReefAngel.StandardFan( Port7,790,800 );
ReefAngel.SingleATO( true,Port8,300,0 );
ReefAngel.RF.UseMemory = false;
////// Place your custom code below here
ReefAngel.Relay.Set(Port8,!ReefAngel.HighATO.IsActive());
if (hour()>=11 && hour()<13) // 3pm to 5pm
ReefAngel.RF.SetMode( Lagoon,60,100 );
if (hour()>=13 && hour()<15) // 3pm to 5pm
ReefAngel.RF.SetMode( NutrientTransport,60,100 );
if (hour()>=15 && hour()<17) // 3pm to 5pm
ReefAngel.RF.SetMode( ReefCrest,60,100 );
if (hour()>=17 && hour()<18) // 3pm to 5pm
ReefAngel.RF.SetMode( LongPulse,50,10 );
if (hour()>=18 && hour()<23) // 3pm to 5pm
ReefAngel.RF.SetMode( Constant,40,100 );
if (hour()>=23 || hour()<11) // 3pm to 5pm
ReefAngel.RF.SetMode( Constant,25,100 );
// Constant
// Lagoon
// ReefCrest
// ShortPulse 1=10ms
// LongPulse 1=1s
// NutrientTransport 1=10ms
// TidalSwell
////// Place your custom code above here
// This should always be the last line
ReefAngel.Portal( "addicted2coral" );
ReefAngel.ShowInterface();
}
void DrawCustomMain()
{
int x,y;
char text[10];
// Parameters
#if defined DisplayLEDPWM && ! defined RemoveAllLights
ReefAngel.LCD.DrawMonitor( 15, 20, ReefAngel.Params,
ReefAngel.PWM.GetDaylightValue(), ReefAngel.PWM.GetActinicValue() );
#else // defined DisplayLEDPWM && ! defined RemoveAllLights
ReefAngel.LCD.DrawMonitor( 15, 20, ReefAngel.Params );
#endif // defined DisplayLEDPWM && ! defined RemoveAllLights
pingSerial();
// Salinity
ReefAngel.LCD.DrawText( COLOR_DARKKHAKI,DefaultBGColor,15,66, "SAL:" );
ReefAngel.LCD.DrawText( COLOR_DARKKHAKI,DefaultBGColor,39,66, ReefAngel.Params.Salinity );
pingSerial();
// Main Relay Box
byte TempRelay = ReefAngel.Relay.RelayData;
TempRelay &= ReefAngel.Relay.RelayMaskOff;
TempRelay |= ReefAngel.Relay.RelayMaskOn;
ReefAngel.LCD.DrawOutletBox( 12, 94, TempRelay );
pingSerial();
// Date and Time
ReefAngel.LCD.DrawDate( 6, 122 );
pingSerial();
}
void DrawCustomGraph()
{
}
Re: vortech programming
Posted: Fri Aug 24, 2012 8:40 pm
by Addicted2Coral
i can handle that.. i changed the ports around from when you set that code for me( i know i am a pain) but i see what i need to change to get the ports right...
the reason i changed is because the doser i just got does its own thing... i dont need dosing ports so i went thru and changed the ports to do other things.. but i can fix that,... i think...
Re: vortech programming
Posted: Fri Aug 24, 2012 9:12 pm
by rimai
Cool.