The webwizard has solved the big problem. This is the method of choice for most users.
Now, on to the point of this post.
For those of us who want to the Arduino application, we now will be able to run the default version that you can download from Arduino. I took some time over the last couple days and figured out how to Add-On our Controllers/Boards to the default boards list AND how to incorporate the Features file generation that was part of the Reef Angel Arduino Build (although you have to manually run it first, before you compile your sketch.)
Updated: The add-on also generates the labels for you based on the lines added to your sketch. It auto-creates the RA_CustomLabels.h file for you each time you run it.
Here's how you can set it up.
- Add the Controllers
- Open up Arduino
- Goto Preferences
- Look for "Additional Boards Manager URLs" and then click the little window button to open the Add window
- Add this URL to the list: (Yes, I'm hosting it on my server)
Code: Select all
https://curtbinder.info/reefangel/package_reefangel.com_controllers_index.json
- Click Ok to close this window, then click Ok again to close and save the Preferences
- Goto the Tools menu, select "Board", then "Boards Manager".
- Search for Reef Angel
- Click on the Install button listed for the Reef Angel Controllers
- Add the Features File generation capability
- Close Arduino
- Download the tool I created (CBTool) - CBTool-v2.3.1.zip
Here's the full URL if you want it:And the SHA256 sum file as well: sha256 sumCode: Select all
https://curtbinder.info/reefangel/CBTool-v2.3.1.zip
- Unzip / Extract it and place the folder inside the Arduino/tools/ folder
- You will now have a folder called CBTool inside the tools folder. Inside the CBTool folder is another folder called tool and inside that will be a file called cbtool.jar.
Here's the full content:There's only 1 file total.Code: Select all
tools/CBTool/tool/cbtool.jar
- Launch Arduino again
- Goto Tools -> CB Reef Angel Process Sketch to run the features and labels generation.
- Verify folders and files exist
- Make sure you have the following folders in your libraries folder:
- RA_CustomLabels
- ReefAngel_Features
- Check that you have an Arduino/update/feature.txt file. If not, the features generation will not work.
- Make sure you have the following folders in your libraries folder:
You need to run it whenever you make changes to your code that could be adding or removing features. If you are just updating code logic and not changing any features, you might not need to run it again. However, when in doubt, run it.
Updated:I figured out how to get the code to compile after running the the features and labels generation, but have not added the logic to it. The reason is when you goto upload the code, it forces a compilation again. So it takes twice as long to compile and upload.
Lastly, I have only tested compiling my code and it works just fine. I have not had a chance to upload any code (at the time of this post). I will be testing the compilation in the future.
I have also only tested this on a Mac running OS 10.15 (Catalina). In theory, this should work fine on Windows, Mac, and Linux (x86/x64 and arm variants)...ie, every version that Arduino puts out, this should work. So please, if you are interested, test this out. I will be testing the arm64 and x64 versions soon.
Let me know if this helps or if you have any questions.
UPDATE:
I just finished testing the building and uploading. I tested the uploading using Mac 10.15 (Catalina) using Arduino 1.8.10 and on my Pinebook Pro (32bit arm build) using Arduino 1.8.11 for 32bit arm and I could upload just fine to a Reef Angel Plus. I still haven't tested on a linux x64 but that shouldn't matter at all since the other 2 builds work.
UPDATE2:
I improved the code creation and generation. I also added in the custom label generation based on the labels in the code. The labels lines MUST begin with
Code: Select all
// RA_LABEL
An example line would be:
Code: Select all
// RA_LABEL LABEL_PORT11=Skimmer