Page 1 of 1

PH calibration resets after each upload

Posted: Sun Apr 07, 2013 8:57 am
by Graham2212
Hi All
Can anyone tell me if its normal for the PH calibration to reset itself each time I upload / make an adjustment to my code, or when my wi-fi unit is disconnected and reconnected (which I have resorted to doing every 3rd day due to connection being lost)?

Re: PH calibration resets after each upload

Posted: Sun Apr 07, 2013 10:18 am
by rimai
Are you using hard code calibration?
Can you post your code?

Re: PH calibration resets after each upload

Posted: Sun Apr 07, 2013 10:57 am
by Graham2212
Thanks very much for your help again! I'm not sure if it's hard coded - still trying to get used to RA... Can you tell me?

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 <PH.h>
#include <WaterLevel.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.PHMin=217;
    ReefAngel.PHMax=512;
    ReefAngel.UseFlexiblePhCalibration();
    ReefAngel.SetTemperatureUnit( Celsius );  // set to Celsius Temperature

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


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

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

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

void loop()
{
    ReefAngel.StandardATO( Port1,600 );
    ReefAngel.WavemakerRandom1( Port5,15,60 );
    ReefAngel.WavemakerRandom2( Port6,15,60 );
    ////// Place your custom code below here
    

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

    // This should always be the last line
    ReefAngel.Portal( "Graham2212" );
    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, 93, TempRelay );
    pingSerial();

    // Date and Time
    ReefAngel.LCD.DrawDate( 6, 122 );
    pingSerial();
}

void DrawCustomGraph()
{
}

Re: PH calibration resets after each upload

Posted: Sun Apr 07, 2013 10:58 am
by Graham2212
BTW, I'm using PH solutions of 4 and 7 to do my calibration, and therefore the reason for the calibration manipulation...

Re: PH calibration resets after each upload

Posted: Sun Apr 07, 2013 11:09 am
by rimai
These lines will always be used by the controller:
That's what I meant with hard coded.

Code: Select all

    ReefAngel.PHMin=217;
    ReefAngel.PHMax=512;
You have to remove them to use the calibration numbers stored in the memory or you can simply use the numbers you acquired while doing the calibration.

PH calibration resets after each upload

Posted: Sun Apr 07, 2013 11:16 am
by Graham2212
Ok, (excuse the stupid questions)... So if i remove these lines, i will still be able to (based on my code), have the option to calibrate with a 4 and 7 ph solution?

Re: PH calibration resets after each upload

Posted: Sun Apr 07, 2013 11:18 am
by rimai
Yes.

Re: PH calibration resets after each upload

Posted: Sun Apr 07, 2013 11:19 pm
by Graham2212
Thank you very much for all your help! I really appreciate it!