PH calibration resets after each upload

Post Reply
Graham2212
Posts: 21
Joined: Wed Mar 27, 2013 2:58 am
Location: Johannesburg, South Africa

PH calibration resets after each upload

Post 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)?
rimai
Posts: 12881
Joined: Fri Mar 18, 2011 6:47 pm

Re: PH calibration resets after each upload

Post by rimai »

Are you using hard code calibration?
Can you post your code?
Roberto.
Graham2212
Posts: 21
Joined: Wed Mar 27, 2013 2:58 am
Location: Johannesburg, South Africa

Re: PH calibration resets after each upload

Post 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()
{
}
Graham2212
Posts: 21
Joined: Wed Mar 27, 2013 2:58 am
Location: Johannesburg, South Africa

Re: PH calibration resets after each upload

Post by Graham2212 »

BTW, I'm using PH solutions of 4 and 7 to do my calibration, and therefore the reason for the calibration manipulation...
rimai
Posts: 12881
Joined: Fri Mar 18, 2011 6:47 pm

Re: PH calibration resets after each upload

Post 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.
Roberto.
Graham2212
Posts: 21
Joined: Wed Mar 27, 2013 2:58 am
Location: Johannesburg, South Africa

PH calibration resets after each upload

Post 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?
rimai
Posts: 12881
Joined: Fri Mar 18, 2011 6:47 pm

Re: PH calibration resets after each upload

Post by rimai »

Yes.
Roberto.
Graham2212
Posts: 21
Joined: Wed Mar 27, 2013 2:58 am
Location: Johannesburg, South Africa

Re: PH calibration resets after each upload

Post by Graham2212 »

Thank you very much for all your help! I really appreciate it!
Post Reply