New User Questions
Re: New User Questions
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.
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.
-
- Posts: 245
- Joined: Tue Jan 28, 2014 11:10 am
- Location: Northern VA
Re: New User Questions
I used the "in the code (recommended for new users)" option in the wizard. Is that hard code?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.
So once I upload my code, don't even go into the settings in the head unit to adjust? Got it.
Jack
Re: New User Questions
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.
-
- Posts: 245
- Joined: Tue Jan 28, 2014 11:10 am
- Location: Northern VA
Re: New User Questions
Ok, thanks Lee. I will tinker w/ it tonight.
Can someone confirm this for me? Thanks.
Can someone confirm this for me? Thanks.
howaboutme wrote:I used the "in the code (recommended for new users)" option in the wizard. Is that hard code?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.
So once I upload my code, don't even go into the settings in the head unit to adjust? Got it.
Jack
Re: New User Questions
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.
-
- Posts: 245
- Joined: Tue Jan 28, 2014 11:10 am
- Location: Northern VA
Re: New User Questions
Thank you!rimai wrote:correct. same thing
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?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.
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
Re: New User Questions
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:
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.
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.
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);
Code: Select all
ReefAngel.StandardHeater (Port1);
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.
-
- Posts: 245
- Joined: Tue Jan 28, 2014 11:10 am
- Location: Northern VA
Re: New User Questions
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?rimai wrote: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?"Code: Select all
ReefAngel.StandardHeater (Port1);
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.
Thanks.
Jack
Re: New User Questions
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.
So, there are 2 codes being uploaded to the controller.
1 way street... you got it.
Roberto.
-
- Posts: 245
- Joined: Tue Jan 28, 2014 11:10 am
- Location: Northern VA
Re: New User Questions
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?
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
-
- Posts: 245
- Joined: Tue Jan 28, 2014 11:10 am
- Location: Northern VA
Re: New User Questions
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....
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
-
- Posts: 245
- Joined: Tue Jan 28, 2014 11:10 am
- Location: Northern VA
Re: New User Questions
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.
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
Re: New User Questions
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
You will need to compile to see how much it will end up at.
Sent from my Galaxy S3 using Tapatalk
Roberto.
-
- Posts: 245
- Joined: Tue Jan 28, 2014 11:10 am
- Location: Northern VA
Re: New User Questions
Ok, so just use the wizard and pretend I have the wifi module, correct? Thanks, Roberto!
Jack
-
- Posts: 245
- Joined: Tue Jan 28, 2014 11:10 am
- Location: Northern VA
Re: New User Questions
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?
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
Re: New User Questions
If you didnt choose dcpump, you may be ok..strange that it went down. Can you post the before/after code?
-
- Posts: 245
- Joined: Tue Jan 28, 2014 11:10 am
- Location: Northern VA
Re: New User Questions
Here is the code w/o the wifilnevo wrote:If you didnt choose dcpump, you may be ok..strange that it went down. Can you post the before/after code?
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();
}
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();
}
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();
}
Jack
Re: New User Questions
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...
< 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...
-
- Posts: 245
- Joined: Tue Jan 28, 2014 11:10 am
- Location: Northern VA
Re: New User Questions
Thanks, Lee
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.
So what is that and why wasn't it in the wifi code?lnevo wrote:
< ReefAngel.AddStandardMenu(); // Add Standard Menu
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
Re: New User Questions
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...
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...
-
- Posts: 245
- Joined: Tue Jan 28, 2014 11:10 am
- Location: Northern VA
Re: New User Questions
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.
Thanks a lot for all your help. I have much to learn.
Jack
Re: New User Questions
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.
I was on Prospect Park SW right by the Ocean Pkwy circle.
-
- Posts: 245
- Joined: Tue Jan 28, 2014 11:10 am
- Location: Northern VA
Re: New User Questions
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!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.
Jack
-
- Posts: 245
- Joined: Tue Jan 28, 2014 11:10 am
- Location: Northern VA
Re: New User Questions
Haha.. Yeah, what an awesome "grocery store"! What I really miss is Fresh Direct.
Sent from my Galaxy Nexus using Tapatalk
Sent from my Galaxy Nexus using Tapatalk
Jack
-
- Posts: 245
- Joined: Tue Jan 28, 2014 11:10 am
- Location: Northern VA
Re: New User Questions
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.
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
Re: New User Questions
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:
To this:
Then, you can use the app to override either port 3 or port4, which will also override the dimming channels.
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;
Code: Select all
ReefAngel.LightsOnPorts = Port3Bit | Port4Bit;
Roberto.
-
- Posts: 245
- Joined: Tue Jan 28, 2014 11:10 am
- Location: Northern VA
Re: New User Questions
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