Reef angel locking up

Share you PDE file with our community
Post Reply
sceia
Posts: 30
Joined: Mon Nov 14, 2011 8:06 pm

Reef angel locking up

Post by sceia »

Ok, so once every couple days, the RA becomes completely unresponsive to the button or wifi. It stays in the current state, until I unplug it and restart it.... HELP!

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 <ReefAngel.h>

#define AutoTopOff          1 
#define Refuge              2 
#define MHOuter             3 
#define Actinic             4 
#define MHCenter            5 
#define Heater              6 
#define Moonleds            7 
#define Pumps               8 

byte ActinicPWMValue=0;



#define RB         0
#define Moonlight  1  //moonlight


#define CUSTOM_MENU
#define CUSTOM_MENU_ENTRIES 


#include <avr/pgmspace.h>
// Create the menu entries
prog_char menu1_label[] PROGMEM = "Feed Fish";
prog_char menu2_label[] PROGMEM = "ATO Clear";
prog_char menu3_label[] PROGMEM = "";
prog_char menu4_label[] PROGMEM = "-";
prog_char menu5_label[] PROGMEM = "-";
prog_char menu6_label[] PROGMEM = "-";

// Group the menu entries together
PROGMEM const char *menu_items[] = {
menu1_label, 
menu2_label, 
menu3_label,
menu4_label, 
menu5_label, 
menu6_label
};


void MenuEntry1() //"Feed Fish"
{
  ReefAngel.FeedingModeStart();
}
void MenuEntry2() //"ATO Clear"
{
    ReefAngel.ATOClear();
    ReefAngel.DisplayMenuEntry("Clear ATO Timeout");
}

void MenuEntry3() 
{

}

void MenuEntry4() //"Actinic LEDs"
{

}

void MenuEntry5() //"100% Daylight LEDs"
{

}

void MenuEntry6() //"Refuge LEDs"
{
 
}


void setup() 
{ 
  //Init and custom menus
  ReefAngel.Init();  //Initialize controller
  ReefAngel.InitMenu(pgm_read_word(&(menu_items[0])),SIZE(menu_items));

/*
AutoTopOff          1 
Refuge              2 
Daylights           3 
Actinic             4 
WaveController      5 
Heater              6 
Moonlights          7 
Pumps               8 
*/
    //Menu Modes 
    ReefAngel.FeedingModePorts = B10010000;
    ReefAngel.WaterChangePorts = B10010000;
    ReefAngel.OverheatShutoffPorts = B00101110;
  
  //Initialize timer
  ReefAngel.Timer[1].SetInterval(InternalMemory.WM1Timer_read());
  ReefAngel.Timer[1].Start();
  
  //Pumps and waves on
  ReefAngel.Relay.On(Pumps);  //Turn Sump/Skimmer on at startup

}

void loop() 
{ 
    ReefAngel.StandardATO(Port1);
    ReefAngel.StandardLights(Port2);
    ReefAngel.StandardLights(Port3);
    ReefAngel.StandardLights(Port4);
    ReefAngel.StandardLights(Port5);
    ReefAngel.StandardHeater(Port6);
    ReefAngel.StandardLights(Port7);
  
  ReefAngel.LCD.SetContrast(60);  // Set contrast to 60

    

  
  //Top Off
  ReefAngel.StandardATO(AutoTopOff,25);  //Setup AutoTopOff as Auto Top-Off function with 500s timeout
  
  //Light Schedule  
          // Ports on
                    ReefAngel.StandardLights(Refuge,19,00,14,00);  //Refugium schedule 10:00pm - 12:00am   
                    //ReefAngel.StandardLights(Daylights,13,0,20,0);  //Daylight schedule 2:00pm - 8:00pm
                    ReefAngel.MHLights(MHCenter,13,0,20,0,15);
                    ReefAngel.MHLights(MHOuter,13,15,20,0,15);
                    ReefAngel.StandardLights(Actinic,11,0,23,0); 
                    ReefAngel.StandardLights(Moonleds,6,30,2,30);

          // Drivers

                    
                    ReefAngel.PWM.SetChannel(RB,PWMSlope(10,0,22,0,15,65,45,15));
                    ReefAngel.PWM.SetChannel(Moonlight,25);




  //Heating/Cooling
  ReefAngel.StandardHeater(Heater,778,782);  // Setup Heater to turn on at 77.8F and off at 78.2F 
 
  ReefAngel.ShowInterface();
   
  ReefAngel.Relay.Write();  // Make relay changes effective 
}
rimai
Posts: 12881
Joined: Fri Mar 18, 2011 6:47 pm

Re: Reef angel locking up

Post by rimai »

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 <ReefAngel.h>

#define AutoTopOff          1 
#define Refuge              2 
#define MHOuter             3 
#define Actinic             4 
#define MHCenter            5 
#define Heater              6 
#define Moonleds            7 
#define Pumps               8 

#define RB         0
#define Moonlight  1  //moonlight

#include <avr/pgmspace.h>
// Create the menu entries
prog_char menu1_label[] PROGMEM = "Feed Fish";
prog_char menu2_label[] PROGMEM = "ATO Clear";
prog_char menu3_label[] PROGMEM = "";
prog_char menu4_label[] PROGMEM = "-";
prog_char menu5_label[] PROGMEM = "-";
prog_char menu6_label[] PROGMEM = "-";

// Group the menu entries together
PROGMEM const char *menu_items[] = {
  menu1_label, 
  menu2_label, 
  menu3_label,
  menu4_label, 
  menu5_label, 
  menu6_label
};


void MenuEntry1() //"Feed Fish"
{
  ReefAngel.FeedingModeStart();
}
void MenuEntry2() //"ATO Clear"
{
  ReefAngel.ATOClear();
  ReefAngel.DisplayMenuEntry("Clear ATO Timeout");
}

void MenuEntry3() 
{

}

void MenuEntry4() //"Actinic LEDs"
{

}

void MenuEntry5() //"100% Daylight LEDs"
{

}

void MenuEntry6() //"Refuge LEDs"
{

}


void setup() 
{ 
  //Init and custom menus
  ReefAngel.Init();  //Initialize controller
  ReefAngel.InitMenu(pgm_read_word(&(menu_items[0])),SIZE(menu_items));

  //Menu Modes 
  ReefAngel.FeedingModePorts = B10010000;
  ReefAngel.WaterChangePorts = B10010000;
  ReefAngel.OverheatShutoffPorts = B00101110;

  //Pumps and waves on
  ReefAngel.Relay.On(Pumps);  //Turn Sump/Skimmer on at startup

}

void loop() 
{ 
  //Top Off
  ReefAngel.StandardATO(AutoTopOff,25);  //Setup AutoTopOff as Auto Top-Off function with 500s timeout

  //Light Schedule  
  ReefAngel.StandardLights(Refuge,19,00,14,00);  //Refugium schedule 10:00pm - 12:00am   
  ReefAngel.MHLights(MHCenter,13,0,20,0,15);
  ReefAngel.MHLights(MHOuter,13,15,20,0,15);
  ReefAngel.StandardLights(Actinic,11,0,23,0); 
  ReefAngel.StandardLights(Moonleds,6,30,2,30);

  // Drivers
  ReefAngel.PWM.SetChannel(RB,PWMSlope(10,0,22,0,15,65,45,15));
  ReefAngel.PWM.SetChannel(Moonlight,25);

  //Heating/Cooling
  ReefAngel.StandardHeater(Heater,778,782);  // Setup Heater to turn on at 77.8F and off at 78.2F 

  ReefAngel.ShowInterface();
}

Roberto.
Post Reply