Documentation

Would you like to help?
Share your walkthrough tutorial with others
Naptalene
Posts: 98
Joined: Tue Nov 05, 2013 12:50 am

Re: Documentation

Post by Naptalene »

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;//
Believe it or not.... I can ask even stupider questions than this one.
User avatar
cosmith71
Posts: 1432
Joined: Fri Mar 29, 2013 3:51 pm
Location: Oklahoma City

Re: Documentation

Post by cosmith71 »

Roberto, I found the login button. Thanks. :D

How does one create a new page?

--Colin
binder
Posts: 2865
Joined: Fri Mar 18, 2011 6:20 pm
Location: Illinois
Contact:

Re: Documentation

Post by binder »

cosmith71 wrote:Roberto, I found the login button. Thanks. :D

How does one create a new page?

--Colin
you need to edit a page and create a link to the new page. then it will allow you to create the new page.


Sent from my iPad mini
rimai
Posts: 12857
Joined: Fri Mar 18, 2011 6:47 pm

Re: Documentation

Post by rimai »

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:

Code: Select all

if (ReefAngel.IO.GetChannel(3))
  ReefAngel.Relay.On( Port1);
else
  ReefAngel.Relay.Off( Port1);
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

Code: Select all

if (!ReefAngel.LowATO.IsActive())
  ReefAngel.Relay.On( Box1_Port3);
else
  ReefAngel.Relay.Off( Box1_Port3);
Roberto.
rimai
Posts: 12857
Joined: Fri Mar 18, 2011 6:47 pm

Re: Documentation

Post by rimai »

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:

Code: Select all

    // Ports toggled in Feeding Mode
    ReefAngel.FeedingModePorts = Port1Bit | Port7Bit;
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.

Code: Select all

    // Ports toggled in Feeding Mode
    ReefAngel.FeedingModePorts = Port2Bit;
    ReefAngel.FeedingModePortsE[0] = Port5Bit;
Other modes and special conditions you can set:

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.
jegillis
Posts: 86
Joined: Sat Jan 04, 2014 10:26 am

Re: Documentation

Post by jegillis »

You can also set a delay on ports turning on after feeding or water change

Code: Select all

ReefAngel.Relay.DelayedOn(Port7,1);
This is placed in the loop. (port,timeinminutes)


I use it to delay starting my in sump skimmer
Image
Naptalene
Posts: 98
Joined: Tue Nov 05, 2013 12:50 am

Re: Documentation

Post by Naptalene »

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.
Believe it or not.... I can ask even stupider questions than this one.
Naptalene
Posts: 98
Joined: Tue Nov 05, 2013 12:50 am

Re: Documentation

Post by Naptalene »

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.
Naptalene
Posts: 98
Joined: Tue Nov 05, 2013 12:50 am

Re: Documentation

Post by Naptalene »

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
Believe it or not.... I can ask even stupider questions than this one.
User avatar
lnevo
Posts: 5422
Joined: Fri Jul 20, 2012 9:42 am

Re: Documentation

Post by lnevo »

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 :)
Naptalene
Posts: 98
Joined: Tue Nov 05, 2013 12:50 am

Re: Documentation

Post by Naptalene »

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...
Believe it or not.... I can ask even stupider questions than this one.
User avatar
lnevo
Posts: 5422
Joined: Fri Jul 20, 2012 9:42 am

Re: Documentation

Post by lnevo »

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 :)
MDB1029
Posts: 178
Joined: Wed Nov 12, 2014 3:10 pm
Location: An Oklahoman in Ohio

Re: Documentation

Post by MDB1029 »

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.
Image
Naptalene
Posts: 98
Joined: Tue Nov 05, 2013 12:50 am

Re: Documentation

Post by Naptalene »

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.
Believe it or not.... I can ask even stupider questions than this one.
Kungpaoshizi
Posts: 51
Joined: Wed Sep 16, 2015 8:12 am

Re: Documentation

Post by Kungpaoshizi »

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)
User avatar
lnevo
Posts: 5422
Joined: Fri Jul 20, 2012 9:42 am

Re: Documentation

Post by lnevo »

You cant rename them. They have a serial number in them which determines their order
Post Reply