Feeding mode and Jeboa
Posted: Mon Sep 16, 2013 3:42 pm
In another post Inevo wrote
I have been using the ATOPinLow port and memory settings via the Portal to control my Jeboa WP25 for some time, but have found that during feeding mode the pump stops. What I would like is for it to continue running at a lower speed.
I have tried adding ReefAngel.DCPump.FeedingSpeed=10; to my code, but the pump still did not operate during the feed mode. I have tried a number of values up to 50 with the same result.
I am not sure if the ReefAngel.DCPump.FeedingSpeed should or will work with the ATOPinLow port or not. if it should do, then do I have the command in the right place in my code.
Any suggestions please.
My INO
If you want you can define the speed for Water Change and Feeding Modes...
ReefAngel.DCPump.FeedingSpeed=10;
ReefAngel.DCPump.WaterChangeSpeed=0;
I have been using the ATOPinLow port and memory settings via the Portal to control my Jeboa WP25 for some time, but have found that during feeding mode the pump stops. What I would like is for it to continue running at a lower speed.
I have tried adding ReefAngel.DCPump.FeedingSpeed=10; to my code, but the pump still did not operate during the feed mode. I have tried a number of values up to 50 with the same result.
I am not sure if the ReefAngel.DCPump.FeedingSpeed should or will work with the ATOPinLow port or not. if it should do, then do I have the command in the right place in my code.
Any suggestions please.
My INO
Code: Select all
// Created using Wizard 14/09/2013
// DC pump set to use ATOPinLow
#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 <PH.h>
#include <WaterLevel.h>
#include <Humidity.h>
#include <DCPump.h>
#include <ReefAngel.h>
////// Place global variable code below here
////// Place global variable code above here
void setup()
{
// This must be the first line
InternalMemory.LCDID_write(0); // new LCD screen
ReefAngel.Init(); //Initialize controller
// Ports toggled in Feeding Mode
ReefAngel.FeedingModePorts = Port1Bit | Port6Bit;
// Ports toggled in Water Change Mode
ReefAngel.WaterChangePorts = Port1Bit | Port2Bit | Port3Bit | Port6Bit | Port7Bit | Port8Bit;
// Ports toggled when Lights On / Off menu entry selected
ReefAngel.LightsOnPorts = 0;
// Ports turned off when Overheat temperature exceeded
ReefAngel.OverheatShutoffPorts = Port3Bit;
// Use T1 probe as temperature and overheat functions
ReefAngel.TempProbe = T1_PROBE;
ReefAngel.OverheatProbe = T1_PROBE;
// Feeeding and Water Change mode speed
ReefAngel.DCPump.FeedingSpeed=50;
ReefAngel.DCPump.WaterChangeSpeed=0;
// Ports that are always on
ReefAngel.Relay.On( Port1 );
ReefAngel.Relay.On( Port6 );
////// Place additional initialization code below here
////// Place additional initialization code above here
}
void loop()
{
// ReefAngel.StandardATO( Port2 );
ReefAngel.StandardHeater( Port3 );
ReefAngel.DosingPumpRepeat1( Port7 );
ReefAngel.DosingPumpRepeat2( Port8 );
ReefAngel.PWM.DaylightPWMParabola();
ReefAngel.PWM.ActinicPWMParabola();
ReefAngel.DCPump.UseMemory = true;
ReefAngel.DCPump.LowATOChannel = Sync ; // Jebo connected to AtoPINLow
// Waterlevel code changed 20/04/13 to stop quick cycle of ATO pump
byte l = ReefAngel.WaterLevel.GetLevel();
if (l>85) ReefAngel.Relay.Off(Port2);
if (l<82 && l>0) ReefAngel.Relay.On(Port2);
if (now()%20<10)
//
// Delay turning Skimmer back on
ReefAngel.Relay.DelayedOn( Port1,60 );
////// Place your custom code below here
//********************************************************************************************************************************
// Activate Watch Dog Timer at 6am and 6pm
if ((now()%86400)==21600) delay(1000);
if ((now()%86400)==43200) delay(1000);
// Wavemaker not available 9 pm to 10 am
if ( (hour() >= 20) || (hour() <= 9) )
{
ReefAngel.DCPump.Mode==Custom;
}
//********************************************************************************************************************************
////// Place your custom code above here
// This should always be the last line
ReefAngel.Portal( "sebyte" );
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();
// Water Level
ReefAngel.LCD.DrawText( COLOR_DARKGOLDENROD,DefaultBGColor,75,66, "WL:" );
ReefAngel.LCD.DrawText( COLOR_DARKGOLDENROD,DefaultBGColor,99,66, ReefAngel.WaterLevel.GetLevel() );
pingSerial();
// Main Relay Box
byte TempRelay = ReefAngel.Relay.RelayData;
TempRelay &= ReefAngel.Relay.RelayMaskOff;
TempRelay |= ReefAngel.Relay.RelayMaskOn;
ReefAngel.LCD.DrawOutletBox( 12, 92, TempRelay );
pingSerial();
// Date and Time
ReefAngel.LCD.DrawDate( 6, 122 );
pingSerial();
}
void DrawCustomGraph()
{
}