I got the pull request and noticed that it was made for merging into master.
The problem is that I have made a whole lot of changes into the dev branch to separate code that is shared among the different controllers and the code that is specific to one controller.
So, when I tried to merge against dev branch, I got a ton of errors.
Also, another thing I noticed is that this library was introduced straight into the base code.
You have to keep in mind that we have the standard RA board, which does not have much memory.
So, things have to be coded as features.
The Arduino IDE we use is a modified version of the official one. The main difference is that we have an auto-detect of features built-in on the IDE.
When you compile/upload a code, the IDE actually scans the entire INO code for keywords and if it finds the keyword, it writes the #define for that feature into ReefAngel_Features.h file.
That file is rewritten on-demand everytime you hit compile/upload.
The entire list of keywords and their #define and description, is located at \Documents\Arduino\update\feature.txt
Let me give you an example:
If you add this line into your INO code:
It will trigger the IDE to write this into the ReefAngel_Features.h file
The above line will instruct the pre-processor to include everything that has #ifdef DateTimeSetup.
You will notice that each line in the features.txt file has 3 parts, separated by a comma.
1st part: The #define you want to add to ReefAngel_Features.h file
2nd part: The keyword that the IDE will be searching for.
3rd part: The description that the IDE prints at the bottom log when compiling.
So, your code would have to have something like this in the features.txt file
Code: Select all
SUNLOCATION,ReefAngel.AddSunLocation,Sun Location
Then, you add the AddSunLocation() to ReefAngel class and everytime you are using your library, you must use #ifdef SUNLOCATION
If you don't do that, people with the standard RA will get their code increased, even if they don't want to use this feature.
If you don't feel comfortable doing the #ifdef and creating the feature stuff, that's fine... I can add that in with no problem, but the pull request has to come from the latest dev branch.
Also, if you can make the clean up and the feature two separate pulls, it will make things much easier

The main reason I couldn't merge is because you've made a lot of cleanups and I did too, which caused code comparison to think that everything was changed

, so I couldn't determine what was your real code and what was clean up to try to reverse track and manually merge it.
Roberto.