Error when compiling InitialInternalMemory

Post Reply
brettb
Posts: 17
Joined: Tue Apr 02, 2013 6:48 am

Error when compiling InitialInternalMemory

Post by brettb »

Hey guys I keep getting the following error when compiling the InitialInternalMemory or any other internal memory memory code generated by the wizard. I have tried deleting the \Users\brett\Documents\Arduino folder and re installing but no luck. What could be the issue?

The following features were detected:
Simple Menu
C:\Users\brett\Documents\Arduino\libraries\RA_NokiaLCD\RA_NokiaLCD.cpp: In member function 'void RA_NokiaLCD::SendData(byte)':
C:\Users\brett\Documents\Arduino\libraries\RA_NokiaLCD\RA_NokiaLCD.cpp:640: error: 'pingSerial' was not declared in this scope
rimai
Posts: 12881
Joined: Fri Mar 18, 2011 6:47 pm

Re: Error when compiling InitialInternalMemory

Post by rimai »

Make sure you are using libs 1.0.5
Download the latest RA Installer from the website.
It has been updated a few days ago.
Roberto.
brettb
Posts: 17
Joined: Tue Apr 02, 2013 6:48 am

Re: Error when compiling InitialInternalMemory

Post by brettb »

rimai wrote:Make sure you are using libs 1.0.5
Download the latest RA Installer from the website.
It has been updated a few days ago.
downloaded and installed the latest 1.0.5 tonight.

When I go to Tools/Reef angel libraries version it confirms that I am using 1.0.5
rimai
Posts: 12881
Joined: Fri Mar 18, 2011 6:47 pm

Re: Error when compiling InitialInternalMemory

Post by rimai »

bug :(
Use this file instead:

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 <AI.h>
#include <RF.h>
#include <IO.h>
#include <ORP.h>
#include <Salinity.h>
#include <PH.h>
#include <WaterLevel.h>
#include <ReefAngel.h>


RA_NokiaLCD e;

void setup()
{
    e.Init();
    e.Clear(COLOR_WHITE,0,0,132,132);
    e.BacklightOn();

    InternalMemory.MHOnHour_write(15);
    InternalMemory.MHOnMinute_write(30);
    InternalMemory.MHOffHour_write(21);
    InternalMemory.MHOffMinute_write(0);
    InternalMemory.MHDelay_write(7);
    InternalMemory.StdLightsOnHour_write(14);
    InternalMemory.StdLightsOnMinute_write(0);
    InternalMemory.StdLightsOffHour_write(21);
    InternalMemory.StdLightsOffMinute_write(30);
    InternalMemory.DP1OnHour_write(20);
    InternalMemory.DP1OnMinute_write(0);
    InternalMemory.DP2OnHour_write(22);
    InternalMemory.DP2OnMinute_write(30);
    InternalMemory.DP1Timer_write(4);
    InternalMemory.DP2Timer_write(4);
    InternalMemory.DP1RepeatInterval_write(60);
    InternalMemory.DP2RepeatInterval_write(60);
    InternalMemory.ATOHourInterval_write(0);
    InternalMemory.FeedingTimer_write(900);
    InternalMemory.LCDTimer_write(600);
    InternalMemory.LEDPWMActinic_write(20);
    InternalMemory.LEDPWMDaylight_write(20);
    InternalMemory.WM1Timer_write(10);
    InternalMemory.WM2Timer_write(15);
    InternalMemory.HeaterTempOn_write(766);
    InternalMemory.HeaterTempOff_write(770);
    InternalMemory.ChillerTempOn_write(774);
    InternalMemory.ChillerTempOff_write(770);
    InternalMemory.OverheatTemp_write(1500);
    InternalMemory.PHMax_write(830);
    InternalMemory.PHMin_write(540);
    InternalMemory.SalMax_write(2550);
    InternalMemory.ORPMax_write(285);
    InternalMemory.ORPMin_write(1400);    
    InternalMemory.RFMode_write(Constant);
    InternalMemory.RFSpeed_write(50);
    InternalMemory.RFDuration_write(8);
    InternalMemory.RFDuration_write(8);
    InternalMemory.PWMSlopeStartD_write(15);
    InternalMemory.PWMSlopeEndD_write(100);
    InternalMemory.PWMSlopeDurationD_write(60);
    InternalMemory.PWMSlopeStartA_write(15);
    InternalMemory.PWMSlopeEndA_write(100);
    InternalMemory.PWMSlopeDurationA_write(60);
    InternalMemory.PWMSlopeStart0_write(15);
    InternalMemory.PWMSlopeEnd0_write(100);
    InternalMemory.PWMSlopeDuration0_write(60);
    InternalMemory.PWMSlopeStart1_write(15);
    InternalMemory.PWMSlopeEnd1_write(100);
    InternalMemory.PWMSlopeDuration1_write(60);
    InternalMemory.PWMSlopeStart2_write(15);
    InternalMemory.PWMSlopeEnd2_write(100);
    InternalMemory.PWMSlopeDuration2_write(60);
    InternalMemory.PWMSlopeStart3_write(15);
    InternalMemory.PWMSlopeEnd3_write(100);
    InternalMemory.PWMSlopeDuration3_write(60);
    InternalMemory.PWMSlopeStart4_write(15);
    InternalMemory.PWMSlopeEnd4_write(100);
    InternalMemory.PWMSlopeDuration4_write(60);
    InternalMemory.PWMSlopeStart5_write(15);
    InternalMemory.PWMSlopeEnd5_write(100);
    InternalMemory.PWMSlopeDuration5_write(60);
    InternalMemory.ATOExtendedTimeout_write(120);
    InternalMemory.ORPMin_write(2050);
    InternalMemory.ORPMax_write(450);
    InternalMemory.ActinicOffset_write(30);
    InternalMemory.CO2ControlOn_write(770);
    InternalMemory.CO2ControlOff_write(760);
    InternalMemory.PHControlOn_write(800);
    InternalMemory.PHControlOff_write(810);
    InternalMemory.AISlopeStartW_write(0);
    InternalMemory.AISlopeEndW_write(100);
    InternalMemory.AISlopeDurationW_write(60);
    InternalMemory.AISlopeStartB_write(0);
    InternalMemory.AISlopeEndB_write(100);
    InternalMemory.AISlopeDurationB_write(60);
    InternalMemory.AISlopeStartRB_write(0);
    InternalMemory.AISlopeEndRB_write(100);
    InternalMemory.AISlopeDurationRB_write(60);
    InternalMemory.RadionSlopeStartW_write(0);
    InternalMemory.RadionSlopeEndW_write(100);
    InternalMemory.RadionSlopeDurationW_write(60);
    InternalMemory.RadionSlopeStartRB_write(0);
    InternalMemory.RadionSlopeEndRB_write(100);
    InternalMemory.RadionSlopeDurationRB_write(60);
    InternalMemory.RadionSlopeStartR_write(0);
    InternalMemory.RadionSlopeEndR_write(100);
    InternalMemory.RadionSlopeDurationR_write(60);
    InternalMemory.RadionSlopeStartG_write(0);
    InternalMemory.RadionSlopeEndG_write(100);
    InternalMemory.RadionSlopeDurationG_write(60);
    InternalMemory.RadionSlopeStartB_write(0);
    InternalMemory.RadionSlopeEndB_write(100);
    InternalMemory.RadionSlopeDurationB_write(60);
    InternalMemory.RadionSlopeStartI_write(0);
    InternalMemory.RadionSlopeEndI_write(100);
    InternalMemory.RadionSlopeDurationI_write(60);
    InternalMemory.DelayedStart_write(7);
    InternalMemory.PHExpMax_write(2500);
    InternalMemory.PHExpMin_write(500);
    InternalMemory.WaterLevelMax_write(3575);
    InternalMemory.WaterLevelMin_write(2875);
    InternalMemory.IMCheck_write(0xCF06A31E);
    e.DrawText(COLOR_BLACK, COLOR_WHITE, MENU_START_COL+20, MENU_START_ROW*3, "Memory Updated");
    e.DrawText(COLOR_BLACK, COLOR_WHITE, MENU_START_COL+25, MENU_START_ROW*6, "You can now");
    e.DrawText(COLOR_BLACK, COLOR_WHITE, MENU_START_COL+25, MENU_START_ROW*7, "upload your");
    e.DrawText(COLOR_BLACK, COLOR_WHITE, MENU_START_COL+33, MENU_START_ROW*8, "INO code");
}

void loop()
{
}
I'll update the RA Installer with this new file.
Roberto.
brettb
Posts: 17
Joined: Tue Apr 02, 2013 6:48 am

Re: Error when compiling InitialInternalMemory

Post by brettb »

InitialInternalMemory compiles fine now but any memory sketch generated by the wizard gives the same previous errors
brettb
Posts: 17
Joined: Tue Apr 02, 2013 6:48 am

Re: Error when compiling InitialInternalMemory

Post by brettb »

Also, a bit off topic. T1 is not displaying on the graph on the LCD of the reef angel controller. What could cause this?
rimai
Posts: 12881
Joined: Fri Mar 18, 2011 6:47 pm

Re: Error when compiling InitialInternalMemory

Post by rimai »

I'm not able to replicate the error.
Can you post the code you are getting the errors?
Roberto.
brettb
Posts: 17
Joined: Tue Apr 02, 2013 6:48 am

Re: Error when compiling InitialInternalMemory

Post by brettb »

Code: Select all

#include <ReefAngel_Features.h>
#include <Globals.h>
#include <Time.h>
#include <OneWire.h>
#include <RA_NokiaLCD.h>
#include <avr/pgmspace.h>
#include <InternalEEPROM.h>
#include <Wire.h>
#include <Memory.h>

RA_NokiaLCD e;

void setup()
{
    e.Init();
    e.Clear(COLOR_WHITE,0,0,132,132);
    e.BacklightOn();

    InternalMemory.OverheatTemp_write( 290 );
    InternalMemory.HeaterTempOn_write( 248 );
    InternalMemory.HeaterTempOff_write( 250 );
    InternalMemory.ChillerTempOn_write( 255 );
    InternalMemory.ChillerTempOff_write( 250 );
    InternalMemory.ATOExtendedTimeout_write( 480 );
    InternalMemory.ATOHourInterval_write( 0 );
    InternalMemory.IMCheck_write(0xCF06A31E);
    e.DrawText(COLOR_BLACK, COLOR_WHITE, MENU_START_COL+20, MENU_START_ROW*3, "Memory Updated");
    e.DrawText(COLOR_BLACK, COLOR_WHITE, MENU_START_COL+25, MENU_START_ROW*6, "You can now");
    e.DrawText(COLOR_BLACK, COLOR_WHITE, MENU_START_COL+25, MENU_START_ROW*7, "upload your");
    e.DrawText(COLOR_BLACK, COLOR_WHITE, MENU_START_COL+33, MENU_START_ROW*8, "INO code");
}

void loop()
{
}
Capture.PNG
Capture.PNG (105.26 KiB) Viewed 5688 times
Capture2.PNG
Capture2.PNG (13.67 KiB) Viewed 5688 times
rimai
Posts: 12881
Joined: Fri Mar 18, 2011 6:47 pm

Re: Error when compiling InitialInternalMemory

Post by rimai »

Ahhh.
Memory Settings... I missed that part....
Thanks for contributing and informing about the bugs :)
It is the same thing.... You must replace the entire #include up top with the new one.
The other alternative is use hard coded settings.
Wizard will also be fixed next update.
Roberto.
brettb
Posts: 17
Joined: Tue Apr 02, 2013 6:48 am

Re: Error when compiling InitialInternalMemory

Post by brettb »

No problem! =)
Iv just change the memory settings through the portal.
carlii
Posts: 91
Joined: Sat Mar 17, 2012 7:22 pm

Re: Error when compiling InitialInternalMemory

Post by carlii »

Ok the internal code above complies now, but I do I use these new dosing pump functions?

Also how do I add code for the third dosing pump?

How does the old intenal memory code:

InternalMemory.DP1RepeatInterval_write( 360 );
InternalMemory.DP1Timer_write( 8 );
InternalMemory.DP2RepeatInterval_write( 360 );
InternalMemory.DP2Timer_write( 8 );

translate into teh new internal memory code:

InternalMemory.DP1OnHour_write(360);
InternalMemory.DP1OnMinute_write(8);
InternalMemory.DP2OnHour_write(360);
InternalMemory.DP2OnMinute_write(8);
InternalMemory.DP1Timer_write(4);
InternalMemory.DP2Timer_write(4);
InternalMemory.DP1RepeatInterval_write(60);
InternalMemory.DP2RepeatInterval_write(60);
rimai
Posts: 12881
Joined: Fri Mar 18, 2011 6:47 pm

Re: Error when compiling InitialInternalMemory

Post by rimai »

They are the same thing...
For the 3rd doser, you can use this:

Code: Select all

 InternalMemory.DP3Timer_write(4);
 InternalMemory.DP3RepeatInterval_write(60);
Roberto.
carlii
Posts: 91
Joined: Sat Mar 17, 2012 7:22 pm

Re: Error when compiling InitialInternalMemory

Post by carlii »

So do I just ignore the dpon hour and minute?
rimai
Posts: 12881
Joined: Fri Mar 18, 2011 6:47 pm

Re: Error when compiling InitialInternalMemory

Post by rimai »

Yeah, those memory locations are only used for a single dose schedule.
Roberto.
Post Reply