Documentation

Would you like to help?
Share your walkthrough tutorial with others

Posts: 87
Joined: Tue Nov 05, 2013 12:50 am
PostPosted: Fri Feb 06, 2015 1:12 am
Hi everyone,

I sent a PM to Roberto about documentation for the RA.
He supplied me with these links:


https://github.com/reefangel/Libraries/wiki

cosmith71 started a beginners tutorial here:
viewtopic.php?f=14&t=3353

lnevo generated a doxigen dump of the libraries and posted in his server:
http://www.easte.net/ra/html/

This final link is what quite a few more advanced people will be looking for (i had never come accross it) but it's still out of the league of people such as myself.

Sooooooo, what I would like to propose is the following...

We try and create a user manual for the RA, but for normal people :shock:
I was thinking that the following format would work well:

We start with the bits of a standard RA, for each unit or port, we show it and tell the User what it's called in the code, why it's called that and how it's implemented.

For instance,
Show I/O ports, and explain that its a switch that only has an on and an off status.
therefore we use "If" this, then do this, "Else" do this.
A common use is for ATO so it has a default name of "ATOhigh"
etc....

Then we could get all the Doxigen info and create a referance list of that at the end for advanced guys.
It's a big undertaking as the unit is so flexible but I do believe that we could get a document together that would make new users with no coding background feel far more comfortable with the RA and not be intimidated.

What do you guys think?
Believe it or not.... I can ask even stupider questions than this one.
User avatar
Posts: 1426
Joined: Fri Mar 29, 2013 3:51 pm
Location: Oklahoma City
PostPosted: Fri Feb 06, 2015 4:38 am
I've been thinking about this for a long time. The problem is, there is sooooo much and it changes very, very often. It seems overwhelming.

I think something basic would be a good place to start.

--Colin

Posts: 87
Joined: Tue Nov 05, 2013 12:50 am
PostPosted: Fri Feb 06, 2015 5:53 am
Agreed :shock:

But what if we aim it at the most basic user and work from there.
Lets face it, the really advanced stuff that changes radically is the stuff where you guys are custom coding for specific purposes. I don't get the feeling that's where the fundamental problem is. IMHO it's guys in the following situation that are having problems.

Fred Bloggs gets his ReefAngel and wants 3 Temp probes.
He plugs them in. Is T1 always the first connector on the head unit? Is T1 assigned by a unique identifier?
He uses the Wizard and has T1 as his main probe but now wants to get T2 to trigger something else and T3 yet another thing (fans on heatsink maybe)
We should give a simple referance code like this:

if T2>265 ReefAngel.Relay.On(Port2); // This means if T2 is greater than 26.5C turn on Relay port2

Aside from the fact that I probably just got the code wrong, that would seriously help a new user to have.
To try and figure out that simple thing when you dont have a clue is quite difficult. And when you look at the existing codes, you see the library calls for T1 which make no sense if you're trying to do the simple thing as above.

Does it make sense to do it that way?
Believe it or not.... I can ask even stupider questions than this one.

Posts: 87
Joined: Tue Nov 05, 2013 12:50 am
PostPosted: Fri Feb 06, 2015 5:56 am
And I must apologise, my brain scrambles all over the place, so if things are vague or I seem quite "in your face" its not the case :)
Believe it or not.... I can ask even stupider questions than this one.

Posts: 87
Joined: Tue Nov 05, 2013 12:50 am
PostPosted: Fri Feb 06, 2015 6:02 am
Here's a prime example of something that should be available for new users....taken from RMCs Humble Code Abode

{
ReefAngel.StandardFan( Port1,800,810 );
ReefAngel.Relay.DelayedOn( Port2,10 );
ReefAngel.DosingPumpRepeat( Port3,0,20,60 );
ReefAngel.DosingPumpRepeat( Port7,0,20,30 );
ReefAngel.StandardLights( Port8,11,0,19,0 );
ReefAngel.PWM.SetDaylight( PWMParabola(8,0,20,30,15,100,15) );
ReefAngel.PWM.SetActinic( PWMParabola(10,30,20,30,15,100,15) );
////// Place your custom code below here

Each of those lines should be in a document with an explanation for what they are......
So in the manual we could have a chapter "Dosing Pumps"

these are the calls for that class (put them down) and for this, the numbers in the brackets mean:
Relay port of the Pump.... and then I actually dont know what the rest are lol. We can clarify that sort of thing easily.
Believe it or not.... I can ask even stupider questions than this one.
User avatar
Posts: 5338
Joined: Fri Jul 20, 2012 9:42 am
PostPosted: Fri Feb 06, 2015 7:38 am
I've always said that if someone organizes the wiki with the headings of what examples are needed i and anyone who wanted can contribute relevant coding blurbs.

If you would volunteer to create the outline and keep a thread here of what needs to be filled in it would get done fairly quickly
User avatar
Posts: 1426
Joined: Fri Mar 29, 2013 3:51 pm
Location: Oklahoma City
PostPosted: Fri Feb 06, 2015 8:52 am
So I'm messing with the GitHub Wiki, trying to copy over the "How the Code Structure Works" post.

What's the best way to author stuff for this? It's definitely not WYSIWIG. It's not even friendly like the forum editor.

--Colin

Posts: 12057
Joined: Fri Mar 18, 2011 6:47 pm
PostPosted: Fri Feb 06, 2015 9:24 am
It is WYSIWYG.
I think you just need to get the correct privileges. I thought anyone could do it, but I guess I'm wrong.
Were you logged in to your github account?
I just sent an invitation to join our dev team anyway.
There should be an edit button on top of the page.
You can also fork the repo, work offline and send a pull request. Just like the work you did on the libraries :)
Roberto.
User avatar
Posts: 1426
Joined: Fri Mar 29, 2013 3:51 pm
Location: Oklahoma City
PostPosted: Fri Feb 06, 2015 9:31 am
Yeah, I get an editor that starts out in "Markdown" mode (with several other modes available). I switched over to Org mode since it seems to be a little easier to convert the forum codes to. Am I missing something else?

--Colin
Last edited by cosmith71 on Fri Feb 06, 2015 10:13 am, edited 1 time in total.

Posts: 12057
Joined: Fri Mar 18, 2011 6:47 pm
PostPosted: Fri Feb 06, 2015 10:02 am
That's it :)
Roberto.
Next

Return to Tutorials

Who is online

Users browsing this forum: No registered users and 1 guest

cron