Documentation
Re: Documentation
And another,
Rope leak detector:
{
ReefAngel.LeakShutoffPorts = 0; // Turn off port if leaks are detected
}
I assume thats for the standard relay box.
If we use an expansion relay?
ReefAngel.LeakShutoffPorts = Box1_Port1;//
and on both?
ReefAngel.LeakShutoffPorts = 0,Box1_Port1;//
Rope leak detector:
{
ReefAngel.LeakShutoffPorts = 0; // Turn off port if leaks are detected
}
I assume thats for the standard relay box.
If we use an expansion relay?
ReefAngel.LeakShutoffPorts = Box1_Port1;//
and on both?
ReefAngel.LeakShutoffPorts = 0,Box1_Port1;//
Believe it or not.... I can ask even stupider questions than this one.
Re: Documentation
Roberto, I found the login button. Thanks.
How does one create a new page?
--Colin
How does one create a new page?
--Colin
Re: Documentation
you need to edit a page and create a link to the new page. then it will allow you to create the new page.cosmith71 wrote:Roberto, I found the login button. Thanks.
How does one create a new page?
--Colin
Sent from my iPad mini
Re: Documentation
I/O Expansion Module
It has 6 channels. Channel 0 through 5
We can check for status of each channel by using ReefAngel.IO.GetChannel( channel ), where channel is a value from 0 to 5.
Example
Let's check if the float switch connected to channel 3 of I/O Expansion module is floating and if it is, turn on port 1 of the relay box:
Power Control Expansion Module
It has 8 ports. It works just like a relay expansion module. The ports are referenced the same way.
Relay and Power Control Expansion modules can be mix/matched and up to 8 can be connected to the system.
Each one needs its own ID, which can be set by changing the dip switch inside the module. The IDs can be set from 1 to 8.
Each port can be referenced using this ID. So, for example you want to reference port 3 of the box ID 1, you would use Box1_Port3.
To turn on/off a port, you can use ReefAngel.Relay.On( port ) and ReefAngel.Relay.Off( port ), where port is the name of the port depending on the ID you have set explained above.
Example
Let's check if the float switch connected to ATO Low port is floating (not active) and if it is, turn on port 3 of the Power Control Expansion module set to ID 1
It has 6 channels. Channel 0 through 5
We can check for status of each channel by using ReefAngel.IO.GetChannel( channel ), where channel is a value from 0 to 5.
Example
Let's check if the float switch connected to channel 3 of I/O Expansion module is floating and if it is, turn on port 1 of the relay box:
Code: Select all
if (ReefAngel.IO.GetChannel(3))
ReefAngel.Relay.On( Port1);
else
ReefAngel.Relay.Off( Port1);
It has 8 ports. It works just like a relay expansion module. The ports are referenced the same way.
Relay and Power Control Expansion modules can be mix/matched and up to 8 can be connected to the system.
Each one needs its own ID, which can be set by changing the dip switch inside the module. The IDs can be set from 1 to 8.
Each port can be referenced using this ID. So, for example you want to reference port 3 of the box ID 1, you would use Box1_Port3.
To turn on/off a port, you can use ReefAngel.Relay.On( port ) and ReefAngel.Relay.Off( port ), where port is the name of the port depending on the ID you have set explained above.
Example
Let's check if the float switch connected to ATO Low port is floating (not active) and if it is, turn on port 3 of the Power Control Expansion module set to ID 1
Code: Select all
if (!ReefAngel.LowATO.IsActive())
ReefAngel.Relay.On( Box1_Port3);
else
ReefAngel.Relay.Off( Box1_Port3);
Roberto.
Re: Documentation
You can set each port, on the main relay box or on any expansion module to be turn on/off depending on which mode or special conditions.
We have 2 modes: feeding and water change and 3 special modes: lights on, overheat and leak detection.
Example
Let's turn port 1 and port 7 of the main relay box on feeding mode:
Let's turn port 2 of the main relay box and port 5 of relay expansion box ID 1 on feeding mode:
Note: The ID is actually decremented by 1 when you reference them in this code.
Other modes and special conditions you can set:
We have 2 modes: feeding and water change and 3 special modes: lights on, overheat and leak detection.
Example
Let's turn port 1 and port 7 of the main relay box on feeding mode:
Code: Select all
// Ports toggled in Feeding Mode
ReefAngel.FeedingModePorts = Port1Bit | Port7Bit;
Note: The ID is actually decremented by 1 when you reference them in this code.
Code: Select all
// Ports toggled in Feeding Mode
ReefAngel.FeedingModePorts = Port2Bit;
ReefAngel.FeedingModePortsE[0] = Port5Bit;
Code: Select all
// Ports toggled in Water Change Mode
ReefAngel.WaterChangePorts = 0;
ReefAngel.WaterChangePortsE[0] = 0;
// Ports toggled when Lights On / Off menu entry selected
ReefAngel.LightsOnPorts = 0;
ReefAngel.LightsOnPortsE[0] = 0;
// Ports turned off when Overheat temperature exceeded
ReefAngel.OverheatShutoffPorts = 0;
ReefAngel.OverheatShutoffPortsE[0] = 0;
// Ports turned off when Leak is detected
ReefAngel.LeakShutoffPorts = 0;
ReefAngel.LeakShutoffPortsE[0] = 0;
Roberto.
Re: Documentation
You can also set a delay on ports turning on after feeding or water change
This is placed in the loop. (port,timeinminutes)
I use it to delay starting my in sump skimmer
Code: Select all
ReefAngel.Relay.DelayedOn(Port7,1);
I use it to delay starting my in sump skimmer
Re: Documentation
Thanks gents.
A big penny dropped with the power expander being addressed the same as a relay box.
I'll double check the layout wrt the modes, and I prefer having it all in your guys words.
WRT the delayed ports etc.
I was thinking of setting up a Wizard page.
In that page have list of those port modes etc. That you can choose for the relay boxes.
A big penny dropped with the power expander being addressed the same as a relay box.
I'll double check the layout wrt the modes, and I prefer having it all in your guys words.
WRT the delayed ports etc.
I was thinking of setting up a Wizard page.
In that page have list of those port modes etc. That you can choose for the relay boxes.
Believe it or not.... I can ask even stupider questions than this one.
Re: Documentation
Work is getting the better of me. I'll get back onto it ASAP
Believe it or not.... I can ask even stupider questions than this one.
Re: Documentation
Hello,
I got time again today. It's starting to flesh out but I think it still makes for easy navigation.
http://reefangelcontrollerdocuments.wik ... ments_Wiki
I havent added the last bit of code you supplied to me but hopefully I'll get that in tomorrow.
Cheers
I got time again today. It's starting to flesh out but I think it still makes for easy navigation.
http://reefangelcontrollerdocuments.wik ... ments_Wiki
I havent added the last bit of code you supplied to me but hopefully I'll get that in tomorrow.
Cheers
Believe it or not.... I can ask even stupider questions than this one.
Re: Documentation
Andrew, it would be great if there were a link of To Do items in the wiki. Could you create a list of topics that still need to be covered so someone who wants to contribute like myself can see where their efforts are best spent
Re: Documentation
Absolutely!!
I'll set it up tomorrow.
It would be awesome if you could check and fill in the "code" sections for the expansions and modes etc.
I'm a bit vague mysel. I think the simpler format I got works but I'm sure I've missed commands or have gotten the nomenclature incorrect in places.
Then the "proper coders" section... With the actual libraries etc. is that not already done on the existing wiki?
And examples..... I'm so out of my depth there. I started trying to give an example per expansion/item on the main page. Does that make sense?
Shall we still do a "commonly requested code" page?
I just started fiddling with memory locations and discovered the portal/ app areas.
I found one thread showing how to change from code to memory by just removing the arguments for the dosing pumps.
Could you do an explanation? And perhaps we list a "code line turns into this for memory" for each of the available memory types ( the standard ones accessed by the portal - maybe put the heavy technical allocations under the coders section?)
I'll post all that up though:)
I'm a scatter brain remember...
I'll set it up tomorrow.
It would be awesome if you could check and fill in the "code" sections for the expansions and modes etc.
I'm a bit vague mysel. I think the simpler format I got works but I'm sure I've missed commands or have gotten the nomenclature incorrect in places.
Then the "proper coders" section... With the actual libraries etc. is that not already done on the existing wiki?
And examples..... I'm so out of my depth there. I started trying to give an example per expansion/item on the main page. Does that make sense?
Shall we still do a "commonly requested code" page?
I just started fiddling with memory locations and discovered the portal/ app areas.
I found one thread showing how to change from code to memory by just removing the arguments for the dosing pumps.
Could you do an explanation? And perhaps we list a "code line turns into this for memory" for each of the available memory types ( the standard ones accessed by the portal - maybe put the heavy technical allocations under the coders section?)
I'll post all that up though:)
I'm a scatter brain remember...
Believe it or not.... I can ask even stupider questions than this one.
Re: Documentation
Yeah, just put in a list and we'll start knocking them out one by one. Maybe keep that in a dedicated thread and we can clean it up as we move to a section of the Wiki (maybe leaving the link behind). My trouble is document management, but I can answer questions all day
Re: Documentation
I think it is great what you guys are putting together here.
I would put myself in the category of persons needing this document since I have no idea what to do with coding and I have not even purchased the RA yet.
I hope it is fully operational by the time i am able to afford it.
If you need someone's opinion on readability by someone who is not coding inclined, I would be more than willing to help out any way i can. I would like to learn as much as i can about the RA and this document I think will really help.
I would put myself in the category of persons needing this document since I have no idea what to do with coding and I have not even purchased the RA yet.
I hope it is fully operational by the time i am able to afford it.
If you need someone's opinion on readability by someone who is not coding inclined, I would be more than willing to help out any way i can. I would like to learn as much as i can about the RA and this document I think will really help.
Re: Documentation
Wow work has gotten the better of me at the moment.
I havent forgotten about it but just have not had any free time (which is a good thing in a strange way lol)
I'll check the to do list and try catch up again.
I havent forgotten about it but just have not had any free time (which is a good thing in a strange way lol)
I'll check the to do list and try catch up again.
Believe it or not.... I can ask even stupider questions than this one.
-
- Posts: 51
- Joined: Wed Sep 16, 2015 8:12 am
Re: Documentation
Just checking in, I agree I love the setup but I have so many questions! I guess with time the documentation will grow and grow
I commented this in the one wiki:
I had a 3ft temp probe originally, I just got a 10ft.
It seems that no matter the port I plug each into, the 3ft registers as T1 and the 10ft registers as T2.
How do I switch them to 10ft=T1 and 3ft=T2?
(even through a RA reset, it seems the 3ft probe retains T1 position)
I commented this in the one wiki:
I had a 3ft temp probe originally, I just got a 10ft.
It seems that no matter the port I plug each into, the 3ft registers as T1 and the 10ft registers as T2.
How do I switch them to 10ft=T1 and 3ft=T2?
(even through a RA reset, it seems the 3ft probe retains T1 position)
Re: Documentation
You cant rename them. They have a serial number in them which determines their order