Page 3 of 3

Re: Documentation

Posted: Fri Feb 20, 2015 5:54 am
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;//

Re: Documentation

Posted: Fri Feb 20, 2015 7:03 am
by cosmith71
Roberto, I found the login button. Thanks. :D

How does one create a new page?

--Colin

Re: Documentation

Posted: Fri Feb 20, 2015 7:47 am
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

Re: Documentation

Posted: Fri Feb 20, 2015 9:33 am
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);

Re: Documentation

Posted: Fri Feb 20, 2015 9:45 am
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;


Re: Documentation

Posted: Fri Feb 20, 2015 2:13 pm
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

Re: Documentation

Posted: Sun Feb 22, 2015 1:34 pm
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.

Re: Documentation

Posted: Sun Mar 01, 2015 3:03 am
by Naptalene
Work is getting the better of me. I'll get back onto it ASAP

Re: Documentation

Posted: Wed Mar 11, 2015 7:35 am
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

Re: Documentation

Posted: Wed Mar 11, 2015 12:33 pm
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 :)

Re: Documentation

Posted: Wed Mar 11, 2015 2:59 pm
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...

Re: Documentation

Posted: Wed Mar 11, 2015 3:30 pm
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 :)

Re: Documentation

Posted: Sat Mar 28, 2015 7:26 pm
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.

Re: Documentation

Posted: Thu Apr 02, 2015 6:20 am
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.

Re: Documentation

Posted: Sat Oct 03, 2015 6:34 pm
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)

Re: Documentation

Posted: Sat Oct 03, 2015 7:02 pm
by lnevo
You cant rename them. They have a serial number in them which determines their order