Portal half working

Related to the Portal
Post Reply
eds
Posts: 34
Joined: Wed Apr 25, 2012 12:36 am
Location: Brisbane, Australia

Portal half working

Post by eds »

Hello,

I have been using the portal quite successfully for a little while now and Iv noticed for about a week, maybe less, that while I can use it to control my tank, the relay's and vortech modes don't update.

I use the Android app remotely on my phone so I know that it does work on port 2000.
Is it possible it could be a server side issue?

Cheers

Matt
rimai
Posts: 12881
Joined: Fri Mar 18, 2011 6:47 pm

Re: Portal half working

Post by rimai »

Does it say you are connected in live mode?
Roberto.
eds
Posts: 34
Joined: Wed Apr 25, 2012 12:36 am
Location: Brisbane, Australia

Re: Portal half working

Post by eds »

It does.

Last Update:
Thu Jul 26 2012 17:51:22 GMT+1000 (E. Australia Standard Time)
Displaying data from:
Reef Angel Controller (live)

It is very odd, I can control the relays, but they don't display the correct status. The temps work but the vortech module is wrong. The android app works outside brilliantly. Very confusing :)
rimai
Posts: 12881
Joined: Fri Mar 18, 2011 6:47 pm

Re: Portal half working

Post by rimai »

I think it is because the controller is not sending the updated info to the server.
The last update the server has was on Jul 13th.
It's either that your code does not have the Portal() function or your wifi attachment is not configured correctly.
Roberto.
eds
Posts: 34
Joined: Wed Apr 25, 2012 12:36 am
Location: Brisbane, Australia

Re: Portal half working

Post by eds »

here is my existing code
// Autogenerated file by RAGen (v1.2.1.158), (03/08/2012 22:54)
// RA_030812_2254.ino
//
// This version designed for v0.9.0 or later

/* The following features are enabled for this File: 
#define DisplayImages
#define DateTimeSetup
#define DirectTempSensor
#define DisplayLEDPWM
#define wifi
#define StandardLightSetup
#define SaveRelayState
#define RelayExp
#define InstalledRelayExpansionModules 1
#define WDT
#define PWMEXPANSION
#define CUSTOM_MAIN
#define RFEXPANSION
#define FONT_8x16
#define NUMBERS_8x16
*/

#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 <RF.h>
#include <ReefAngel.h>
#include <avr/wdt.h>

//*********************************************************************************************************************************
//--------------------------------------------------- Start of Global Variables ---------------------------------------------------
// This is just how we are going to reference the PWM expansion ports within the code.
// You can change the labels if you would like, just as long as they are changed all throughout the code too.
#define LEDPWM0 0
#define LEDPWM1 1
#define LEDPWM2 2
#define LEDPWM3 3
#define LEDPWM4 4
#define LEDPWM5 5

// Initial values to all 6 PWM channels at startup. They will always be 0.
byte PWMChannel[]={
0,0,0,0,0,0};

// Globals Needed for Params on Custom Main
byte x,y;
char text[10];
int v;

// Globals Needed for RF Mode on Custom Main
byte vtechmode;
boolean bFeeding=false;
//------------------------------------------------------ End of Global Variables --------------------------------------------------
//*********************************************************************************************************************************
//---------------------------------------------Custom Main for PWM Expansion Module------------------------------------------------

void DrawCustomMain()
{
        //Top Banner
        ReefAngel.LCD.DrawText(COLOR_BLACK, COLOR_SKYBLUE, 9, 2, " Matt's Reef Tank ");
        
        // Display T1 Header Text
        ReefAngel.LCD.DrawText(COLOR_CORNFLOWERBLUE,255,8,14,"Tank");
  
        // Display the T1 Temp Value
        char text[7];
        ConvertNumToString(text, ReefAngel.Params.Temp[T1_PROBE], 10);
        ReefAngel.LCD.Clear(255, 4, 21, 37, 37);
        ReefAngel.LCD.DrawLargeText(COLOR_CORNFLOWERBLUE, 255, 4, 24, text, Num8x16);
        pingSerial();

        // Display the T2 Header Text
        ReefAngel.LCD.DrawText(COLOR_CRIMSON,255,52,14,"Canopy");
  
        // Display the T2 Temp Value
        ConvertNumToString(text, ReefAngel.Params.Temp[T2_PROBE], 10);
        ReefAngel.LCD.Clear(255, 52, 21, 75, 37);
        ReefAngel.LCD.DrawLargeText(COLOR_CRIMSON, 255, 52, 24, text, Num8x16);
        pingSerial();

        // Display pH Header Text
        ReefAngel.LCD.DrawText(COLOR_INDIGO,255,108,14,"pH");
  
        // Display pH Value
        ConvertNumToString(text, ReefAngel.Params.PH, 100);
        ReefAngel.LCD.Clear(255, 94, 21, 106, 37);
        ReefAngel.LCD.DrawLargeText(COLOR_INDIGO, 255, 94, 24, text, Num8x16);
        pingSerial();
        
        // Display Vortech MP40wES Mode Header Text
        ReefAngel.LCD.Clear(DefaultFGColor,5,39,127,39);
        ReefAngel.LCD.DrawText(0,255,18,42,"EcoSmart Vortech");

        // Display EcoSmart Mode Value
        ReefAngel.LCD.Clear(255, 1, 49, 128, 64);
        if (vtechmode == 0) ReefAngel.LCD.DrawLargeText(COLOR_LIMEGREEN,255,35,50,"Constant");
        else if(vtechmode == 1) ReefAngel.LCD.DrawLargeText(COLOR_GOLD,255,42,50,"Lagoon");
        else if (vtechmode == 2) ReefAngel.LCD.DrawLargeText(COLOR_GOLD,255,25,50,"Reef Crest");
        else if (vtechmode == 3) ReefAngel.LCD.DrawLargeText(COLOR_CORNFLOWERBLUE,255,22,50,"Short Pulse");
        else if (vtechmode == 4) ReefAngel.LCD.DrawLargeText(COLOR_PINK,255,25,50,"Long Pulse");
        else if (vtechmode == 5) ReefAngel.LCD.DrawLargeText(COLOR_MAGENTA,255,8,50,"Nutrient Trnsp.");
        else if (vtechmode == 6) ReefAngel.LCD.DrawLargeText(COLOR_MAGENTA,255,23,50,"Tidal Swell");
        else if (vtechmode == 9) ReefAngel.LCD.DrawLargeText(COLOR_WHITE,0,45,50,"Night");
        pingSerial();
        
        // Display Main Relay Box
        byte TempRelay = ReefAngel.Relay.RelayData;
        TempRelay &= ReefAngel.Relay.RelayMaskOff;
        TempRelay |= ReefAngel.Relay.RelayMaskOn;
        ReefAngel.LCD.DrawOutletBox(13, 97, TempRelay);
        pingSerial();

        // Display Expansion Relay Box 1
        TempRelay = ReefAngel.Relay.RelayDataE[0];
        TempRelay &= ReefAngel.Relay.RelayMaskOffE[0];
        TempRelay |= ReefAngel.Relay.RelayMaskOnE[0];
        ReefAngel.LCD.DrawOutletBox(13, 109, TempRelay);
        pingSerial();
        
        //Draw Date & Time
        ReefAngel.LCD.DrawDate(6, 123);
        pingSerial();
}

void DrawCustomGraph() // Not Used
{
}
//------------------------------------------------------ End Custom Main ----------------------------------------------------------
//*********************************************************************************************************************************
//-------------------------------------------------------- Begin Setup ------------------------------------------------------------
void setup()
{
    ReefAngel.Init(); //Initialize controller

    ReefAngel.FeedingModePorts = Port1Bit | Port8Bit;
    ReefAngel.WaterChangePorts = Port1Bit | Port2Bit | Port6Bit | Port7Bit |Port8Bit;
    ReefAngel.OverheatShutoffPortsE[0] = Port1Bit | Port2Bit | Port3Bit | Port4Bit;
    ReefAngel.LightsOnPortsE[0] = Port1Bit | Port2Bit | Port3Bit | Port4Bit;
    ReefAngel.StandardATO(Box1_Port4,30);
    // Ports that are always on
    ReefAngel.Relay.On(Port1); //Radion1
    ReefAngel.Relay.On(Port2); //Radion2
    ReefAngel.Relay.On(Port3); //Radion3
    ReefAngel.Relay.On(Port4); //Vortech1
    ReefAngel.Relay.On(Port5); //Vortech2
    ReefAngel.Relay.On(Port6); //Vortech3
    ReefAngel.Relay.On(Box1_Port1); //NP Biopellets
    ReefAngel.Relay.On(Box1_Port2); //Dosing Pump
   ReefAngel.Relay.On(Box1_Port7); //Return Pump
//--------------------------------------------------------- RF Module Setup -------------------------------------------------------
    ReefAngel.RF.SetMode(Slave_Start,0,0);
    /*
    If you get a compile error similar to this:
    'class ReefAngelClass' has no member named 'RF'
    Please make sure that you enabled RF Expansion on your features file.
  
    Open RAGen and make sure you have RF Expansion checked under the Features tab.

    Or, you can manually edit the file.
    The file is located at "Documents\Arduino\libraries\ReefAngel_Features.h" file and has to include this line in it:
    #define RFEXPANSION  
    */
    InternalMemory.RFMode_write(1);
    InternalMemory.RFSpeed_write(70);
    InternalMemory.RFDuration_write(10);
//------------------------------------------------------ End RF Module Setup ------------------------------------------------------  
}
//---------------------------------------------------------- End Setup ------------------------------------------------------------
//*********************************************************************************************************************************
//--------------------------------------------------------- Begin Loop ------------------------------------------------------------
void loop()
{
    // Specific functions
    ReefAngel.Refresh(); //WDT check
ReefAngel.StandardHeater(Box1_Port7 );
 ReefAngel.Portal("eds");
    

//------------------------------------------------ Start Time-of-Day Based Functions ----------------------------------------------
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ These are the mode numbers for the RF Expansion Module for reference ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    //#define Constant 0
    //#define Random1 1 // Lagoonal
    //#define Random2 2 // Reef Crest
    //#define ShortWave 3
    //#define LongWave 4
    //#define Smart_NTM 5 // Nutrient Transport Mode
    //#define Smart_TSM 6 // Tidal Swell Mode
    //#define Feeding_Start 7
    //#define Feeding_Stop 8
    //#define Night 9
    //#define Slave_Start 97
    //#define Slave_Stop 98
    //#define None 99
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

//------------------------------ Start Feeding Mode Schedule (Start 1st Feeding at 9:55 AM and 2nd at 1:55 PM)---------------------
    // if the hour is 9a or 1p, minute is 55 and seconds is 0
    // start the feeding mode
    if ( ((hour() == 9) || (hour() == 13)) &&
       (minute() == 55) &&
       (second() == 0) ) 
    {
      ReefAngel.FeedingModeStart();
      vtechmode = InternalMemory.RFMode_read();
    }
//------------------------------------------------------ End of Feeding Mode Schedule ---------------------------------------------

//-------------------------------------------------------- Start RF Daytime Control -----------------------------------------------
  if (hour() >=8 && hour() <= 22)
  {  
    if (ReefAngel.DisplayedMenu==FEEDING_MODE) bFeeding=true;
    if (ReefAngel.DisplayedMenu==DEFAULT_MENU && bFeeding )
    {
      bFeeding=false;
      ReefAngel.RF.UseMemory=false;
      ReefAngel.RF.SetMode(Smart_NTM,100,5);
      ReefAngel.Timer[4].SetInterval(1800); // Timer for 30min
      ReefAngel.Timer[4].Start();
      vtechmode = 5;
    }
    if (ReefAngel.DisplayedMenu==DEFAULT_MENU && ReefAngel.Timer[4].IsTriggered())
    {
      ReefAngel.RF.UseMemory=true;
      vtechmode = InternalMemory.RFMode_read();
    }  
  }
//---------------------------------------------------------- End RF Daytime Control -----------------------------------------------   

//-------------------------------------------------------- Start RF Nightmode Control ---------------------------------------------    

  if (hour()>=23 || hour()<7) // Defining "Nightmode" hours for VorTech = between 11 PM and 7 AM
    {
      ReefAngel.RF.UseMemory=false;
      ReefAngel.RF.SetMode(Night,15,0);
      vtechmode = 9;
    }
  else
    {
      ReefAngel.RF.SetMode(Feeding_Stop,0,0); //Temp fix for coming out of Night mode
      ReefAngel.RF.UseMemory=true;
      vtechmode = InternalMemory.RFMode_read();
    } 
//---------------------------------------------------------- End RF Nightmode Control ---------------------------------------------
//------------------------------------------------------ End Time-of-Day Based Functions ------------------------------------------
}
//--------------------------------------------------------------- End Loop --------------------------------------------------------
//*********************************************************************************************************************************
Iv not changed anything in my config :(

Also I havnt changed anything
Last Update:
Fri Jul 27 2012 14:41:38 GMT+1000 (E. Australia Standard Time)
Displaying data from:
Reef Angel Controller (live)

So something very odd is happening.
rimai
Posts: 12881
Joined: Fri Mar 18, 2011 6:47 pm

Re: Portal half working

Post by rimai »

Oh, your code is missing some stuff and some functions are also in the wrong sequence of events.
Try this:

Code: Select all

// Autogenerated file by RAGen (v1.2.1.158), (03/08/2012 22:54)
// RA_030812_2254.ino
//
// This version designed for v0.9.0 or later

/* The following features are enabled for this File: 
 #define DisplayImages
 #define DateTimeSetup
 #define DirectTempSensor
 #define DisplayLEDPWM
 #define wifi
 #define StandardLightSetup
 #define SaveRelayState
 #define RelayExp
 #define InstalledRelayExpansionModules 1
 #define WDT
 #define PWMEXPANSION
 #define CUSTOM_MAIN
 #define RFEXPANSION
 #define FONT_8x16
 #define NUMBERS_8x16
 */

#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 <RF.h>
#include <ReefAngel.h>
#include <avr/wdt.h>

//*********************************************************************************************************************************
//--------------------------------------------------- Start of Global Variables ---------------------------------------------------
// This is just how we are going to reference the PWM expansion ports within the code.
// You can change the labels if you would like, just as long as they are changed all throughout the code too.
#define LEDPWM0 0
#define LEDPWM1 1
#define LEDPWM2 2
#define LEDPWM3 3
#define LEDPWM4 4
#define LEDPWM5 5

// Initial values to all 6 PWM channels at startup. They will always be 0.
byte PWMChannel[]={
  0,0,0,0,0,0};

// Globals Needed for Params on Custom Main
byte x,y;
char text[10];
int v;

// Globals Needed for RF Mode on Custom Main
byte vtechmode;
boolean bFeeding=false;
//------------------------------------------------------ End of Global Variables --------------------------------------------------
//*********************************************************************************************************************************
//---------------------------------------------Custom Main for PWM Expansion Module------------------------------------------------

void DrawCustomMain()
{
  //Top Banner
  ReefAngel.LCD.DrawText(COLOR_BLACK, COLOR_SKYBLUE, 9, 2, " Matt's Reef Tank "); 

  // Display T1 Header Text
  ReefAngel.LCD.DrawText(COLOR_CORNFLOWERBLUE,255,8,14,"Tank");

  // Display the T1 Temp Value
  char text[7];
  ConvertNumToString(text, ReefAngel.Params.Temp[T1_PROBE], 10);
  ReefAngel.LCD.Clear(255, 4, 21, 37, 37);
  ReefAngel.LCD.DrawLargeText(COLOR_CORNFLOWERBLUE, 255, 4, 24, text, Num8x16);
  pingSerial();

  // Display the T2 Header Text
  ReefAngel.LCD.DrawText(COLOR_CRIMSON,255,52,14,"Canopy");

  // Display the T2 Temp Value
  ConvertNumToString(text, ReefAngel.Params.Temp[T2_PROBE], 10);
  ReefAngel.LCD.Clear(255, 52, 21, 75, 37);
  ReefAngel.LCD.DrawLargeText(COLOR_CRIMSON, 255, 52, 24, text, Num8x16);
  pingSerial();

  // Display pH Header Text
  ReefAngel.LCD.DrawText(COLOR_INDIGO,255,108,14,"pH");

  // Display pH Value
  ConvertNumToString(text, ReefAngel.Params.PH, 100);
  ReefAngel.LCD.Clear(255, 94, 21, 106, 37);
  ReefAngel.LCD.DrawLargeText(COLOR_INDIGO, 255, 94, 24, text, Num8x16);
  pingSerial();

  // Display Vortech MP40wES Mode Header Text
  ReefAngel.LCD.Clear(DefaultFGColor,5,39,127,39);
  ReefAngel.LCD.DrawText(0,255,18,42,"EcoSmart Vortech");

  // Display EcoSmart Mode Value 
  ReefAngel.LCD.Clear(255, 1, 49, 128, 64);
  if (vtechmode == 0) ReefAngel.LCD.DrawLargeText(COLOR_LIMEGREEN,255,35,50,"Constant");
  else if(vtechmode == 1) ReefAngel.LCD.DrawLargeText(COLOR_GOLD,255,42,50,"Lagoon");
  else if (vtechmode == 2) ReefAngel.LCD.DrawLargeText(COLOR_GOLD,255,25,50,"Reef Crest");
  else if (vtechmode == 3) ReefAngel.LCD.DrawLargeText(COLOR_CORNFLOWERBLUE,255,22,50,"Short Pulse");
  else if (vtechmode == 4) ReefAngel.LCD.DrawLargeText(COLOR_PINK,255,25,50,"Long Pulse");
  else if (vtechmode == 5) ReefAngel.LCD.DrawLargeText(COLOR_MAGENTA,255,8,50,"Nutrient Trnsp.");
  else if (vtechmode == 6) ReefAngel.LCD.DrawLargeText(COLOR_MAGENTA,255,23,50,"Tidal Swell");
  else if (vtechmode == 9) ReefAngel.LCD.DrawLargeText(COLOR_WHITE,0,45,50,"Night");
  pingSerial();

  // Display Main Relay Box
  byte TempRelay = ReefAngel.Relay.RelayData;
  TempRelay &= ReefAngel.Relay.RelayMaskOff;
  TempRelay |= ReefAngel.Relay.RelayMaskOn;
  ReefAngel.LCD.DrawOutletBox(13, 97, TempRelay);
  pingSerial();

  // Display Expansion Relay Box 1
  TempRelay = ReefAngel.Relay.RelayDataE[0];
  TempRelay &= ReefAngel.Relay.RelayMaskOffE[0];
  TempRelay |= ReefAngel.Relay.RelayMaskOnE[0];
  ReefAngel.LCD.DrawOutletBox(13, 109, TempRelay);
  pingSerial();

  //Draw Date & Time
  ReefAngel.LCD.DrawDate(6, 123);
  pingSerial();
}

void DrawCustomGraph() // Not Used
{
}
//------------------------------------------------------ End Custom Main ----------------------------------------------------------
//*********************************************************************************************************************************
//-------------------------------------------------------- Begin Setup ------------------------------------------------------------
void setup()
{
  ReefAngel.Init(); //Initialize controller

  ReefAngel.FeedingModePorts = Port1Bit | Port8Bit;
  ReefAngel.WaterChangePorts = Port1Bit | Port2Bit | Port6Bit | Port7Bit |Port8Bit;
  ReefAngel.OverheatShutoffPortsE[0] = Port1Bit | Port2Bit | Port3Bit | Port4Bit;
  ReefAngel.LightsOnPortsE[0] = Port1Bit | Port2Bit | Port3Bit | Port4Bit;
  // Ports that are always on
  ReefAngel.Relay.On(Port1); //Radion1
  ReefAngel.Relay.On(Port2); //Radion2
  ReefAngel.Relay.On(Port3); //Radion3
  ReefAngel.Relay.On(Port4); //Vortech1
  ReefAngel.Relay.On(Port5); //Vortech2
  ReefAngel.Relay.On(Port6); //Vortech3
  ReefAngel.Relay.On(Box1_Port1); //NP Biopellets
  ReefAngel.Relay.On(Box1_Port2); //Dosing Pump
  ReefAngel.Relay.On(Box1_Port7); //Return Pump
  //--------------------------------------------------------- RF Module Setup -------------------------------------------------------
  ReefAngel.RF.SetMode(Slave_Start,0,0);
  /*
    If you get a compile error similar to this:
   'class ReefAngelClass' has no member named 'RF'
   Please make sure that you enabled RF Expansion on your features file.
   
   Open RAGen and make sure you have RF Expansion checked under the Features tab.
   
   Or, you can manually edit the file.
   The file is located at "Documents\Arduino\libraries\ReefAngel_Features.h" file and has to include this line in it:
   #define RFEXPANSION  
   */
  InternalMemory.RFMode_write(1);
  InternalMemory.RFSpeed_write(70);
  InternalMemory.RFDuration_write(10);
  //------------------------------------------------------ End RF Module Setup ------------------------------------------------------  
}
//---------------------------------------------------------- End Setup ------------------------------------------------------------
//*********************************************************************************************************************************
//--------------------------------------------------------- Begin Loop ------------------------------------------------------------
void loop()
{
  // Specific functions
  ReefAngel.StandardATO(Box1_Port4,30);
  ReefAngel.StandardHeater(Box1_Port7 );


  //------------------------------------------------ Start Time-of-Day Based Functions ----------------------------------------------
  //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ These are the mode numbers for the RF Expansion Module for reference ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  //#define Constant 0
  //#define Random1 1 // Lagoonal
  //#define Random2 2 // Reef Crest
  //#define ShortWave 3
  //#define LongWave 4
  //#define Smart_NTM 5 // Nutrient Transport Mode
  //#define Smart_TSM 6 // Tidal Swell Mode
  //#define Feeding_Start 7
  //#define Feeding_Stop 8
  //#define Night 9
  //#define Slave_Start 97
  //#define Slave_Stop 98
  //#define None 99
  //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  //------------------------------ Start Feeding Mode Schedule (Start 1st Feeding at 9:55 AM and 2nd at 1:55 PM)---------------------
  // if the hour is 9a or 1p, minute is 55 and seconds is 0
  // start the feeding mode
  if ( ((hour() == 9) || (hour() == 13)) && 
    (minute() == 55) && 
    (second() == 0) ) 
  {
    ReefAngel.FeedingModeStart();
    vtechmode = InternalMemory.RFMode_read(); 
  }
  //------------------------------------------------------ End of Feeding Mode Schedule ---------------------------------------------

  //-------------------------------------------------------- Start RF Daytime Control -----------------------------------------------
  if (hour() >=8 && hour() <= 22)
  {  
    if (ReefAngel.DisplayedMenu==FEEDING_MODE) bFeeding=true;
    if (ReefAngel.DisplayedMenu==DEFAULT_MENU && bFeeding )
    {
      bFeeding=false; 
      ReefAngel.RF.UseMemory=false;
      ReefAngel.RF.SetMode(Smart_NTM,100,5);
      ReefAngel.Timer[4].SetInterval(1800); // Timer for 30min
      ReefAngel.Timer[4].Start();
      vtechmode = 5;
    }
    if (ReefAngel.DisplayedMenu==DEFAULT_MENU && ReefAngel.Timer[4].IsTriggered())
    {
      ReefAngel.RF.UseMemory=true;
      vtechmode = InternalMemory.RFMode_read();
    }  
  }
  //---------------------------------------------------------- End RF Daytime Control -----------------------------------------------  


  //-------------------------------------------------------- Start RF Nightmode Control ---------------------------------------------  


  if (hour()>=23 || hour()<7) // Defining "Nightmode" hours for VorTech = between 11 PM and 7 AM
  {
    ReefAngel.RF.UseMemory=false;
    ReefAngel.RF.SetMode(Night,15,0);
    vtechmode = 9;
  }
  else
  {
    ReefAngel.RF.SetMode(Feeding_Stop,0,0); //Temp fix for coming out of Night mode
    ReefAngel.RF.UseMemory=true;
    vtechmode = InternalMemory.RFMode_read();
  } 
  //---------------------------------------------------------- End RF Nightmode Control ---------------------------------------------
  //------------------------------------------------------ End Time-of-Day Based Functions ------------------------------------------

  ReefAngel.Portal("eds");
  ReefAngel.ShowInterface();
}
//--------------------------------------------------------------- End Loop --------------------------------------------------------
//*********************************************************************************************************************************


Roberto.
Post Reply