Page 1 of 2

Completely lost!

Posted: Sun Mar 18, 2012 9:28 pm
by chort55
Ok, so I knew going into this it was probably going to be a little rough for me, but figured it was preloaded with some code so maybe I could make some slight tweeks to that (if I could figure out how) and that there was a program (RAgen) that could make coding super simple with a few clicks boom have code!

Well, I did the RAgen, and I hate the menu and how I lost the ability to change when my wave makers come on and off, the overall look of the menu, and how I can't really control anything from the controller itself.... except the date/time lol

Right now I am waiting to see if this guy delivers on my LED's and orders the PWM module I ordered from him almost 2 weeks ago.... but for now I would like to be able to control my 3 t5 ballasts, heater, fan, and koralia k1400's and can't seem to be able to do it how I want and be able to change it all on the fly from the controller itself like I can my current neptune ac jr :(

Is it even possible to do what I would like to accomplish? It seemed like it would be possible from the demo mode (as I could change the time for the wave makers from that menu, but I seem to have lost it from my RAgen created code).

Eventually I would like to get into creating a custom screen but for now I am mostly interested in the ability to change the settings for my ports directly from the controller itself.

Re: Completely lost!

Posted: Sun Mar 18, 2012 9:32 pm
by rimai
If you use the Simple menu, all the ability to set stuff on the controller itself gets stripped out.

Open RAGen
Go to features tab
Uncheck wifi
Uncheck Simple Menu
Click Button save
Upload again.

Re: Completely lost!

Posted: Sun Mar 18, 2012 9:40 pm
by chort55
I keep getting Error Compliling now

It will not allow me to copy and paste the rest of the error message, but it says wm1port not declared, and wm2 port not declared in this scope

Re: Completely lost!

Posted: Sun Mar 18, 2012 9:48 pm
by chort55
I even did the internal memory update with the values for the ports that I want to use (Id just like to be able to change them on the controller if need be....)


Also, just thought about this..... I need the fan port to come on with my t5's is this possible?

Re: Completely lost!

Posted: Sun Mar 18, 2012 9:51 pm
by chort55
Here is the code that RAgen generated if this will help at all:

Code: Select all

// Autogenerated file by RAGen (v1.2.1.158), (03/19/2012 00:49)
// RA_031912_0049.ino
//
// This version designed for v0.9.0 or later

/* The following features are enabled for this File: 
#define DisplayImages
#define WavemakerSetup
#define DateTimeSetup
#define VersionMenu
#define DisplayLEDPWM
#define StandardLightSetup
#define PWMEXPANSION
#define CUSTOM_MAIN
*/


#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>

void DrawCustomMain()
{
    // the graph is drawn/updated when we exit the main menu &
    // when the parameters are saved
    ReefAngel.LCD.DrawDate(6, 112);
    pingSerial();
#if defined DisplayLEDPWM && ! defined RemoveAllLights
    ReefAngel.LCD.DrawMonitor(15, 60, ReefAngel.Params,
    ReefAngel.PWM.GetDaylightValue(), ReefAngel.PWM.GetActinicValue());
#else // defined DisplayLEDPWM && ! defined RemoveAllLights
    ReefAngel.LCD.DrawMonitor(15, 60, ReefAngel.Params);
#endif // defined DisplayLEDPWM && ! defined RemoveAllLights
    pingSerial();
    byte TempRelay = ReefAngel.Relay.RelayData;
    TempRelay &= ReefAngel.Relay.RelayMaskOff;
    TempRelay |= ReefAngel.Relay.RelayMaskOn;
    ReefAngel.LCD.DrawOutletBox(12, 93, TempRelay);
}

void DrawCustomGraph()
{
    ReefAngel.LCD.DrawGraph(5, 5);
}


void setup()
{
    ReefAngel.Init();  //Initialize controller

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

void loop()
{
    // Specific functions
    ReefAngel.StandardLights(Port1);
    ReefAngel.StandardLights(Port2);
    ReefAngel.StandardLights(Port3);
    ReefAngel.StandardFan(Port4);
    ReefAngel.Wavemaker1(Port5);
    ReefAngel.Wavemaker2(Port6);
    ReefAngel.StandardHeater(Port7);

    ReefAngel.PWM.ActinicPWMSlope();
    ReefAngel.PWM.DaylightPWMSlope();

    ReefAngel.ShowInterface();
}

Re: Completely lost!

Posted: Sun Mar 18, 2012 10:55 pm
by chort55
If I click the simple menu, the code will load I just have a menu that I cannot control anything really with.

If I click the custom menu, it will load, I just really can't do anything as it will just say Item 1 or exit.

If I leave both boxed unclicked, the code will not load even if I change nothing else at all.

Re: Completely lost!

Posted: Mon Mar 19, 2012 5:14 pm
by rimai
I saw that your code has duplicates of a lot of stuff, but even removing the duplicates I also found it did not compile properly.
This is a bug on the libraries.
I'll look into it and talk to Curt about it.

Re: Completely lost!

Posted: Mon Mar 19, 2012 5:16 pm
by rimai
By the way, this error only happens when you want to add the menu to change settings onthe controller itself, like you are planning to.

Re: Completely lost!

Posted: Mon Mar 19, 2012 6:34 pm
by chort55
Yeah the ability to change the settings from the controller is fairly important to me, as I like to do random days where the "sun" just doesnt come out or runs shorter as well as I am working on raising my reef temp back up slowly after running it at 75 degrees for 2 years while I was trying to find a few colder water species , but after deciding to go a different route I am working back to a "normal" reef lol

Thank you Roberto, hopefully it will get fixed and I can figure out this coding stuff soon :)


I have noticed though it seems there are multiple ways of writing code because I have seen a few people do things differently to accomplish the same end result (or atleast thats what it looks like to me lol)

Re: Completely lost!

Posted: Mon Mar 19, 2012 6:51 pm
by rimai
You can use the Client Suite to change settings too.
Just another idea.

Re: Completely lost!

Posted: Mon Mar 19, 2012 7:01 pm
by chort55
Reef Angel Client seems more confusing to me right now, maybe its the ability to change the names of the port relays or something I dont know RAgen just seemed easier but maybe I will give that a try tonight when I have more time to mess with it and hook the controller up to the comp.

Re: Completely lost!

Posted: Mon Mar 19, 2012 10:12 pm
by chort55
New RAgen code, I think other then the menu for changing settings on the fly like I want this is what I need, until I get my LEDs anyways....

Code: Select all

// Autogenerated file by RAGen (v1.2.1.158), (03/20/2012 00:36)
// RA_032012_0036.ino
//
// This version designed for v0.9.0 or later

/* The following features are enabled for this File: 
#define DisplayImages
#define DateTimeSetup
#define DisplayLEDPWM
#define SIMPLE_MENU
#define PWMEXPANSION
*/


#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>


void setup()
{
    ReefAngel.Init();  //Initialize controller

    ReefAngel.OverheatShutoffPorts = Port1Bit | Port2Bit | Port3Bit | Port7Bit;
    ReefAngel.LightsOnPorts = Port1Bit | Port2Bit | Port3Bit | Port4Bit;

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

void loop()
{
    // Specific functions
    ReefAngel.MHLights(Port1);
    ReefAngel.StandardLights(Port2);
    ReefAngel.StandardLights(Port3);
    ReefAngel.StandardFan(Port4);
    ReefAngel.Wavemaker1(Port5);
    ReefAngel.Wavemaker2(Port6);
    ReefAngel.StandardHeater(Port7);

    ReefAngel.ShowInterface();
}
I would like to eventually do a custom main screen but everytime I try (even copy and pasting from others and editing it to my name and colors) it doesn't work.... last time I got color.h errors, and instead of saving what I had I got irritated and not thinking and just closed the box and lost what I did :(

Here is my RAgen internal memory code too:

Code: Select all

// Autogenerated file by RAGen (v1.2.1.158), (03/20/2012 00:16)
// Memory_032012_0016.ino
//
// This file sets the default values to the Internal Memory
//


#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.MHOnHour_write(16);
    InternalMemory.MHOnMinute_write(0);
    InternalMemory.MHOffHour_write(0);
    InternalMemory.MHOffMinute_write(0);
    InternalMemory.MHDelay_write(0);
    InternalMemory.StdLightsOnHour_write(16);
    InternalMemory.StdLightsOnMinute_write(15);
    InternalMemory.StdLightsOffHour_write(23);
    InternalMemory.StdLightsOffMinute_write(45);
    InternalMemory.DP1OnHour_write(20);
    InternalMemory.DP1OnMinute_write(0);
    InternalMemory.DP2OnHour_write(22);
    InternalMemory.DP2OnMinute_write(30);
    InternalMemory.DP1Timer_write(10);
    InternalMemory.DP2Timer_write(10);
    InternalMemory.DP1RepeatInterval_write(60);
    InternalMemory.DP2RepeatInterval_write(60);
    InternalMemory.ATOTimeout_write(60);
    InternalMemory.ATOHighTimeout_write(60);
    InternalMemory.ATOHourInterval_write(0);
    InternalMemory.ATOHighHourInterval_write(0);
    InternalMemory.FeedingTimer_write(900);
    InternalMemory.LCDTimer_write(600);
    InternalMemory.LEDPWMActinic_write(50);
    InternalMemory.LEDPWMDaylight_write(50);
    InternalMemory.WM1Timer_write(37);
    InternalMemory.WM2Timer_write(119);
    InternalMemory.HeaterTempOn_write(752);
    InternalMemory.HeaterTempOff_write(755);
    InternalMemory.ChillerTempOn_write(757);
    InternalMemory.ChillerTempOff_write(755);
    InternalMemory.OverheatTemp_write(800);
    InternalMemory.PHMax_write(840);
    InternalMemory.PHMin_write(550);
    InternalMemory.SalMax_write(2550);
    InternalMemory.RFMode_write(Constant);
    InternalMemory.RFSpeed_write(140);
    InternalMemory.RFDuration_write(8);
    InternalMemory.RFDuration_write(8);
    InternalMemory.PWMSlopeStartD_write(15);
    InternalMemory.PWMSlopeEndD_write(128);
    InternalMemory.PWMSlopeDurationD_write(60);
    InternalMemory.PWMSlopeStartA_write(15);
    InternalMemory.PWMSlopeEndA_write(128);
    InternalMemory.PWMSlopeDurationA_write(60);
    InternalMemory.IMCheck_write(0x5241494D);
}

void loop()
{
    // display success screen
    e.DrawText(COLOR_BLACK, COLOR_WHITE, MENU_START_COL, MENU_START_ROW*2, "Internal Memory Set");
    e.DrawText(COLOR_BLACK, COLOR_WHITE, MENU_START_COL, MENU_START_ROW*4, "Now load your");
    e.DrawText(COLOR_BLACK, COLOR_WHITE, MENU_START_COL, MENU_START_ROW*5, "   RA code file");
    delay(5000);
}
Let me know if there is something simple I can do to get a fuller control from the controller unit to change things on the controller directly as I do not have wifi and want to be able to make changes without having to unhook everything and plug it into my comp.

Re: Completely lost!

Posted: Mon Mar 19, 2012 10:39 pm
by rimai
My suggestion is to get one thing at a time.
First you start with the code, then you tackle the custom main screen, but here is a good starting point:
http://forum.reefangel.com/viewtopic.php?f=14&t=109
Make sure you read the guide.
Your code looks good, except for the menus to change settings that will need libraries update.
I have already made the change and it will go along with the next release.

Re: Completely lost!

Posted: Tue Mar 20, 2012 5:51 am
by chort55
rimai wrote:My suggestion is to get one thing at a time.
First you start with the code, then you tackle the custom main screen, but here is a good starting point:
http://forum.reefangel.com/viewtopic.php?f=14&t=109
Make sure you read the guide.
Your code looks good, except for the menus to change settings that will need libraries update.
I have already made the change and it will go along with the next release.
I THINK I have my code how I want it, I will need a couple tweeks down the road (switching port 8 to be controlled by my pH for Co2 regulator) but I have found that code switch already I believe , and the pwm slope stuff (I believe there is an issue currently because the moonlight that I have plugged into the PWM port on the outlet box seems to be constant on), but I am getting there and understanding it somewhat better then before, especially since you noticed the main thing I wasn't understanding was a libraries issue instead of user lol

Any idea when the libraries will be updated so I can do the switch and be able to do the menus the way I am trying to?

Re: Completely lost!

Posted: Tue Mar 20, 2012 8:49 am
by rimai
I'd like Curt to take a look at it.
So, as soon as he has some time to go over it.

Re: Completely lost!

Posted: Tue Mar 20, 2012 12:56 pm
by chort55
rimai wrote:I'd like Curt to take a look at it.
So, as soon as he has some time to go over it.
Ok cool, thank you!

Re: Completely lost!

Posted: Tue Mar 20, 2012 2:09 pm
by chort55
I decided to try the RA live on the tank tonight since I am off work today and tomorrow..... seems like everything is ok, except my fan program. Since I am running a t5 DIY I run my fan when my lights are on (as well as temp setting), but I think the temp setting is keeping the fan from kicking on as my old controller and the RA do not show same temp (RA is 1 degree lower), and I programmed it to the old controllers readings/ settings.

Is there a code I can put in that regardless of temp the fan is on with the lights? I clicked the square to be on with the lights in RAgen I thought so not to sure why it doesn't come on.

I have not changed anything since my last post for codes.

Re: Completely lost!

Posted: Tue Mar 20, 2012 2:12 pm
by rimai
Replace this:

Code: Select all

    ReefAngel.StandardFan(Port4);
With this:

Code: Select all

    ReefAngel.StandardLights(Port4);

Re: Completely lost!

Posted: Tue Mar 20, 2012 2:24 pm
by chort55
rimai wrote:Replace this:

Code: Select all

    ReefAngel.StandardFan(Port4);
With this:

Code: Select all

    ReefAngel.StandardLights(Port4);
If I do that tho I will lose the fan for temp control purposes too tho, correct? I use the fan to keep the t5's cool and move heat away from the fixture while they are on, and to control temp through the day as well.

Re: Completely lost!

Posted: Tue Mar 20, 2012 2:36 pm
by rimai
Ok, so use this:

Code: Select all

  ReefAngel.StandardFan(Port4);
  if (ReefAngel.Relay.Status(Port2)) ReefAngel.Relay.On(Port4);

Re: Completely lost!

Posted: Tue Mar 20, 2012 5:10 pm
by binder
rimai wrote:I'd like Curt to take a look at it.
So, as soon as he has some time to go over it.
What do I need to take a look at? :)

Re: Completely lost!

Posted: Tue Mar 20, 2012 5:27 pm
by rimai
Update to the libraries :)
I pushed to my dev branch

Re: Completely lost!

Posted: Tue Mar 20, 2012 5:41 pm
by binder
rimai wrote:Update to the libraries :)
I pushed to my dev branch
Pulled and looking at right now. If all is good, then I may do a 0.9.3 release later tonight. :)

Re: Completely lost!

Posted: Tue Mar 20, 2012 5:47 pm
by binder
pushed 0.9.3...get it while it's hot. :)

Re: Completely lost!

Posted: Tue Mar 20, 2012 6:57 pm
by chort55
Thank you guys!

Re: Completely lost!

Posted: Tue Mar 20, 2012 7:03 pm
by chort55
binder wrote:pushed 0.9.3...get it while it's hot. :)
I did not see 9.3 on the download page, am I looking in the wrong spot? :(

Re: Completely lost!

Posted: Tue Mar 20, 2012 7:05 pm
by binder
It's probably not on the download page yet. Roberto has to update his installer.
To update the libraries, use the library update utility: http://forum.reefangel.com/viewtopic.php?f=8&t=2
Once you run the program and update your libraries, you will need to simply re-upload your code to your controller.

Re: Completely lost!

Posted: Tue Mar 20, 2012 7:30 pm
by chort55
binder wrote:It's probably not on the download page yet. Roberto has to update his installer.
To update the libraries, use the library update utility: http://forum.reefangel.com/viewtopic.php?f=8&t=2
Once you run the program and update your libraries, you will need to simply re-upload your code to your controller.
Ok sweet thanks!

Re: Completely lost!

Posted: Wed Mar 21, 2012 10:16 am
by chort55
I got the new libraries and set it all up this morning.... works exactly how I wanted it to now!!!! Thank you so much Curt and Roberto for all your help I really appreciate it guys!

I will have some more to do when I get my leds I think, but I dont think I can mess with that much until I actually get the lights so I can see if I did it right in the 1st place or if I need to tweek that too.

Re: Completely lost!

Posted: Wed Mar 21, 2012 10:21 am
by rimai
Glad to hear that :)