New User Questions

New members questions
rimai
Posts: 12881
Joined: Fri Mar 18, 2011 6:47 pm

Re: New User Questions

Post by rimai »

The settings in the head unit will only work if you store your setting in memory when you create the code in the wizard.
If you chose hard coded, which I assume you did, don't even bother with the settings in the head unit.
The probe must be connected when you power up the unit to register the probe.
Roberto.
howaboutme
Posts: 245
Joined: Tue Jan 28, 2014 11:10 am
Location: Northern VA

Re: New User Questions

Post by howaboutme »

rimai wrote:The settings in the head unit will only work if you store your setting in memory when you create the code in the wizard.
If you chose hard coded, which I assume you did, don't even bother with the settings in the head unit.
The probe must be connected when you power up the unit to register the probe.
I used the "in the code (recommended for new users)" option in the wizard. Is that hard code?

So once I upload my code, don't even go into the settings in the head unit to adjust? Got it.
Jack
User avatar
lnevo
Posts: 5430
Joined: Fri Jul 20, 2012 9:42 am

Re: New User Questions

Post by lnevo »

The temp probes have an encoded serial number. The order t1 t2 t3 is determined by that number not the port you plug into. It will always be t1 if you only have one temp port.
howaboutme
Posts: 245
Joined: Tue Jan 28, 2014 11:10 am
Location: Northern VA

Re: New User Questions

Post by howaboutme »

Ok, thanks Lee. I will tinker w/ it tonight.

Can someone confirm this for me? Thanks.
howaboutme wrote:
rimai wrote:The settings in the head unit will only work if you store your setting in memory when you create the code in the wizard.
If you chose hard coded, which I assume you did, don't even bother with the settings in the head unit.
The probe must be connected when you power up the unit to register the probe.
I used the "in the code (recommended for new users)" option in the wizard. Is that hard code?

So once I upload my code, don't even go into the settings in the head unit to adjust? Got it.
Jack
rimai
Posts: 12881
Joined: Fri Mar 18, 2011 6:47 pm

Re: New User Questions

Post by rimai »

correct. same thing :)
Roberto.
User avatar
lnevo
Posts: 5430
Joined: Fri Jul 20, 2012 9:42 am

Re: New User Questions

Post by lnevo »

Once you get comfortable with how it's working, you *should* switch to the internal memory settings. then the menu settings would work properly. This is also how you will adjust things once your connected to the wifi and have an easy way to modify stored mem.
howaboutme
Posts: 245
Joined: Tue Jan 28, 2014 11:10 am
Location: Northern VA

Re: New User Questions

Post by howaboutme »

rimai wrote:correct. same thing :)
Thank you!
lnevo wrote:Once you get comfortable with how it's working, you *should* switch to the internal memory settings. then the menu settings would work properly. This is also how you will adjust things once your connected to the wifi and have an easy way to modify stored mem.
Ah..I got it now....Curious, what happens when I do adjust my settings from the head unit to be different from the hard code? Will the settings from the head unit not be taken into account? Does the code tell the controller to not include any possible adjustments made via the head unit?

How does using the hard code make it easier for me versus going straight to the internal memory? Is it purely easier to trouble shoot as stated in this past thread? http://forum.reefangel.com/viewtopic.php?f=15&t=3776
Jack
rimai
Posts: 12881
Joined: Fri Mar 18, 2011 6:47 pm

Re: New User Questions

Post by rimai »

The controller will just ignore any settings store in the memory when you hard coded it.
settings in the head unit=internal memory settings
The only reason it is recommended is because it is much easier to troubleshoot when you hard code, because the settings can be easily seen if you post your code for others to see.
If you store them in internal memory, we would have no way to see what's in there.
For example:

Code: Select all

ReefAngel.StandardHeater (Port1,780,790);
The line above is hard coded settings. It will tells right away that you have a heater in port 1 and that you want it to turn on at 78F and off at 79F. And that's all you need to do to get going.

Code: Select all

ReefAngel.StandardHeater (Port1);
The line above is with internal memory settings. It will also tell us that you have a heater on port1, but the turn on/off settings are not there. It's stored in your controllers' memory. It just made it harder to troubleshoot if you come up and say "Why is my heater not on?"
Also, in order for this to work as intended, there would be an extra step of storing your settings into the memory of the controller. This step can be handled by the wizard, but nonetheless it is an extra step.
Roberto.
howaboutme
Posts: 245
Joined: Tue Jan 28, 2014 11:10 am
Location: Northern VA

Re: New User Questions

Post by howaboutme »

rimai wrote:

Code: Select all

ReefAngel.StandardHeater (Port1);
The line above is with internal memory settings. It will also tell us that you have a heater on port1, but the turn on/off settings are not there. It's stored in your controllers' memory. It just made it harder to troubleshoot if you come up and say "Why is my heater not on?"
Also, in order for this to work as intended, there would be an extra step of storing your settings into the memory of the controller. This step can be handled by the wizard, but nonetheless it is an extra step.
So is there a separate file directly in the head unit that states the heater temperature (using your example above)? And if there is, we can't transfer code from the head unit to the computer, right? It's only a 1 way street? And that's why you can't see the heater settings when trouble shooting?

Thanks.
Jack
rimai
Posts: 12881
Joined: Fri Mar 18, 2011 6:47 pm

Re: New User Questions

Post by rimai »

Correct. When you choose internal memory settings, the wizard is going to generate a code with your settings and upload to the controller. Then, it will generate a second code with your actual code and upload to the controller.
So, there are 2 codes being uploaded to the controller.
1 way street... you got it.
Roberto.
howaboutme
Posts: 245
Joined: Tue Jan 28, 2014 11:10 am
Location: Northern VA

Re: New User Questions

Post by howaboutme »

ok, let me try to reiterate what I just learned...

When I use internal memory, the wizard (or me eventually) will create 2 codes. 1 code are actual codes (like port 1 has a heater, port 2 a light, etc) while the 2nd code are the variables (or my settings like temp. or turn on/off time for lights). Once both are uploaded, I have the ability to adjust directly w/ the head unit. But once I choose to do that, the 2nd code will change on the fly. But since it's a 1-way street, it will not be possible to view that code as is (for trouble shoot, for example). The only code I will have available is the original code.

Do I have the concept down?
Jack
howaboutme
Posts: 245
Joined: Tue Jan 28, 2014 11:10 am
Location: Northern VA

Re: New User Questions

Post by howaboutme »

Ok so everything works, including the temp probe. At least in theory since I haven't plugged any tank equipment to the relay box yet. I will tinker with it a bit more and then decide on any new additions before I actually install it, I think.

I realized that the wifi module doesn't allow you the ability to upload code, that's a disappointment. Has there been a work around lately? Will the client suite do this? I thought I browsed somewhere that people were trying to do this....
Jack
User avatar
lnevo
Posts: 5430
Joined: Fri Jul 20, 2012 9:42 am

Re: New User Questions

Post by lnevo »

Theres a bluetooth module.
howaboutme
Posts: 245
Joined: Tue Jan 28, 2014 11:10 am
Location: Northern VA

Re: New User Questions

Post by howaboutme »

Ah ok. I didn't find the bluetooth module on the site but did find the forum thread.

Another question. The current code is about 22K. Will the extra memory be enough to add the wifi module and it's code? I don't know what else is taking up memory on the board and how much.
Jack
rimai
Posts: 12881
Joined: Fri Mar 18, 2011 6:47 pm

Re: New User Questions

Post by rimai »

There is no way to tell.
You will need to compile to see how much it will end up at.

Sent from my Galaxy S3 using Tapatalk
Roberto.
howaboutme
Posts: 245
Joined: Tue Jan 28, 2014 11:10 am
Location: Northern VA

Re: New User Questions

Post by howaboutme »

Ok, so just use the wizard and pretend I have the wifi module, correct? Thanks, Roberto!
Jack
howaboutme
Posts: 245
Joined: Tue Jan 28, 2014 11:10 am
Location: Northern VA

Re: New User Questions

Post by howaboutme »

So I just re-created a code w/ the wizard by adding the wifi module to the code that I generated previously. When I went to upload this code, it told me that there is 29.5K of flash written. After looking at the wifi module instructions, I also uploaded (afterwards) the "wifitestcode". After it uploaded that, it said only 27.9K of flash written. How did it go down if I added more code to the previous?

Remember, I'm only testing to see if I have enough room on my board to install the wifi module w/o the + board. With the 2 different memory used numbers, I am confused.

Am I doing a somewhat accurate measurement of how much memory may be needed?
Jack
User avatar
lnevo
Posts: 5430
Joined: Fri Jul 20, 2012 9:42 am

Re: New User Questions

Post by lnevo »

If you didnt choose dcpump, you may be ok..strange that it went down. Can you post the before/after code?
howaboutme
Posts: 245
Joined: Tue Jan 28, 2014 11:10 am
Location: Northern VA

Re: New User Questions

Post by howaboutme »

lnevo wrote:If you didnt choose dcpump, you may be ok..strange that it went down. Can you post the before/after code?
Here is the code w/o the wifi

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 <Humidity.h>
#include <DCPump.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.AddStandardMenu();  // Add Standard Menu

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


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

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

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

void loop()
{
    ReefAngel.StandardLights( Port3,13,30,21,30 );
    ReefAngel.StandardLights( Port4,14,30,20,30 );
    ReefAngel.Wavemaker( Port5,60 );
    ReefAngel.Wavemaker( Port6,60 );
    ReefAngel.StandardHeater( Port7,770,790 );
    ////// Place your custom code below here
    

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

    // This should always be the last line
    ReefAngel.ShowInterface();
}


Here is the code w/ the wifi

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 <Humidity.h>
#include <DCPump.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 = Port5Bit | Port6Bit;
    // Ports toggled in Water Change Mode
    ReefAngel.WaterChangePorts = Port2Bit | Port5Bit | Port6Bit | Port7Bit;
    // Ports toggled when Lights On / Off menu entry selected
    ReefAngel.LightsOnPorts = 0;
    // Ports turned off when Overheat temperature exceeded
    ReefAngel.OverheatShutoffPorts = Port7Bit;
    // Use T1 probe as temperature and overheat functions
    ReefAngel.TempProbe = T1_PROBE;
    ReefAngel.OverheatProbe = T1_PROBE;
    // Set the Overheat temperature setting
    InternalMemory.OverheatTemp_write( 830 );


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

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

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

void loop()
{
    ReefAngel.StandardLights( Port3,13,30,21,30 );
    ReefAngel.StandardLights( Port4,14,30,20,30 );
    ReefAngel.Wavemaker( Port5,60 );
    ReefAngel.Wavemaker( Port6,60 );
    ReefAngel.StandardHeater( Port7,770,790 );
    ////// Place your custom code below here
    

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

    // This should always be the last line
    ReefAngel.Portal( "howaboutme" );
    ReefAngel.ShowInterface();
}
Seems like the only difference is the last couple of lines.

here is the wifi test code just in case:

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 <Humidity.h>
#include <DCPump.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 = Port5Bit | Port6Bit;
    // Ports toggled in Water Change Mode
    ReefAngel.WaterChangePorts = Port2Bit | Port5Bit | Port6Bit | Port7Bit;
    // Ports toggled when Lights On / Off menu entry selected
    ReefAngel.LightsOnPorts = 0;
    // Ports turned off when Overheat temperature exceeded
    ReefAngel.OverheatShutoffPorts = Port7Bit;
    // Use T1 probe as temperature and overheat functions
    ReefAngel.TempProbe = T1_PROBE;
    ReefAngel.OverheatProbe = T1_PROBE;
    // Set the Overheat temperature setting
    InternalMemory.OverheatTemp_write( 830 );


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

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

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

void loop()
{
    ReefAngel.StandardLights( Port3,13,30,21,30 );
    ReefAngel.StandardLights( Port4,14,30,20,30 );
    ReefAngel.Wavemaker( Port5,60 );
    ReefAngel.Wavemaker( Port6,60 );
    ReefAngel.StandardHeater( Port7,770,790 );
    ////// Place your custom code below here
    

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

    // This should always be the last line
    ReefAngel.Portal( "howaboutme" );
    ReefAngel.ShowInterface();
}
Remember I uploaded this after the code w/ the wifi.
Jack
User avatar
lnevo
Posts: 5430
Joined: Fri Jul 20, 2012 9:42 am

Re: New User Questions

Post by lnevo »

This takes a lot of code..

< ReefAngel.AddStandardMenu(); // Add Standard Menu

It is in your non wi-fi code, but not in your wi-fi code.

I get 39k and 35k respectively (non wi-fi / wifi) Both seem more than will fit on the Standard. YMMV (I have different stuff in my libraries...)

Edit: Strange... 27k and 29k if I select your Board type... 34k if I add StandardMenu to the Wifi version...
howaboutme
Posts: 245
Joined: Tue Jan 28, 2014 11:10 am
Location: Northern VA

Re: New User Questions

Post by howaboutme »

Thanks, Lee
lnevo wrote:
< ReefAngel.AddStandardMenu(); // Add Standard Menu
So what is that and why wasn't it in the wifi code?

Oh and quickly off topic...where in NY are you? I was NYer before moving to the DC area. I went to grad school in the city and lived in many places between Manhattan and Brooklyn....miss the area very badly. Thanks again for your help.
Jack
User avatar
lnevo
Posts: 5430
Joined: Fri Jul 20, 2012 9:42 am

Re: New User Questions

Post by lnevo »

I live on Long Island (Bellmore) and grew up in the town over (Merrick). I work in Manhattan but I also spent 7-8 years living in Brooklyn (Greenpoint/Williamsburg and Park Slope)

The reason the menu is probably not in the wifi is because if you have the wifi you can set all those menu entries from the portal. And then obviously because the wifi takes up space so to balance it out...
howaboutme
Posts: 245
Joined: Tue Jan 28, 2014 11:10 am
Location: Northern VA

Re: New User Questions

Post by howaboutme »

My wife and I lived in Windsor Terrace for a few years prior to our current location...right next to Park Slope.

Thanks a lot for all your help. I have much to learn.
Jack
User avatar
lnevo
Posts: 5430
Joined: Fri Jul 20, 2012 9:42 am

Re: New User Questions

Post by lnevo »

I was actually in Windsor Terrace but no one knows where that is lol.

I was on Prospect Park SW right by the Ocean Pkwy circle.
howaboutme
Posts: 245
Joined: Tue Jan 28, 2014 11:10 am
Location: Northern VA

Re: New User Questions

Post by howaboutme »

lnevo wrote:I was actually in Windsor Terrace but no one knows where that is lol.

I was on Prospect Park SW right by the Ocean Pkwy circle.
No way! We were on 11th Avenue and Prospect Avenue, near the Key Food. It would be really crazy if you were there at the same time. We were last there in Dec. 2010. Small world regardless!
Jack
User avatar
lnevo
Posts: 5430
Joined: Fri Jul 20, 2012 9:42 am

Re: New User Questions

Post by lnevo »

Moved out in May 2009. I miss that Key Food :)
howaboutme
Posts: 245
Joined: Tue Jan 28, 2014 11:10 am
Location: Northern VA

Re: New User Questions

Post by howaboutme »

Haha.. Yeah, what an awesome "grocery store"! What I really miss is Fresh Direct.

Sent from my Galaxy Nexus using Tapatalk
Jack
howaboutme
Posts: 245
Joined: Tue Jan 28, 2014 11:10 am
Location: Northern VA

Re: New User Questions

Post by howaboutme »

A couple of more questions:

1. I'm looking to get a USB extension so I can hook up the head unit to my computer when updating codes, etc and was wondering if there's any issues with a potential 15'+ connection to the computer such has diminished speed or other unknown problems?

2. When I hook my LED lights to the relay box (2 channels/plugs) to control the on/off via the internal timer, is there a way to override that? For example, if I want to turn on the lights for maintenance before they are scheduled to turn non by themselves, what would I need to do? Is there an override in the head unit or does it require modifying code?

Thanks in advance.
Jack
rimai
Posts: 12881
Joined: Fri Mar 18, 2011 6:47 pm

Re: New User Questions

Post by rimai »

You need to use an active USB extension cable.
I think an extension cable without the booster won't work.

Using the code you posted earlier, you need to change this:

Code: Select all

ReefAngel.LightsOnPorts = 0;
To this:

Code: Select all

ReefAngel.LightsOnPorts = Port3Bit | Port4Bit;
Then, you can use the app to override either port 3 or port4, which will also override the dimming channels.
Roberto.
howaboutme
Posts: 245
Joined: Tue Jan 28, 2014 11:10 am
Location: Northern VA

Re: New User Questions

Post by howaboutme »

For the updated code, you mentioned using the app. Assume no wifi attachment (yet) and app. Can this be done through the head unit only? Thanks.
Jack
Post Reply