Documentation

Would you like to help?
Share your walkthrough tutorial with others
User avatar
cosmith71
Posts: 1437
Joined: Fri Mar 29, 2013 3:51 pm
Location: Oklahoma City

Re: Documentation

Post by cosmith71 »

That's what I was afraid of. :lol:

I found a stand-alone Markdown editor that looks promising.

I can't seem to clone the Wiki section. I hit "Clone in Desktop" and the desktop app gives me a big error.

--Colin
Naptalene
Posts: 98
Joined: Tue Nov 05, 2013 12:50 am

Re: Documentation

Post by Naptalene »

Ok, I have no clue how to do any of the Wiki stuff but I can happily try get headings etc. together as a structure and keep this thread running.

But you guys do realize the standard, off the street user has no clue about github at all?
They are used to a file they can just click and get the info.
Maybe some "normal" users can chime in here?
Believe it or not.... I can ask even stupider questions than this one.
jegillis
Posts: 86
Joined: Sat Jan 04, 2014 10:26 am

Re: Documentation

Post by jegillis »

Im a "normal" user and I know what github is my grandmother not so much. Any user can click a link to the Wiki the fact that it is on github should not make any difference.
Image
Naptalene
Posts: 98
Joined: Tue Nov 05, 2013 12:50 am

Re: Documentation

Post by Naptalene »

Ok cool :)
Believe it or not.... I can ask even stupider questions than this one.
User avatar
lnevo
Posts: 5430
Joined: Fri Jul 20, 2012 9:42 am

Re: Documentation

Post by lnevo »

The only thing that we need and the reason for a wiki is it's a central way for us to maintain a document. We could just as easily create a google doc that we can update too. Doesn't matter to me. Just once we're done whether its this thread or another, tell me what examples you want and we can start coding. I'd rather answer one person's question once and have someone put it into the central doc then answer the same question 10 times on the forum anyday :)
Naptalene
Posts: 98
Joined: Tue Nov 05, 2013 12:50 am

Re: Documentation

Post by Naptalene »

Question....

Are we going for a manual on the RA bits and their unique code, or an area of "Cutnpaste" code of commonly requested code that you can tweak? Or possibly both? Sorry to be pedantic but I think that if we have a clear idea of what we're going for it will be easier to attain.
Believe it or not.... I can ask even stupider questions than this one.
User avatar
cosmith71
Posts: 1437
Joined: Fri Mar 29, 2013 3:51 pm
Location: Oklahoma City

Re: Documentation

Post by cosmith71 »

Definitely both.
User avatar
lnevo
Posts: 5430
Joined: Fri Jul 20, 2012 9:42 am

Re: Documentation

Post by lnevo »

I can either supply code blocks or explanations of how things work. Doesn't really matter to me. What do you think "normal" users would need... I'm fine with both :)
Naptalene
Posts: 98
Joined: Tue Nov 05, 2013 12:50 am

Re: Documentation

Post by Naptalene »

Hi, my name's Andrew and I'm Normal lol.

I think it's settled for both ideally.
What if we do this for structure:

RAplus

1. Std Relay unit

1.1 description
1.2 port names
1.3 defining user assigned port names
1.4 how to turn ports on or off
1.5 example using T1 as main probe with in depth comments
1.6 links to Temp probes

2. Input ports

1.1 description
1.2 port names
1.3 defining user assigned port names
1.4 how to read the status of the input
1.5 example using standard ATO code
1.6 commonly requested code
1.6 links to relay,

On temp probes we could link to PWM as well and show how you can change fan speed based on probe reading.

What do you think?
Believe it or not.... I can ask even stupider questions than this one.
jegillis
Posts: 86
Joined: Sat Jan 04, 2014 10:26 am

Re: Documentation

Post by jegillis »

Could go through the How do I section and make an article for the most commonly requested items.
Image
User avatar
lnevo
Posts: 5430
Joined: Fri Jul 20, 2012 9:42 am

Re: Documentation

Post by lnevo »

I'm not sure what is expected for some of those headings.. but that's cause I'm not a normal user.

What are "links to Temp probes"

How do temp probes get classified under the relay unit?

I don't think there's any user-assigned port names for input ports..
Naptalene
Posts: 98
Joined: Tue Nov 05, 2013 12:50 am

Re: Documentation

Post by Naptalene »

A Link to the section on temp probes.... Not sure what else I can say?
You would've just had T1 in the example so link to that item so guys can learn.

I forgot that I re-labelled my input and output ports via the portal and not in the code.
My ATO high is "skimmer kill" and low is "power status" or vice versa, I can't recall.
So we get rid of that. I'm just trying to get a layout that you guys think could work.
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 »

I just re-read your post.....

I think you see it as a "class and commands for that class" document and in my head I think of it as an almost linear read like an instruction manual.....

I'm really feeling like the village idiot talking to the wisemen right now.
Believe it or not.... I can ask even stupider questions than this one.
rimai
Posts: 12881
Joined: Fri Mar 18, 2011 6:47 pm

Re: Documentation

Post by rimai »

Naptalene wrote:Hi, my name's Andrew and I'm Normal lol.

I think it's settled for both ideally.
What if we do this for structure:

RAplus

1. Std Relay unit

1.1 description
1.2 port names
1.3 defining user assigned port names
1.4 how to turn ports on or off
1.5 example using T1 as main probe with in depth comments
1.6 links to Temp probes

2. Input ports

1.1 description
1.2 port names
1.3 defining user assigned port names
1.4 how to read the status of the input
1.5 example using standard ATO code
1.6 commonly requested code
1.6 links to relay,

On temp probes we could link to PWM as well and show how you can change fan speed based on probe reading.

What do you think?
I like the structure :)
Roberto.
Naptalene
Posts: 98
Joined: Tue Nov 05, 2013 12:50 am

Re: Documentation

Post by Naptalene »

Coolest.

I'll try make a list like that for all the units/ expanders to start off with.

And as mentioned using the "how do I code" thread as a reference for commonly needed code is a great idea.
Do you guys have a clever way of figuring that out or shall I be DataCapturer 1st Class?
Believe it or not.... I can ask even stupider questions than this one.
User avatar
cosmith71
Posts: 1437
Joined: Fri Mar 29, 2013 3:51 pm
Location: Oklahoma City

Re: Documentation

Post by cosmith71 »

Naptalene wrote:I just re-read your post.....

I think you see it as a "class and commands for that class" document and in my head I think of it as an almost linear read like an instruction manual.....

I'm really feeling like the village idiot talking to the wisemen right now.
I understand what you mean. You want something that introduces a topic and then explains how it works, right?

--Colin
Naptalene
Posts: 98
Joined: Tue Nov 05, 2013 12:50 am

Re: Documentation

Post by Naptalene »

Yes!!! Thank you for putting it into English. I don't think it's just me who would appreciate it.
And perhaps we then have a final point for each topic which would link to a proper Referance list for the more serious coders, so it's all there for them/you guys.
Believe it or not.... I can ask even stupider questions than this one.
User avatar
lnevo
Posts: 5430
Joined: Fri Jul 20, 2012 9:42 am

Re: Documentation

Post by lnevo »

Yeah sorry just trying to understand the laymen's perspective. I frequently don't think about naming ports for the portal or screen than i do for usage in the code....just trying to follow the other view.
User avatar
lnevo
Posts: 5430
Joined: Fri Jul 20, 2012 9:42 am

Re: Documentation

Post by lnevo »

I think screen labels are generic we should have a section for naming things and break out the different kinds of naming :)
User avatar
cosmith71
Posts: 1437
Joined: Fri Mar 29, 2013 3:51 pm
Location: Oklahoma City

Re: Documentation

Post by cosmith71 »

One way to do it would be to break it down into systems.

Relays, programming relays, naming relays, dosing pumps, etc...

DC Pumps, modes and programming.

PWM lighting

etc
Naptalene
Posts: 98
Joined: Tue Nov 05, 2013 12:50 am

Re: Documentation

Post by Naptalene »

lnevo wrote:Yeah sorry just trying to understand the laymen's perspective. I frequently don't think about naming ports for the portal or screen than i do for usage in the code....just trying to follow the other view.
I'm on the opposite side of the fence :)

cosmith71 wrote:One way to do it would be to break it down into systems.

Relays, programming relays, naming relays, dosing pumps, etc...

DC Pumps, modes and programming.

PWM lighting

etc
That's what I was thinking. So it's easy to find an explanation and examples for the single thing a user is trying to do.
lnevo wrote:I think screen labels are generic we should have a section for naming things and break out the different kinds of naming :)
Perfect. Nice and easy for a non programmer to think in terms of "skimmer" not "port3"

It's the weekend and kids time:)
I'll go through the units and try draw up a draft of subheadings, then you guys can change it and I'll re-submit it. Give me day or 2 :D
Believe it or not.... I can ask even stupider questions than this one.
Jim_J
Posts: 13
Joined: Sat Jun 15, 2013 3:21 pm

Re: Documentation

Post by Jim_J »

Im an normal user with some experience of programming, and Ive been spending the last two days spawning the forums for explanations how to use different functions or classes, so i think a wiki like you're talking about would be great!
Just a simple thing like knowing how to use the DCPump class, and what arguments the different modes expecting is a dreadful task to find info about. I guess its possible to find out if you know how to read and understanding the libraries, but in my case i don't understand so much :)
Naptalene
Posts: 98
Joined: Tue Nov 05, 2013 12:50 am

Re: Documentation

Post by Naptalene »

Here's what I was thinking.....

Been very busy so it's all I've been able to do (I did it from memory at work so I may have gotten navigation wrong :roll: ) but imagine each unit in this style, with a list as just mentioned and links to the wiki?

Do I continue? I'll obviously ensure that everything is as correct as possible.


ReefAngel

1. Head Unit

1. PH Probe

1.1 Standard Setup

The Reef Angel Controller comes standard with one PH port and a PH probe.
This allows you to moniter your PH and plot graphs via the Portal.
The probe is connected via a standard BNC connector.
Once you have applied power to the RA you should see numerical values under the “PH” heading.
The next step is to calibrate the Probe. This will ensure you get the correct PH reading and will require Stock PH solutions of PH7 & PH10 which most LFS' carry.

Push down on the HeadUnit's joystick and you will enter the “Settings” page.
Scroll down to PH calibration.
Push the joystick to begin the calibration.
Place the PH probe in the PH7 solution and let it sit until the values stabalise.
Push the Joystick
Clean the probe with some RO water
Place the PH probe in the PH10 solution and let it sit
Push the Joystick.
Clean the Probe with Some RO water.
Your PH probe is now calibrated and ready to be placed in a probe holder in your tank.

1.2 Setup for Marine tanks using PH4 & PH7 Solutions

In some areas a PH10 solution can be difficult to obtain. In this event the RAcode for PH calibration allows the user to use PH4 and PH7 stock solutions.
This will require you to enter values into the Code line, but is a very straight-forward procedure.

As before, scroll with joystick and push down on it to enter the settings page.
Select PH calibration and click begin calibration.
Place the PH probe in the PH4 solution and wait for the values to stabalise.
Write down the value.
Push the Joystrick
Clean the Probe with some RO water.
Place the PH probe in the PH7 solution and wait for the values to stabalise.
Write down the value.
Push the joystick.
Your PH will now give an eroneous reading, don't worry.

Subtract the first value (PH4 solution) from the second value (PH7 solution) which will give us the difference.
Now add this Difference value to the PH7 value you wrote down, which will give you your PH10 value.

Now all you need to do is add the following line in your code via the code editor:

Please insert correct code lines here

Now turn off the RA, plug the USB cable in and upload the code.
The PH probe is now calibrated and should give you correct values.

1.3 Commonly requested PH code:

I need to see if this is a valid Title
Do guys use the RA for CO2 Reactors?

1.4 Helpful links:

1.4.1. Connecting your computer to the Reef Angel
1.4.2. The code editor
1.4.3. PH Expansion unit
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 »

Jim_J wrote:Im an normal user with some experience of programming, and Ive been spending the last two days spawning the forums for explanations how to use different functions or classes, so i think a wiki like you're talking about would be great!
Just a simple thing like knowing how to use the DCPump class, and what arguments the different modes expecting is a dreadful task to find info about. I guess its possible to find out if you know how to read and understanding the libraries, but in my case i don't understand so much :)
I think we're in the same boat.
And if we do it in a manual style as above I think a guy who has never seen code in his life will be less intimidated.
Believe it or not.... I can ask even stupider questions than this one.
User avatar
cosmith71
Posts: 1437
Joined: Fri Mar 29, 2013 3:51 pm
Location: Oklahoma City

Re: Documentation

Post by cosmith71 »

On the pH calibration, make sure you add to move the joystick to the OK button before you press the button in. It defaults to cancel.

--Colin
Naptalene
Posts: 98
Joined: Tue Nov 05, 2013 12:50 am

Re: Documentation

Post by Naptalene »

No problem, I'll check all that sort of stuff properly, but as a style of doing documentation are you happy with me to continue? And the more people that can proof read the better.
Believe it or not.... I can ask even stupider questions than this one.
rimai
Posts: 12881
Joined: Fri Mar 18, 2011 6:47 pm

Re: Documentation

Post by rimai »

I like it :) I think you are in for a good start!!!
1.2 is actually much easier than that using the new libraries.
If you move the joystick to right until it reaches the pH number (7 or 10 by default), you can change it to whatever value you wish :)
Give it a try.
Roberto.
Jim_J
Posts: 13
Joined: Sat Jun 15, 2013 3:21 pm

Re: Documentation

Post by Jim_J »

Looking good Naptalene! Thumbs up :)
Naptalene
Posts: 98
Joined: Tue Nov 05, 2013 12:50 am

Re: Documentation

Post by Naptalene »

Ok great.
I'll upload the new libraries :oops:
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 »

wow, there's a lot of stuff :shock:

Can you guys please advise on the following,
I wanted to start laying out individual dcpump Flow types and give a brief explanation of the number values.So I went into the Wizard, selected each pattern one at a time and saved that code so I could cut'npaste your legitimate code.

Here is one:

Code: Select all

void loop()

{

ReefAngel.DCPump.UseMemory = false;

ReefAngel.DCPump.SetMode( ShortPulse,50,10 ); // type, PumpSpeed in %, duration in milliseconds

ReefAngel.DCPump.DaylightChannel = Sync;

ReefAngel.DCPump.ActinicChannel = AntiSync;

////// Place your custom code below here


}
Questions.....

1.)

If I go to this link

http://forum.reefangel.com/viewtopic.php?f=7&t=2844

You guys mention pulse minimum/maximum speeds etc. Am I correct that those values are part of the library for "ShortPulse" and if I just want pulses I don't need that stuff - it's already embedded when I call "Short Pulse"?
So for what is essentially my "Idiots guide" front section I'll skip those and give the basic functions.
We can create a dedicated section for that info at the end as a proper referance document (be it as a wiki or whatever)

2. If I go on my Apple App there are the following modes that I can't create code for via the Wizard:

Storm
Custom
Constant
Lagoon

I'd like to be able to format/give the descriptions for them. Can someone direct me to or supply a simple code as per the above layout for them please?
Believe it or not.... I can ask even stupider questions than this one.
Post Reply