Page 1 of 2

Reef Angel Wizard

Posted: Wed May 30, 2012 4:10 pm
by rimai
The Reef Angel Wizard is a new tool that will allow you to generate your own code with simple to answer questions.
It was created in Java, which means it is cross-platform. This is the tool we were missing for those using MacOSX.
To access it, simply open the Arduino IDE and go to menu Tools->Reef Angel Wizard.
Please let me know if you have problems using it or have any comments or suggestions.

Re: Reef Angel Wizard

Posted: Thu May 31, 2012 5:50 am
by slipperysam
Hi,

i have a suggestion.

it would be cool if you could choose your recent INO file you uploaded so you can edit it rather then do the whole thing again. this would be for the non internal memory option.

for internal memory option it would be cool if the wizard could follow the whole process through with internal mem.

e.g. program all ports then the wizard will read that code to see what setting have been chosen in the internal memory, user sets internal memory values.

then the wizard will upload the files in correct order.

Re: Reef Angel Wizard

Posted: Thu May 31, 2012 7:47 am
by rimai
Great suggestions.
I'll include them in the TODO list.
Thanks!
:D

Re: Reef Angel Wizard

Posted: Thu May 31, 2012 10:31 pm
by psyrob
I opened Arduino and clicked the wizard and got a long error message too long to type....do I need to download a more recent version of Arduino to have this work? I have the latest libraries...9.9 if that matters

Re: Reef Angel Wizard

Posted: Fri Jun 01, 2012 7:57 am
by rimai
Yes.
Download the new Reef Angel Installer from http://www.reefangel.com/Download.ashx

Re: Reef Angel Wizard

Posted: Sat Jun 02, 2012 4:42 pm
by Mike S
Roberto,

The new wizard is pretty slick. Very nice job with it.

Re: Reef Angel Wizard

Posted: Thu Jun 07, 2012 8:00 am
by rimai
Sebimme has identified the first bug of the Wizard:
https://github.com/reefangel/Wizard/issues/2

Re: Reef Angel Wizard

Posted: Thu Jun 07, 2012 10:28 am
by astralmind
rimai wrote:Sebimme has identified the first bug of the Wizard:
https://github.com/reefangel/Wizard/issues/2
hmmm I used the Wizard to generate my current code prior to its official announcement (found it by looking at the menu)... it must have been at least 3 weeks ago now?

I did use always on for 3 ports and they are behaving correctly, that is, always on and only turned off by feeding mode/water change mode.

Would this be an issue that was introduced in the newer version?

Re: Reef Angel Wizard

Posted: Thu Jun 07, 2012 11:07 am
by rimai
Yes. version 1.03 came with this bug.
The newer version also has some other functions (PHControl and CO2Control) and the option to generate code with hard code or internal memory settings.

Reef Angel Wizard

Posted: Thu Jun 07, 2012 1:56 pm
by sebimme
When will be release the new version?

Reef Angel Wizard

Posted: Fri Jun 08, 2012 3:21 pm
by AquaO
Hi Roberto,

I use the new Wizard to generate my code (great job it's very simple) but i set port 1-2-3-4-5-6-7 always on/off in feed mode and port 8 for my dosing pump.

After transfert in my ReefAngel, i realize all port is off exept dosing pump (i'm not in feed mode)

Do you have any idea??

Thank

Re: Reef Angel Wizard

Posted: Fri Jun 08, 2012 3:31 pm
by rimai
Bug on the wizard.
Check a couple posts back:
http://forum.reefangel.com/viewtopic.php?p=10586#p10586

Re: Reef Angel Wizard

Posted: Fri Jun 08, 2012 3:33 pm
by rimai
I already pushed the updated version.
If you run the update utility, it should download the newest file, which is v1.04
Let me know if you have problems.

Re: Reef Angel Wizard

Posted: Fri Jun 08, 2012 11:37 pm
by CASPAR
Updated to v1.04 and everything seems to be working fine now, will keep ya posted. Thanks Roberto!

Reef Angel Wizard

Posted: Sat Jun 09, 2012 6:16 am
by AquaO
CASPAR wrote:Updated to v1.04 and everything seems to be working fine now, will keep ya posted. Thanks Roberto!
Yess it's work!!

I love the new wizard it's "friendly user"

Thank you Roberto

Re: Reef Angel Wizard

Posted: Sat Jun 09, 2012 6:44 am
by rossbryant1956
I just downloaded the new version and it still has 1.03. How do I get 1.04?

Re: Reef Angel Wizard

Posted: Sat Jun 09, 2012 7:34 am
by rimai
Use the update utility: www.reefangel.com/update

Re: Reef Angel Wizard

Posted: Tue Jun 12, 2012 4:55 am
by astralmind
Nice!!! Got 1.04 running here, will have to generate new code to see if it fixes my screen issues.

2 observations:

- On my PC (Win 7 64bits) the layout cuts out some critical piece of info when left on standard "medium" size. For example, I only see the top of the AT Timeout dropbox but I can't click it. There seems to be noway to resize it. I'm running in standard 1080p resolution so I imagine I'm definitely not the only one with this issue. Reducing the display size to "small" fixes this but small is not very fun to use for everyday.

- The Wizard is awesomely user friendly when used with default "hard coded" values. However, if used in conjunction with the memory file (which I assume most people would want) it gets a little trickier. Would it be possible to use an almost identical interface when filling in the hardcoded and memory version? I would assume most of the memory file could be populated step by step in the same fashion and at the end of the wizard we could have both files generated with a simple pop stating that you should upload the mem file first followed by the rest of the code. Just a thought from a very lazy guy hehe :)

I think the Wizard truly makes the RA an accessible controller, even more so than others and that is quite an amazing feat!

Re: Reef Angel Wizard

Posted: Tue Jun 12, 2012 7:50 am
by rimai
Thanks for the suggestions :)
They are very welcomed and I never realized that the layout would get messed up with increasing font size.
I never tried doing it on my computer, but I'll look into it.
I'm planning on changing the wizard to make it as user-friendly and the hard coded version.
My initial plan was to just have it available for hard coded version, but decided to do the internal memory too, but didn't do as good of a job as the hard coded.
But, I've been working on changing the Arduino IDE and I got to a point now that I can interact and be able to load 2 INO files and have feedback of success or failure, which was what I was missing previously.
So, the future release will be be able to load both files in this step-by-step fashion. :)

Re: Reef Angel Wizard

Posted: Thu Jun 14, 2012 7:42 pm
by Mike S
Is anyone having issue with the actinic lights functions? I used the wizard last night to generate this code. For some reason the two ports (1&2 on my main relay) that my actinics are on are staying energized. The standard lights are on the same schedule and working ok. I've tried powering it on and off and have resent the memory values using the android app.

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 <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
    // Ports toggled in Feeding Mode
    ReefAngel.FeedingModePorts = Port7Bit | Port8Bit;
    ReefAngel.FeedingModePortsE[0] = 0;
    // Ports toggled in Water Change Mode
    ReefAngel.WaterChangePorts = 0;
    ReefAngel.WaterChangePortsE[0] = Port1Bit | Port2Bit | Port3Bit | Port6Bit;
    // Ports toggled when Lights On / Off menu entry selected
    ReefAngel.LightsOnPorts = Port1Bit | Port2Bit | Port3Bit | Port4Bit;
    ReefAngel.LightsOnPortsE[0] = 0;
    // Ports turned off when Overheat temperature exceeded
    ReefAngel.OverheatShutoffPorts = 0;
    ReefAngel.OverheatShutoffPortsE[0] = 0;
    // Use T1 probe as temperature and overheat functions
    ReefAngel.TempProbe = T1_PROBE;
    ReefAngel.OverheatProbe = T1_PROBE;


    // Ports that are always on
    ReefAngel.Relay.On( Port7 );
    ReefAngel.Relay.On( Port8 );
    ReefAngel.Relay.On( Box1_Port1 );
    ReefAngel.Relay.On( Box1_Port3 );
    ReefAngel.Relay.On( Box1_Port4 );

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

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

void loop()
{
    ReefAngel.ActinicLights( Port1 );
    ReefAngel.ActinicLights( Port2 );
    ReefAngel.StandardLights( Port3 );
    ReefAngel.StandardLights( Port4 );
    ReefAngel.MoonLights( Port5 );
    ReefAngel.MoonLights( Port6 );
    ReefAngel.StandardHeater( Box1_Port2 );
    ReefAngel.MoonLights( Box1_Port5 );
    ReefAngel.SingleATOLow(Box1_Port6);
    if (ReefAngel.HighATO.IsActive()) ReefAngel.Relay.Off(Box1_Port6);
    ReefAngel.DosingPumpRepeat1( Box1_Port7 );
    ReefAngel.DosingPumpRepeat2( Box1_Port8 );
    ReefAngel.PWM.DaylightPWMSlope();
    ReefAngel.PWM.ActinicPWMSlope();
    ////// Place your custom code below here
    

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

    // This should always be the last line
    ReefAngel.Portal( "Mike S" );
    ReefAngel.ShowInterface();
}

void DrawCustomMain()
{
    int x,y;
    char text[10];
    // Parameters
#if defined DisplayLEDPWM && ! defined RemoveAllLights
    ReefAngel.LCD.DrawMonitor( 15, 62, ReefAngel.Params,
    ReefAngel.PWM.GetDaylightValue(), ReefAngel.PWM.GetActinicValue() );
#else // defined DisplayLEDPWM && ! defined RemoveAllLights
    ReefAngel.LCD.DrawMonitor( 15, 62, ReefAngel.Params );
#endif // defined DisplayLEDPWM && ! defined RemoveAllLights
    pingSerial();

    // Main Relay Box
    byte TempRelay = ReefAngel.Relay.RelayData;
    TempRelay &= ReefAngel.Relay.RelayMaskOff;
    TempRelay |= ReefAngel.Relay.RelayMaskOn;
    ReefAngel.LCD.DrawOutletBox( 12, 93, TempRelay );
    pingSerial();

    // Relay Expansion
    TempRelay = ReefAngel.Relay.RelayDataE[0];
    TempRelay &= ReefAngel.Relay.RelayMaskOffE[0];
    TempRelay |= ReefAngel.Relay.RelayMaskOnE[0];
    ReefAngel.LCD.DrawOutletBox( 12, 106, TempRelay );
    pingSerial();

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

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

Re: Reef Angel Wizard

Posted: Thu Jun 14, 2012 7:45 pm
by rimai
Which value did you update with android?

Re: Reef Angel Wizard

Posted: Thu Jun 14, 2012 7:55 pm
by Mike S
The MH on and off hour and minute

Re: Reef Angel Wizard

Posted: Thu Jun 14, 2012 9:44 pm
by rimai
The function does not use those.
It actually offsets the StandardLights by x amount of minutes that you need to set on memory location ActinicOffset or 884.

Re: Reef Angel Wizard

Posted: Fri Jun 15, 2012 2:03 pm
by Mike S
That would explain it thanks! Is the memory function not available in the Android apps yet or am I just missing it?

Re: Reef Angel Wizard

Posted: Sat Jun 16, 2012 9:43 am
by Mike S
rimai wrote:The function does not use those.
It actually offsets the StandardLights by x amount of minutes that you need to set on memory location ActinicOffset or 884.

Is there a default offset for this? My actinics relays don't appear to be cycling on. I'm not seeing any ActinicOffset code in my memory or pde files nor in Ragen or the android app. I'm confused why those relays aren't just cycling on with my standards lights. Thanks Mike

Re: Reef Angel Wizard

Posted: Sat Jun 16, 2012 10:14 am
by rimai
No default value.
It's a brand new memory location that has not been included into the RAGen yet.
Use this:

Code: Select all

    InternalMemory.ActinicOffset_write(30);
Or custom memory on Android.

Re: Reef Angel Wizard

Posted: Sun Jun 17, 2012 4:50 am
by Mike S
Ah so that what that custom location is for on the Android apps. :D That worked like a charm thanks.

Re: Reef Angel Wizard

Posted: Sun Jun 17, 2012 6:44 am
by binder
I will be adding in the new memory locations to the app in the near future.

Re: Reef Angel Wizard

Posted: Tue Jun 26, 2012 11:54 am
by rimai
I need beta testers :)
I have the 2.0 beta version to be tested.
Please download the files needed here:
http://www.reefangel.com/files/wizardbeta2.0.zip
Extract the zip file and you will see 2 folders and 1 file.
Move the folder tools to Documents\Arduino and click "Yes" to any overwrite prompt
Move the folder update to Documents\Arduino
Move the file pde.jar to Program Files\Reef Angel Controller\lib and click "Yes" to any overwrite prompt
Let me know if you have problems getting it updated.

Reef Angel Wizard

Posted: Tue Jun 26, 2012 10:52 pm
by sebimme
I will test it!