Problem with Vortech controlling

Do you have a question on how to do something.
Ask in here.
Post Reply
stephy
Posts: 26
Joined: Sat Jun 02, 2012 1:36 am
Location: Livorno (Italy)

Problem with Vortech controlling

Post by stephy »

Here is my code:

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
    ReefAngel.AddDateTimeMenu(); 
    ReefAngel.SetTemperatureUnit( Celsius );  // set to Celsius Temperature

    // Ports toggled in Feeding Mode
    ReefAngel.FeedingModePorts = 0;
    // Ports toggled in Water Change Mode
    ReefAngel.WaterChangePorts = Port4Bit;
    // Ports toggled when Lights On / Off menu entry selected
    ReefAngel.LightsOnPorts = Port1Bit | Port2Bit;
    // Ports turned off when Overheat temperature exceeded
    ReefAngel.OverheatShutoffPorts = 0;
    // Use T1 probe as temperature and overheat functions
    ReefAngel.TempProbe = T1_PROBE;
    ReefAngel.OverheatProbe = T1_PROBE;
    // Set the Overheat temperature setting
    InternalMemory.OverheatTemp_write( 309 );


    // Ports that are always on
    ReefAngel.Relay.On( Port4 );

    ////// Place additional initialization code below here
    

    ////// Place additional initialization code above here
}

void loop()
{
    ReefAngel.StandardLights( Port1,10,0,22,0 );
    ReefAngel.StandardLights( Port2,11,0,21,0 );
    ReefAngel.Relay.Set( Port3, !ReefAngel.Relay.Status( Port2 ) );
    ReefAngel.StandardHeater( Port5,252,256 );
    ReefAngel.StandardFan( Port6,255,259 );
    if (hour()>=21 || hour()<11)
      ReefAngel.PWM.SetActinic( MoonPhase() );
    else
      ReefAngel.PWM.SetActinic( 0 );
      ReefAngel.RF.UseMemory = false; 
    if (hour()==10)
      ReefAngel.RF.SetMode( ReefCrest,50,10 );
    else if (hour()>=11 && hour()<13)
      ReefAngel.RF.SetMode( ReefCrest,75,10 );
      else if (hour()>=13 && hour()<14)
      ReefAngel.RF.SetMode( Constant,30,10 );
      else if (hour()>=14 && hour()<15)
      ReefAngel.RF.SetMode(Smart_TSM,75,10 );
      else if (hour()>=20 && hour()<21)
      ReefAngel.RF.SetMode(ReefCrest,50,10 );
      else if (hour()>=22 || hour()<9)
      ReefAngel.RF.SetMode(Night,50,10 );
    else
      ReefAngel.RF.SetMode( ReefCrest,75,10 );
    
    
    ////// Place your custom code below here
    

    ////// Place your custom code above here

    // This should always be the last line
    ReefAngel.Portal( "stephy" );
    ReefAngel.ShowInterface();
}
All works except the vortech feeding mode that can't work from ra controller. Pump changes according to hours, rf change led color.

I'm a little bit confused also about parameters, can anybody place a scheme, please?

Stephy
Stephy

Image
rimai
Posts: 12857
Joined: Fri Mar 18, 2011 6:47 pm

Re: Problem with Vortech controlling

Post by rimai »

What happens is that your code is overriding the feeding mode.
Try using 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
    ReefAngel.AddDateTimeMenu(); 
    ReefAngel.SetTemperatureUnit( Celsius );  // set to Celsius Temperature

    // Ports toggled in Feeding Mode
    ReefAngel.FeedingModePorts = 0;
    // Ports toggled in Water Change Mode
    ReefAngel.WaterChangePorts = Port4Bit;
    // Ports toggled when Lights On / Off menu entry selected
    ReefAngel.LightsOnPorts = Port1Bit | Port2Bit;
    // Ports turned off when Overheat temperature exceeded
    ReefAngel.OverheatShutoffPorts = 0;
    // Use T1 probe as temperature and overheat functions
    ReefAngel.TempProbe = T1_PROBE;
    ReefAngel.OverheatProbe = T1_PROBE;
    // Set the Overheat temperature setting
    InternalMemory.OverheatTemp_write( 309 );


    // Ports that are always on
    ReefAngel.Relay.On( Port4 );

    ////// Place additional initialization code below here
    

    ////// Place additional initialization code above here
}

void loop()
{
    ReefAngel.StandardLights( Port1,10,0,22,0 );
    ReefAngel.StandardLights( Port2,11,0,21,0 );
    ReefAngel.Relay.Set( Port3, !ReefAngel.Relay.Status( Port2 ) );
    ReefAngel.StandardHeater( Port5,252,256 );
    ReefAngel.StandardFan( Port6,255,259 );
    if (hour()>=21 || hour()<11)
      ReefAngel.PWM.SetActinic( MoonPhase() );
    else
      ReefAngel.PWM.SetActinic( 0 );
      ReefAngel.RF.UseMemory = false; 
    
    if ( ReefAngel.RF.Mode != Feeding_Start)
    {
      if (hour()==10)
        ReefAngel.RF.SetMode( ReefCrest,50,10 );
      else if (hour()>=11 && hour()<13)
        ReefAngel.RF.SetMode( ReefCrest,75,10 );
        else if (hour()>=13 && hour()<14)
        ReefAngel.RF.SetMode( Constant,30,10 );
        else if (hour()>=14 && hour()<15)
        ReefAngel.RF.SetMode(Smart_TSM,75,10 );
        else if (hour()>=20 && hour()<21)
        ReefAngel.RF.SetMode(ReefCrest,50,10 );
        else if (hour()>=22 || hour()<9)
        ReefAngel.RF.SetMode(Night,50,10 );
      else
        ReefAngel.RF.SetMode( ReefCrest,75,10 );
    }
    
    ////// Place your custom code below here
    

    ////// Place your custom code above here

    // This should always be the last line
    ReefAngel.Portal( "stephy" );
    ReefAngel.ShowInterface();
}
Roberto.
stephy
Posts: 26
Joined: Sat Jun 02, 2012 1:36 am
Location: Livorno (Italy)

Re: Problem with Vortech controlling

Post by stephy »

rimai wrote:What happens is that your code is overriding the feeding mode.
......
Fine, it works perfectly.


Thanks!
Stephy

Image
Post Reply