Page 1 of 2

Anyone programming from a Mac?

Posted: Sat Oct 24, 2020 3:27 pm
by ReeferRyan
Trying to setup my RA Star for the first time and my Mac (running Catalina) can't install the USB driver because the driver isn't compatible. Nothing is working and I'm stuck. I don't have a PC at my disposal. Only other device I have is a Chromebook.

Suggestions?

Re: Anyone programming from a Mac?

Posted: Sat Oct 24, 2020 4:25 pm
by binder
what driver are you installing?
you should be using the webwizard (https://forum.reefangel.com/webwizard/) and it will help you install the plugin for uploading your code.

Sent from my Pixel 2 using Tapatalk

Re: Anyone programming from a Mac?

Posted: Sat Oct 24, 2020 6:19 pm
by binder
and as a separate note, you can run the latest arduino on the latest macos if you don't want to use the webwizard (i am). however, i would suggest the webwizard if you are new.

Sent from my Pixel 2 using Tapatalk

Re: Anyone programming from a Mac?

Posted: Sat Oct 24, 2020 7:45 pm
by ReeferRyan
I’ll try it again tomorrow. The web wizard doesn’t work well in Safari and I opened Chrome. When I did it asked to enable an extension, but I’m not sure it was related to what I was doing. If I could use the web wizard and save the configuration, I could load it to the Arduino using the software.

Re: Anyone programming from a Mac?

Posted: Sun Oct 25, 2020 6:05 am
by binder
If you are going to use the regular arduino software, look at this topic for instructions on getting the latest arduino to work.
create your code in the webwizard and then copy and paste it into arduino. save it. then compile and upload.

https://r.tapatalk.com/shareLink/topic? ... source=app

Sent from my Pixel 2 using Tapatalk

Re: Anyone programming from a Mac?

Posted: Sun Oct 25, 2020 6:14 am
by binder
ReeferRyan wrote:I’ll try it again tomorrow. The web wizard doesn’t work well in Safari and I opened Chrome. When I did it asked to enable an extension, but I’m not sure it was related to what I was doing. If I could use the web wizard and save the configuration, I could load it to the Arduino using the software.
I don't quite know what you are talking about with it not working well in Safari. I just went through it and it worked perfectly fine for me....even not logged in (although it complained about not being able to save my sketches).

Give it a try again. Make sure you are logged into the forum before you launch the webwizard. Also, make sure you install the plugin from the menu on the left. This will allow you to use it to upload code to your controller by plugging it in. Once you have installed the code on it initially and have the controller connected to the internet (ie, ethernet cable plugged in), you can actually program it and upload code on it remotely.

Re: Anyone programming from a Mac?

Posted: Sun Oct 25, 2020 7:20 am
by ReeferRyan
For one, it won't let me type in my password. Then when it comes to assigning ports on the relay expansion module, I can't name them. Safari doesn't allow me to type in the box. Chrome works though.

Re: Anyone programming from a Mac?

Posted: Sun Oct 25, 2020 7:58 am
by ReeferRyan
binder wrote:If you are going to use the regular arduino software, look at this topic for instructions on getting the latest arduino to work.
create your code in the webwizard and then copy and paste it into arduino. save it. then compile and upload.

Sent from my Pixel 2 using Tapatalk
I'm to the steps where I place CBTool folder inside /Arduino/libraries/tools. There wasn't a "tools" folder inside of "libraries", so I made one and dropped the CBTool folder inside it. I quit and relaunched the Arduino app, but I don't have the "CB Reef Angel Process Sketch" under the Tools menu.

Re: Anyone programming from a Mac?

Posted: Sun Oct 25, 2020 8:26 am
by ReeferRyan
Figured it out. The path actually needs to be /Arduino/tools (at least in Arduino 1.8.13)

Re: Anyone programming from a Mac?

Posted: Sun Oct 25, 2020 9:57 am
by ReeferRyan
Still running into difficulty.

Re: Anyone programming from a Mac?

Posted: Sun Oct 25, 2020 10:07 am
by binder
Since it was/is a fresh install, you need to create 2 folders inside the libraries folder and potentially 2 files.
Folders:
1. ReefAngel_Features/
2. RA_CustomLabels/

Files:
1. ReefAngel_Features/ReefAngel_Features.h
2. RA_CustomLabels/RA_CustomLabels.h

I guess I should have done better with missing folder checks. Anyways, create those 2 folders and try to run it again. If it still fails, create the 2 files and run again.

Re: Anyone programming from a Mac?

Posted: Sun Oct 25, 2020 10:13 am
by ReeferRyan
binder wrote:Since it was/is a fresh install, you need to create 2 folders inside the libraries folder and potentially 2 files.
Folders:
1. ReefAngel_Features/
2. RA_CustomLabels/

Files:
1. ReefAngel_Features/ReefAngel_Features.h
2. RA_CustomLabels/RA_CustomLabels.h

I guess I should have done better with missing folder checks. Anyways, create those 2 folders and try to run it again. If it still fails, create the 2 files and run again.

That got me closer! I just created the two folders. The tool created the files for me. But when I go to upload, I get this.

"Reef_Angel_Initial_Setup:1:10: fatal error: Salinity.h: No such file or directory".

Also, I'm not sure why these are red text. One last one not pictured is at the bottom.

#include <SoftwareSerial.h>

Re: Anyone programming from a Mac?

Posted: Sun Oct 25, 2020 10:31 am
by rimai
The highlighted text is formatting that the Arduino IDE does for keywords.
If we add the keywords, they turn red or blue depending on how you tag them.
Just a visual thing to make readability easier.
Try using another code. The code you were trying may be obsolete for the RA*.

Re: Anyone programming from a Mac?

Posted: Sun Oct 25, 2020 10:32 am
by ReeferRyan
rimai wrote:The highlighted text is formatting that the Arduino IDE does for keywords.
If we add the keywords, they turn red or blue depending on how you tag them.
Just a visual thing to make readability easier.
Try using another code. The code you were trying may be obsolete for the RA*.
That's a straight copy/paste from the web wizard.

Re: Anyone programming from a Mac?

Posted: Sun Oct 25, 2020 10:39 am
by rimai
Did you use the dev branch of the libraries?
https://github.com/reefangel/Libraries/tree/dev

Re: Anyone programming from a Mac?

Posted: Sun Oct 25, 2020 11:24 am
by ReeferRyan
rimai wrote:Did you use the dev branch of the libraries?
I'm not trying to be an idiot here. I have downloaded all the libraries from the master section on GitHub, and placed them in /Arduino/libraries. Now I'm getting this:

Alternatives for wiring.h: []
ResolveLibrary(wiring.h)
-> candidates: []
/Users/rsweeney/Documents/Arduino/libraries/EthernetUtils/EthernetBonjour 2.cpp:31:13: fatal error: wiring.h: No such file or directory
Multiple libraries were found for "Ethernet.h"
#include <wiring.h>
Used: /Users/rsweeney/Documents/Arduino/libraries/Ethernet
^~~~~~~~~~
Not used: /Applications/Arduino.app/Contents/Java/libraries/Ethernet
compilation terminated.

Re: Anyone programming from a Mac?

Posted: Sun Oct 25, 2020 11:55 am
by ReeferRyan
I created a blank file called wiring.h in the EthernetUtils library and verified the code again. Now I get all kinds of errors...but not related to wiring.h.

In file included from /Users/rsweeney/Documents/Arduino/libraries/Salinity/Salinity.h:25:0,
from /Users/rsweeney/Documents/Arduino/Reef_Angel_Initial_Setup/Reef_Angel_Initial_Setup.ino:1:
/Users/rsweeney/Documents/Arduino/libraries/Globals/Globals.h:127:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char NoIMCheck[] PROGMEM = "No Internal Memory";
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/Globals/Globals.h:128:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char NoIMCheck1[] PROGMEM = "Found";
^~~~~~~~~
putchar
In file included from /Users/rsweeney/Documents/Arduino/libraries/RA_TouchLCD/RA_TouchLCD.h:34:0,
from /Users/rsweeney/Documents/Arduino/Reef_Angel_Initial_Setup/Reef_Angel_Initial_Setup.ino:5:
/Users/rsweeney/Documents/Arduino/libraries/Font/Font.h:37:24: error: 'prog_char' does not name a type; did you mean 'putchar'?
int TextWidthP(const prog_char *str);
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/Font/Font.h:53:24: error: 'prog_char' does not name a type; did you mean 'putchar'?
void DrawTextP(const prog_char *str);
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/Font/Font.h:54:40: error: 'prog_char' does not name a type; did you mean 'putchar'?
void DrawTextP(int ix, int iy, const prog_char *str);
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/Font/Font.h:55:57: error: 'prog_char' does not name a type; did you mean 'putchar'?
void DrawTextP(int iFC, int iBC,int ix, int iy, const prog_char *str);
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/Font/Font.h:58:46: error: 'prog_char' does not name a type; did you mean 'putchar'?
void DrawCenterTextP(int ix, int iy, const prog_char *str);
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/Font/Font.h:80:47: error: variable 'f8x8' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
static uint8_t __attribute__ ((progmem)) f8x8[] = {
^
/Users/rsweeney/Documents/Arduino/libraries/Font/Font.h:116:49: error: variable 'f12x12' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
static uint8_t __attribute__ ((progmem)) f12x12[] = {
^
/Users/rsweeney/Documents/Arduino/libraries/Font/Font.h:176:54: error: variable 'ArialBold20' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
static uint8_t __attribute__ ((progmem)) ArialBold20[] = {
^
In file included from /Users/rsweeney/Documents/Arduino/Reef_Angel_Initial_Setup/Reef_Angel_Initial_Setup.ino:5:0:
/Users/rsweeney/Documents/Arduino/libraries/RA_TouchLCD/RA_TouchLCD.h:56:37: error: 'prog_uchar' does not name a type; did you mean 'getchar'?
void DrawBMP(int ix, int iy, const prog_uchar *iPtr);
^~~~~~~~~~
getchar
/Users/rsweeney/Documents/Arduino/libraries/RA_TouchLCD/RA_TouchLCD.h:57:37: error: 'prog_uchar' does not name a type; did you mean 'getchar'?
void DrawBMP(int ix, int iy, const prog_uchar *iPtr, byte overridecolor_msb, byte overridecolor_lsb);
^~~~~~~~~~
getchar
/Users/rsweeney/Documents/Arduino/libraries/RA_TouchLCD/RA_TouchLCD.h:71:7: error: 'prog_uchar' does not name a type; did you mean 'getchar'?
const prog_uchar GREENBUTTON[] PROGMEM ={
^~~~~~~~~~
getchar
In file included from /Users/rsweeney/Documents/Arduino/Reef_Angel_Initial_Setup/Reef_Angel_Initial_Setup.ino:5:0:
/Users/rsweeney/Documents/Arduino/libraries/RA_TouchLCD/RA_TouchLCD.h:98:7: error: 'prog_uchar' does not name a type; did you mean 'getchar'?
const prog_uchar REDBUTTON[] PROGMEM ={
^~~~~~~~~~
getchar
/Users/rsweeney/Documents/Arduino/libraries/RA_TouchLCD/RA_TouchLCD.h:125:7: error: 'prog_uchar' does not name a type; did you mean 'getchar'?
const prog_uchar ICONLOGO[] PROGMEM ={
^~~~~~~~~~
getchar
/Users/rsweeney/Documents/Arduino/libraries/RA_TouchLCD/RA_TouchLCD.h:160:7: error: 'prog_uchar' does not name a type; did you mean 'getchar'?
const prog_uchar ARROWRIGHT[] PROGMEM ={
^~~~~~~~~~
getchar
/Users/rsweeney/Documents/Arduino/libraries/RA_TouchLCD/RA_TouchLCD.h:190:7: error: 'prog_uchar' does not name a type; did you mean 'getchar'?
const prog_uchar ARROWLEFT[] PROGMEM ={
^~~~~~~~~~
getchar
/Users/rsweeney/Documents/Arduino/libraries/RA_TouchLCD/RA_TouchLCD.h:220:7: error: 'prog_uchar' does not name a type; did you mean 'getchar'?
const prog_uchar DIVIDER[] PROGMEM ={
^~~~~~~~~~
getchar
/Users/rsweeney/Documents/Arduino/libraries/RA_TouchLCD/RA_TouchLCD.h:228:7: error: 'prog_uchar' does not name a type; did you mean 'getchar'?
const prog_uchar ARROWMENU[] PROGMEM ={
^~~~~~~~~~
getchar
/Users/rsweeney/Documents/Arduino/libraries/RA_TouchLCD/RA_TouchLCD.h:233:7: error: 'prog_uchar' does not name a type; did you mean 'getchar'?
const prog_uchar MINUS[] PROGMEM ={
^~~~~~~~~~
getchar
/Users/rsweeney/Documents/Arduino/libraries/RA_TouchLCD/RA_TouchLCD.h:268:7: error: 'prog_uchar' does not name a type; did you mean 'getchar'?
const prog_uchar PLUS[] PROGMEM ={
^~~~~~~~~~
getchar
/Users/rsweeney/Documents/Arduino/libraries/RA_TouchLCD/RA_TouchLCD.h:303:7: error: 'prog_uchar' does not name a type; did you mean 'getchar'?
const prog_uchar ARROWUP[] PROGMEM ={
^~~~~~~~~~
getchar
/Users/rsweeney/Documents/Arduino/libraries/RA_TouchLCD/RA_TouchLCD.h:329:7: error: 'prog_uchar' does not name a type; did you mean 'getchar'?
const prog_uchar ARROWDOWN[] PROGMEM ={
^~~~~~~~~~
getchar
/Users/rsweeney/Documents/Arduino/libraries/RA_TouchLCD/RA_TouchLCD.h:357:7: error: 'prog_uchar' does not name a type; did you mean 'getchar'?
const prog_uchar OKBUTTON[] PROGMEM ={
^~~~~~~~~~
getchar
/Users/rsweeney/Documents/Arduino/libraries/RA_TouchLCD/RA_TouchLCD.h:373:7: error: 'prog_uchar' does not name a type; did you mean 'getchar'?
const prog_uchar CANCELBUTTON[] PROGMEM ={
^~~~~~~~~~
getchar
/Users/rsweeney/Documents/Arduino/libraries/RA_TouchLCD/RA_TouchLCD.h:389:7: error: 'prog_uchar' does not name a type; did you mean 'getchar'?
const prog_uchar ATOTIMEOUTFLAG[] PROGMEM ={
^~~~~~~~~~
getchar
/Users/rsweeney/Documents/Arduino/libraries/RA_TouchLCD/RA_TouchLCD.h:405:7: error: 'prog_uchar' does not name a type; did you mean 'getchar'?
const prog_uchar OVERHEATFLAG[] PROGMEM ={
^~~~~~~~~~
getchar
/Users/rsweeney/Documents/Arduino/libraries/RA_TouchLCD/RA_TouchLCD.h:421:7: error: 'prog_uchar' does not name a type; did you mean 'getchar'?
const prog_uchar BUSLOCKFLAG[] PROGMEM ={
^~~~~~~~~~
getchar
/Users/rsweeney/Documents/Arduino/libraries/RA_TouchLCD/RA_TouchLCD.h:437:7: error: 'prog_uchar' does not name a type; did you mean 'getchar'?
const prog_uchar LEAKFLAG[] PROGMEM ={
^~~~~~~~~~
getchar
/Users/rsweeney/Documents/Arduino/libraries/RA_TouchLCD/RA_TouchLCD.h:453:7: error: 'prog_uchar' does not name a type; did you mean 'getchar'?
const prog_uchar LIGHTSONFLAG[] PROGMEM ={
^~~~~~~~~~
getchar
/Users/rsweeney/Documents/Arduino/libraries/RA_TouchLCD/RA_TouchLCD.h:469:7: error: 'prog_uchar' does not name a type; did you mean 'getchar'?
const prog_uchar ALERTICON[] PROGMEM = {
^~~~~~~~~~
getchar
/Users/rsweeney/Documents/Arduino/libraries/RA_TouchLCD/RA_TouchLCD.h:486:14: error: 'prog_uchar' does not name a type; did you mean 'getchar'?
static const prog_uchar *STATUSFLAGICONS[] PROGMEM= {LIGHTSONFLAG};
^~~~~~~~~~
getchar
/Users/rsweeney/Documents/Arduino/libraries/RA_TouchLCD/RA_TouchLCD.h:487:14: error: 'prog_uchar' does not name a type; did you mean 'getchar'?
static const prog_uchar *ALERTFLAGICONS[] PROGMEM= {ATOTIMEOUTFLAG,OVERHEATFLAG,BUSLOCKFLAG,LEAKFLAG};
^~~~~~~~~~
getchar
In file included from /Users/rsweeney/Documents/Arduino/Reef_Angel_Initial_Setup/Reef_Angel_Initial_Setup.ino:9:0:
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:31:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char XML_ID[] PROGMEM = "<RA><ID>";
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:32:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char XML_T1[] PROGMEM = "</ID><T1>";
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:33:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char XML_T2[] PROGMEM = "</T1><T2>";
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:34:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char XML_T3[] PROGMEM = "</T2><T3>";
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:35:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char XML_PH[] PROGMEM = "</T3><PH>";
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:36:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char XML_R[] PROGMEM = "</PH><R>";
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:37:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char XML_RON[] PROGMEM = "</R><RON>";
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:38:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char XML_ROFF[] PROGMEM = "</RON><ROFF>";
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:39:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char XML_RE_OPEN[] PROGMEM = "<R";
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:40:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char XML_RE_CLOSE[] PROGMEM = "</R";
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:41:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char XML_RE_ON[] PROGMEM = "ON";
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:42:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char XML_RE_OFF[] PROGMEM = "OFF";
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:43:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char XML_ATOLOW[] PROGMEM = "<ATOLOW>";
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:44:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char XML_ATOHIGH[] PROGMEM = "</ATOLOW><ATOHIGH>";
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:45:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char XML_EM[] PROGMEM = "</ATOHIGH><EM>";
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:46:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char XML_EM1[] PROGMEM = "</EM><EM1>";
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:47:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char XML_REM[] PROGMEM = "</EM1><REM>";
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:48:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char XML_BOARDID[] PROGMEM = "</REM><BID>";
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:49:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char XML_ALERTFLAG[] PROGMEM = "</BID><AF>";
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:50:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char XML_STATUSFLAG[] PROGMEM = "</AF><SF>";
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:51:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char XML_STATUSFLAG_END[] PROGMEM = "</SF>";
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:154:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char XML_END[] PROGMEM = "</RA>";
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:155:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char XML_CLOSE_TAG[] PROGMEM = ">";
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:158:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char XML_P_OPEN[] PROGMEM = "<P";
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:159:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char XML_P_CLOSE[] PROGMEM = "</P";
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:160:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char XML_M_OPEN[] PROGMEM = "<M";
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:161:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char XML_M_CLOSE[] PROGMEM = "</M";
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:162:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char XML_MEM_OPEN[] PROGMEM = "<MEM>";
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:163:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char XML_MEM_CLOSE[] PROGMEM = "</MEM>";
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:164:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char XML_DATE_OPEN[] PROGMEM = "<D>";
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:165:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char XML_DATE_CLOSE[] PROGMEM = "</D>";
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:166:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char XML_MODE_OPEN[] PROGMEM = "<MODE>";
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:167:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char XML_MODE_CLOSE[] PROGMEM = "</MODE>";
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:168:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char XML_OK[] PROGMEM = "OK";
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:169:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char XML_ERR[] PROGMEM = "ERR";
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:171:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char SERVER_HEADER1[] PROGMEM = "HTTP/1.1 200 OK\r\nServer: ReefAngel\r\nCache-Control: no-store, no-cache, must-revalidate\r\nPragma: no-cache\r\nAccess-Control-Allow-Origin: *\r\nAccess-Control-Allow-Methods: GET\r\nConnection: close\r\nContent-Type: text/";
^~~~~~~~~
putchar
In file included from /Users/rsweeney/Documents/Arduino/Reef_Angel_Initial_Setup/Reef_Angel_Initial_Setup.ino:9:0:
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:172:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char SERVER_HEADER2[] PROGMEM = "\r\nContent-Length: ";
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:173:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char SERVER_DENY[] PROGMEM = "HTTP/1.1 401 Access Denied\r\nWWW-Authenticate: Basic realm=Reef Angel Controller\r\nContent-Length: 0\r\n";
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:174:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char SERVER_DEFAULT[] PROGMEM = "<h1>Reef Angel Controller Web Server</h1>";
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:177:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char JSON_OPEN[] PROGMEM = "{\"json\":{";
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:178:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char JSON_ID[] PROGMEM = "ID";
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:179:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char JSON_T1[] PROGMEM = "T1";
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:180:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char JSON_T2[] PROGMEM = "T2";
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:181:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char JSON_T3[] PROGMEM = "T3";
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:182:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char JSON_PH[] PROGMEM = "PH";
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:183:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char JSON_R[] PROGMEM = "R";
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:184:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char JSON_RON[] PROGMEM = "RON";
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:185:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char JSON_ROFF[] PROGMEM = "ROFF";
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:186:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char JSON_R1[] PROGMEM = "R1";
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:187:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char JSON_RON1[] PROGMEM = "RON1";
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:188:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char JSON_ROFF1[] PROGMEM = "ROFF1";
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:189:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char JSON_R2[] PROGMEM = "R2";
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:190:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char JSON_RON2[] PROGMEM = "RON2";
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:191:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char JSON_ROFF2[] PROGMEM = "ROFF2";
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:192:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char JSON_R3[] PROGMEM = "R3";
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:193:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char JSON_RON3[] PROGMEM = "RON3";
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:194:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char JSON_ROFF3[] PROGMEM = "ROFF3";
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:195:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char JSON_R4[] PROGMEM = "R4";
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:196:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char JSON_RON4[] PROGMEM = "RON4";
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:197:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char JSON_ROFF4[] PROGMEM = "ROFF4";
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:198:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char JSON_R5[] PROGMEM = "R5";
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:199:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char JSON_RON5[] PROGMEM = "RON5";
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:200:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char JSON_ROFF5[] PROGMEM = "ROFF5";
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:201:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char JSON_R6[] PROGMEM = "R6";
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:202:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char JSON_RON6[] PROGMEM = "RON6";
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:203:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char JSON_ROFF6[] PROGMEM = "ROFF6";
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:204:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char JSON_R7[] PROGMEM = "R7";
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:205:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char JSON_RON7[] PROGMEM = "RON7";
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:206:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char JSON_ROFF7[] PROGMEM = "ROFF7";
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:207:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char JSON_R8[] PROGMEM = "R8";
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:208:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char JSON_RON8[] PROGMEM = "RON8";
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:209:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char JSON_ROFF8[] PROGMEM = "ROFF8";
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:210:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char JSON_ATOLOW[] PROGMEM = "ATOLOW";
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:211:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char JSON_ATOHIGH[] PROGMEM = "ATOHIGH";
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:212:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char JSON_EM[] PROGMEM = "EM";
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:213:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char JSON_EM1[] PROGMEM = "EM1";
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:214:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char JSON_REM[] PROGMEM = "REM";
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:215:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char JSON_ALERTFLAG[] PROGMEM = "AF";
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:216:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char JSON_STATUSFLAG[] PROGMEM = "SF";
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:217:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char JSON_BOARDID[] PROGMEM = "BID";
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:330:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char JSON_CLOSE[] PROGMEM = "}}";
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:365:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char SERVER_RA[] PROGMEM = "<object type=text/html data=http://www.reefangel.com/wifi3/content.html width=100% height=98%></object>";
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:366:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char EncodingChars[] PROGMEM = {"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"};
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:367:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char BannerGET[] PROGMEM = "GET /status/submitp.aspx?t1=";
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:368:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char BannerHTTP11[] PROGMEM = " HTTP/1.1\r\n";
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:369:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char BannerHost[] PROGMEM = "Host: forum.reefangel.com\r\n";
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:370:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char BannerConnectionClose[] PROGMEM = "Connection: close\r\n";
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:371:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char BannerT2[] PROGMEM = "&t2=";
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:372:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char BannerT3[] PROGMEM = "&t3=";
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:373:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char BannerPH[] PROGMEM = "&ph=";
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:374:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char BannerATOHIGH[] PROGMEM = "&atohigh=";
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:375:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char BannerATOLOW[] PROGMEM = "&atolow=";
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:376:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char BannerRelayData[] PROGMEM = "&r";
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:377:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char BannerRelayMaskOn[] PROGMEM = "&ron";
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:378:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char BannerRelayMaskOff[] PROGMEM = "&roff";
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:379:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char BannerID[] PROGMEM = "&id=";
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:380:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char BannerEM[] PROGMEM = "&em=";
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:381:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char BannerEM1[] PROGMEM = "&em1=";
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:382:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char BannerREM[] PROGMEM = "&rem=";
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:383:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char BannerCustom[] PROGMEM = "&c";
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:384:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char BannerKey[] PROGMEM = "&key=";
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:385:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char BannerAlertFlag[] PROGMEM = "&af=";
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:386:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char BannerStatusFlag[] PROGMEM = "&sf=";
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:387:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char BannerBoardID[] PROGMEM = "&bid=";
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:388:7: error: 'prog_char' does not name a type; did you mean 'putchar'?
const prog_char BannerSubdomain[] PROGMEM = "&ddns=";
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:603:29: error: 'prog_char' does not name a type; did you mean 'putchar'?
void WebResponse (const prog_char* response, long strsize);
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:613:31: error: 'prog_char' does not name a type; did you mean 'putchar'?
void SendSingleJSON(const prog_char str[], int value, char* suffix="");
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:614:31: error: 'prog_char' does not name a type; did you mean 'putchar'?
void SendSingleJSON(const prog_char str[], char* value);
^~~~~~~~~
putchar
/Users/rsweeney/Documents/Arduino/libraries/RA_Wifi/RA_Wifi.h:619:29: error: 'prog_char' does not name a type; did you mean 'putchar'?
void PROGMEMprint(const prog_char str[]);
^~~~~~~~~
putchar
In file included from /Users/rsweeney/Documents/Arduino/Reef_Angel_Initial_Setup/Reef_Angel_Initial_Setup.ino:19:0:
/Users/rsweeney/Documents/Arduino/libraries/DS1307RTC/DS1307RTC.h:27:19: error: 'tmElements_t' has not been declared
static void read(tmElements_t &tm);
^~~~~~~~~~~~
/Users/rsweeney/Documents/Arduino/libraries/DS1307RTC/DS1307RTC.h:28:20: error: 'tmElements_t' has not been declared
static void write(tmElements_t &tm);
^~~~~~~~~~~~
In file included from /Users/rsweeney/Documents/Arduino/libraries/ReefAngel/Plus/includes.h:3:0,
from /Users/rsweeney/Documents/Arduino/libraries/ReefAngel/ReefAngel.h:80,
from /Users/rsweeney/Documents/Arduino/Reef_Angel_Initial_Setup/Reef_Angel_Initial_Setup.ino:41:
/Users/rsweeney/Documents/Arduino/libraries/RA_NokiaLCD/RA_NokiaLCD.h:84:64: error: 'prog_uchar' does not name a type; did you mean 'getchar'?
void DrawImage(int swidth, int sheight, byte x, byte y, const prog_uchar *iPtr);
^~~~~~~~~~
getchar
/Users/rsweeney/Documents/Arduino/Reef_Angel_Initial_Setup/Reef_Angel_Initial_Setup.ino: In function 'void setup()':
Reef_Angel_Initial_Setup:57:15: error: 'class ReefAngelClass' has no member named 'FeedingModePortsE'; did you mean 'FeedingModePorts'?
ReefAngel.FeedingModePortsE[0] = 0;
^~~~~~~~~~~~~~~~~
FeedingModePorts
Reef_Angel_Initial_Setup:58:15: error: 'class ReefAngelClass' has no member named 'FeedingModePortsE'; did you mean 'FeedingModePorts'?
ReefAngel.FeedingModePortsE[1] = 0;
^~~~~~~~~~~~~~~~~
FeedingModePorts
Reef_Angel_Initial_Setup:61:15: error: 'class ReefAngelClass' has no member named 'WaterChangePortsE'; did you mean 'WaterChangePorts'?
ReefAngel.WaterChangePortsE[0] = Port2Bit | Port4Bit;
^~~~~~~~~~~~~~~~~
WaterChangePorts
Reef_Angel_Initial_Setup:62:15: error: 'class ReefAngelClass' has no member named 'WaterChangePortsE'; did you mean 'WaterChangePorts'?
ReefAngel.WaterChangePortsE[1] = 0;
^~~~~~~~~~~~~~~~~
WaterChangePorts
Reef_Angel_Initial_Setup:65:15: error: 'class ReefAngelClass' has no member named 'OverheatShutoffPortsE'; did you mean 'OverheatShutoffPorts'?
ReefAngel.OverheatShutoffPortsE[0] = Port1Bit | Port3Bit;
^~~~~~~~~~~~~~~~~~~~~
OverheatShutoffPorts
Reef_Angel_Initial_Setup:66:15: error: 'class ReefAngelClass' has no member named 'OverheatShutoffPortsE'; did you mean 'OverheatShutoffPorts'?
ReefAngel.OverheatShutoffPortsE[1] = 0;
^~~~~~~~~~~~~~~~~~~~~
OverheatShutoffPorts
Reef_Angel_Initial_Setup:69:15: error: 'class ReefAngelClass' has no member named 'LightsOnPortsE'; did you mean 'LightsOnPorts'?
ReefAngel.LightsOnPortsE[0] = 0;
^~~~~~~~~~~~~~
LightsOnPorts
Reef_Angel_Initial_Setup:70:15: error: 'class ReefAngelClass' has no member named 'LightsOnPortsE'; did you mean 'LightsOnPorts'?
ReefAngel.LightsOnPortsE[1] = 0;
^~~~~~~~~~~~~~
LightsOnPorts
/Users/rsweeney/Documents/Arduino/Reef_Angel_Initial_Setup/Reef_Angel_Initial_Setup.ino: In function 'void loop()':
Reef_Angel_Initial_Setup:96:29: error: 'class ReefAngelClass' has no member named 'BuzzerOn'
if ( buzzer ) ReefAngel.BuzzerOn(2); else ReefAngel.BuzzerOff();
^~~~~~~~
Reef_Angel_Initial_Setup:96:57: error: 'class ReefAngelClass' has no member named 'BuzzerOff'
if ( buzzer ) ReefAngel.BuzzerOn(2); else ReefAngel.BuzzerOff();
^~~~~~~~~
Reef_Angel_Initial_Setup:103:23: error: 'class RA_Wifi' has no member named 'Cloud'
ReefAngel.Network.Cloud();
^~~~~
Reef_Angel_Initial_Setup:105:15: error: 'class ReefAngelClass' has no member named 'ShowTouchInterface'; did you mean 'ShowInterface'?
ReefAngel.ShowTouchInterface();
^~~~~~~~~~~~~~~~~~
ShowInterface
Multiple libraries were found for "Ethernet.h"
Used: /Users/rsweeney/Documents/Arduino/libraries/Ethernet
Not used: /Applications/Arduino.app/Contents/Java/libraries/Ethernet

Re: Anyone programming from a Mac?

Posted: Sun Oct 25, 2020 12:07 pm
by binder
ReeferRyan wrote:
rimai wrote:Did you use the dev branch of the libraries?
I'm not trying to be an idiot here. I have downloaded all the libraries from the master section on GitHub, and placed them in /Arduino/libraries. Now I'm getting this:

Alternatives for wiring.h: []
ResolveLibrary(wiring.h)
-> candidates: []
/Users/rsweeney/Documents/Arduino/libraries/EthernetUtils/EthernetBonjour 2.cpp:31:13: fatal error: wiring.h: No such file or directory
Multiple libraries were found for "Ethernet.h"
#include <wiring.h>
Used: /Users/rsweeney/Documents/Arduino/libraries/Ethernet
^~~~~~~~~~
Not used: /Applications/Arduino.app/Contents/Java/libraries/Ethernet
compilation terminated.
You can't use the "master" branch. You must use the "dev" branch of the code otherwise you will get issues (such as what you are experiencing). The reason for the "dev" branch is older software relies on the "master" branch. All new stuff uses the "dev" branch, which is what the webwizard uses.

Re: Anyone programming from a Mac?

Posted: Sun Oct 25, 2020 12:08 pm
by ReeferRyan
binder wrote:
ReeferRyan wrote:
rimai wrote:Did you use the dev branch of the libraries?
I'm not trying to be an idiot here. I have downloaded all the libraries from the master section on GitHub, and placed them in /Arduino/libraries. Now I'm getting this:

Alternatives for wiring.h: []
ResolveLibrary(wiring.h)
-> candidates: []
/Users/rsweeney/Documents/Arduino/libraries/EthernetUtils/EthernetBonjour 2.cpp:31:13: fatal error: wiring.h: No such file or directory
Multiple libraries were found for "Ethernet.h"
#include <wiring.h>
Used: /Users/rsweeney/Documents/Arduino/libraries/Ethernet
^~~~~~~~~~
Not used: /Applications/Arduino.app/Contents/Java/libraries/Ethernet
compilation terminated.
You can't use the "master" branch. You must use the "dev" branch of the code otherwise you will get issues (such as what you are experiencing). The reason for the "dev" branch is older software relies on the "master" branch. All new stuff uses the "dev" branch, which is what the webwizard uses.
Copy that, I'll make that switch now

Re: Anyone programming from a Mac?

Posted: Sun Oct 25, 2020 12:11 pm
by ReeferRyan
Still getting this.

/Users/rsweeney/Documents/Arduino/Reef_Angel_Initial_Setup/Reef_Angel_Initial_Setup.ino: In function 'void setup()':
Reef_Angel_Initial_Setup:57:15: error: 'class ReefAngelClass' has no member named 'FeedingModePortsE'; did you mean 'FeedingModePorts'?
ReefAngel.FeedingModePortsE[0] = 0;
^~~~~~~~~~~~~~~~~
FeedingModePorts
Reef_Angel_Initial_Setup:58:15: error: 'class ReefAngelClass' has no member named 'FeedingModePortsE'; did you mean 'FeedingModePorts'?
ReefAngel.FeedingModePortsE[1] = 0;
^~~~~~~~~~~~~~~~~
FeedingModePorts
Reef_Angel_Initial_Setup:61:15: error: 'class ReefAngelClass' has no member named 'WaterChangePortsE'; did you mean 'WaterChangePorts'?
ReefAngel.WaterChangePortsE[0] = Port2Bit | Port4Bit;
^~~~~~~~~~~~~~~~~
WaterChangePorts
Reef_Angel_Initial_Setup:62:15: error: 'class ReefAngelClass' has no member named 'WaterChangePortsE'; did you mean 'WaterChangePorts'?
ReefAngel.WaterChangePortsE[1] = 0;
^~~~~~~~~~~~~~~~~
WaterChangePorts
Reef_Angel_Initial_Setup:65:15: error: 'class ReefAngelClass' has no member named 'OverheatShutoffPortsE'; did you mean 'OverheatShutoffPorts'?
ReefAngel.OverheatShutoffPortsE[0] = Port1Bit | Port3Bit;
^~~~~~~~~~~~~~~~~~~~~
OverheatShutoffPorts
Reef_Angel_Initial_Setup:66:15: error: 'class ReefAngelClass' has no member named 'OverheatShutoffPortsE'; did you mean 'OverheatShutoffPorts'?
ReefAngel.OverheatShutoffPortsE[1] = 0;
^~~~~~~~~~~~~~~~~~~~~
OverheatShutoffPorts
Reef_Angel_Initial_Setup:69:15: error: 'class ReefAngelClass' has no member named 'LightsOnPortsE'; did you mean 'LightsOnPorts'?
ReefAngel.LightsOnPortsE[0] = 0;
^~~~~~~~~~~~~~
LightsOnPorts
Reef_Angel_Initial_Setup:70:15: error: 'class ReefAngelClass' has no member named 'LightsOnPortsE'; did you mean 'LightsOnPorts'?
ReefAngel.LightsOnPortsE[1] = 0;
^~~~~~~~~~~~~~
LightsOnPorts
/Users/rsweeney/Documents/Arduino/Reef_Angel_Initial_Setup/Reef_Angel_Initial_Setup.ino: In function 'void loop()':
Reef_Angel_Initial_Setup:96:29: error: 'class ReefAngelClass' has no member named 'BuzzerOn'
if ( buzzer ) ReefAngel.BuzzerOn(2); else ReefAngel.BuzzerOff();
^~~~~~~~
Reef_Angel_Initial_Setup:96:57: error: 'class ReefAngelClass' has no member named 'BuzzerOff'
if ( buzzer ) ReefAngel.BuzzerOn(2); else ReefAngel.BuzzerOff();
^~~~~~~~~
Reef_Angel_Initial_Setup:103:23: error: 'class RA_Wifi' has no member named 'Cloud'
ReefAngel.Network.Cloud();
^~~~~
Reef_Angel_Initial_Setup:105:15: error: 'class ReefAngelClass' has no member named 'ShowTouchInterface'; did you mean 'ShowInterface'?
ReefAngel.ShowTouchInterface();
^~~~~~~~~~~~~~~~~~
ShowInterface
Multiple libraries were found for "Ethernet.h"
Used: /Users/rsweeney/Documents/Arduino/libraries/Ethernet
Not used: /Applications/Arduino.app/Contents/Java/libraries/Ethernet

Re: Anyone programming from a Mac?

Posted: Sun Oct 25, 2020 1:24 pm
by binder
any changes to the libraries needs to be done with arduino closed. if not closed, just restart arduino.
once restarted, make sure that you have the proper board selected (reefangel board that is).
run the cb tool parser again (just to make sure).
then try to compile the code.

arduino is a little finicky with its libraries and all.

Sent from my Pixel 2 using Tapatalk

Re: Anyone programming from a Mac?

Posted: Sun Oct 25, 2020 2:14 pm
by ReeferRyan
binder wrote:any changes to the libraries needs to be done with arduino closed. if not closed, just restart arduino.
once restarted, make sure that you have the proper board selected (reefangel board that is).
run the cb tool parser again (just to make sure).
then try to compile the code.

arduino is a little finicky with its libraries and all.

Sent from my Pixel 2 using Tapatalk
Yeah, I quit Arduino, replaced all the libraries with the dev ones, then relaunched Arduino. I quit and relaunched again just grins, and I ensured that the Reef Angel Star was selected.

Running your tool is successful. It's only when I verify the code is when I get these class errors. Again, the code I have is a straight copy/paste from the web wizard.

Re: Anyone programming from a Mac?

Posted: Sun Oct 25, 2020 2:33 pm
by ReeferRyan
Does this code snippet look right?

Re: Anyone programming from a Mac?

Posted: Sun Oct 25, 2020 2:39 pm
by binder
Remove that blank wiring.h file you created. it's not needed at all and is probably causing problems.

the libraries need to be in Documents/Arduino/libraries
(full path is actually /User/username/Documents/Arduino/libraries)
i can't remember if it's /users or /user on macos.

I recall dealing with something like these issues with someone else just recently and don't recall what the solution was. I'm going to look more now.

Sent from my Pixel 2 using Tapatalk

Re: Anyone programming from a Mac?

Posted: Sun Oct 25, 2020 2:40 pm
by binder
ReeferRyan wrote:Does this code snippet look right?
that extra [1] is not needed because you don't have 2 relay boxes. remove those references.
FeedingModePortsE[1] (or whatever it is exactly)

you are referencing an element of an array that doesn't exist. Those port arrays are only the size of expansion boxes. I think the wizard messed up generating that code. you only have 1 relay box with the star, so remove all the lines that reference the 1st index (second item in array).

Re: Anyone programming from a Mac?

Posted: Sun Oct 25, 2020 2:43 pm
by ReeferRyan
binder wrote:Remove that blank wiring.h file you created. it's not needed at all and is probably causing problems.

the libraries need to be in Documents/Arduino/libraries
(full path is actually /User/username/Documents/Arduino/libraries)
i can't remember if it's /users or /user on macos.

I recall dealing with something like these issues with someone else just recently and don't recall what the solution was. I'm going to look more now.

Sent from my Pixel 2 using Tapatalk
That wiring.h file was removed when I replaced the libraries with the ones from dev.

And yes, the libraries are in /Users/username/Documents/Arduino/libraries

Re: Anyone programming from a Mac?

Posted: Sun Oct 25, 2020 2:54 pm
by ReeferRyan
binder wrote:
ReeferRyan wrote:Does this code snippet look right?
that extra [1] is not needed because you don't have 2 relay boxes. remove those references.
FeedingModePortsE[1] (or whatever it is exactly)

you are referencing an element of an array that doesn't exist. Those port arrays are only the size of expansion boxes. I think the wizard messed up generating that code. you only have 1 relay box with the star, so remove all the lines that reference the 1st index (second item in array).
I did that, but it's still complaining about:

'class ReefAngelClass' has no member named 'FeedingModePortsE'; did you mean 'FeedingModePorts'?
ReefAngel.FeedingModePortsE[0] = 0;

'class ReefAngelClass' has no member named 'WaterChangePortsE'; did you mean 'WaterChangePorts'?
ReefAngel.WaterChangePortsE[0] = Port2Bit | Port4Bit;

'class ReefAngelClass' has no member named 'OverheatShutoffPortsE'; did you mean 'OverheatShutoffPorts'?
ReefAngel.OverheatShutoffPortsE[0] = Port1Bit | Port3Bit;

'class ReefAngelClass' has no member named 'LightsOnPortsE'; did you mean 'LightsOnPorts'?
ReefAngel.LightsOnPortsE[0] = 0;

'class ReefAngelClass' has no member named 'BuzzerOn'
if ( buzzer ) ReefAngel.BuzzerOn(2); else ReefAngel.BuzzerOff();

'class ReefAngelClass' has no member named 'BuzzerOff'
if ( buzzer ) ReefAngel.BuzzerOn(2); else ReefAngel.BuzzerOff();

'class RA_Wifi' has no member named 'Cloud'
ReefAngel.Network.Cloud();

'class ReefAngelClass' has no member named 'ShowTouchInterface'; did you mean 'ShowInterface'?
ReefAngel.ShowTouchInterface();

I'm stumped and getting frustrated with it.

Re: Anyone programming from a Mac?

Posted: Sun Oct 25, 2020 3:46 pm
by binder
Can you post your current code?

Re: Anyone programming from a Mac?

Posted: Sun Oct 25, 2020 3:49 pm
by ReeferRyan
binder wrote:Can you post your current code?
Sure...this is what the web wizard created for me.

#include <Salinity.h>
#include <ReefAngel_Features.h>
#include <Globals.h>
#include <RA_TS.h>
#include <RA_TouchLCD.h>
#include <RA_TFT.h>
#include <RA_TS.h>
#include <Font.h>
#include <RA_Wifi.h>
#include <RA_Wiznet5100.h>
#include <SD.h>
#include <SPI.h>
#include <Ethernet.h>
#include <EthernetDHCP.h>
#include <PubSubClient.h>
#include <Wire.h>
#include <OneWire.h>
#include <Time.h>
#include <DS1307RTC.h>
#include <InternalEEPROM.h>
#include <RA_ATO.h>
#include <LED.h>
#include <RA_TempSensor.h>
#include <Relay.h>
#include <RA_PWM.h>
#include <Timer.h>
#include <Memory.h>
#include <InternalEEPROM.h>
#include <RA_Colors.h>
#include <RA_CustomColors.h>
#include <RA_CustomLabels.h>
#include <RF.h>
#include <IO.h>
#include <ORP.h>
#include <AI.h>
#include <PH.h>
#include <WaterLevel.h>
#include <Humidity.h>
#include <PAR.h>
#include <DCPump.h>
#include <ReefAngel.h>
#include <SoftwareSerial.h>

////// Place global variable code below here


////// Place global variable code above here


void setup()
{
// This must be the first line
ReefAngel.Init(); //Initialize controller
ReefAngel.Star();
// Ports toggled in Feeding Mode
ReefAngel.FeedingModePorts = 0;
ReefAngel.FeedingModePortsE[0] = 0;
ReefAngel.FeedingModePortsE[1] = 0;
// Ports toggled in Water Change Mode
ReefAngel.WaterChangePorts = 0;
ReefAngel.WaterChangePortsE[0] = Port2Bit | Port4Bit;
ReefAngel.WaterChangePortsE[1] = 0;
// Ports turned off when Overheat temperature exceeded
ReefAngel.OverheatShutoffPorts = 0;
ReefAngel.OverheatShutoffPortsE[0] = Port1Bit | Port3Bit;
ReefAngel.OverheatShutoffPortsE[1] = 0;
// Ports toggled when Lights On / Off menu entry selected
ReefAngel.LightsOnPorts = 0;
ReefAngel.LightsOnPortsE[0] = 0;
ReefAngel.LightsOnPortsE[1] = 0;
// Use T1 probe as temperature and overheat functions
ReefAngel.TempProbe = T1_PROBE;
ReefAngel.OverheatProbe = T1_PROBE;
// Set the Overheat temperature setting
InternalMemory.OverheatTemp_write( 810 );

// Ports that are always on
ReefAngel.Relay.On( Box1_Port2 );

////// Place additional initialization code below here


////// Place additional initialization code above here
}

void loop()
{
ReefAngel.StandardHeater( T1_PROBE,Box1_Port1,775,800 );
ReefAngel.StandardLights( Box1_Port3,20,30,7,0 );
ReefAngel.StandardATO( Box1_Port4,30 );

boolean buzzer=false;
if ( ReefAngel.isATOTimeOut() ) buzzer=true;
if ( ReefAngel.isOverheat() ) buzzer=true;
if ( ReefAngel.isBusLock() ) buzzer=true;
if ( buzzer ) ReefAngel.BuzzerOn(2); else ReefAngel.BuzzerOff();

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


////// Place your custom code above here

ReefAngel.Network.Cloud();
// This should always be the last line
ReefAngel.ShowTouchInterface();
}



// RA_STRING1=U2FsdGVkX1+uXmgleL3ALdgM9jXq4EPIkMaDG99HFL8=
// RA_STRING2=null
// RA_STRING3=null
// RA_LABEL LABEL_PORT15=Port 15
// RA_LABEL LABEL_PORT13=Port 13
// RA_LABEL LABEL_PORT18=Port 18
// RA_LABEL LABEL_PORT16=Port 16
// RA_LABEL LABEL_PORT11=Port 11
// RA_LABEL LABEL_PORT17=Port 17
// RA_LABEL LABEL_PORT21=Port 21
// RA_LABEL LABEL_PORT14=Port 14
// RA_LABEL LABEL_PORT12=Port 12


And this is the code where I removed references to the second relay expansion module.

#include <Salinity.h>
#include <ReefAngel_Features.h>
#include <Globals.h>
#include <RA_TS.h>
#include <RA_TouchLCD.h>
#include <RA_TFT.h>
#include <RA_TS.h>
#include <Font.h>
#include <RA_Wifi.h>
#include <RA_Wiznet5100.h>
#include <SD.h>
#include <SPI.h>
#include <Ethernet.h>
#include <EthernetDHCP.h>
#include <PubSubClient.h>
#include <Wire.h>
#include <OneWire.h>
#include <Time.h>
#include <DS1307RTC.h>
#include <InternalEEPROM.h>
#include <RA_ATO.h>
#include <LED.h>
#include <RA_TempSensor.h>
#include <Relay.h>
#include <RA_PWM.h>
#include <Timer.h>
#include <Memory.h>
#include <InternalEEPROM.h>
#include <RA_Colors.h>
#include <RA_CustomColors.h>
#include <RA_CustomLabels.h>
#include <RF.h>
#include <IO.h>
#include <ORP.h>
#include <AI.h>
#include <PH.h>
#include <WaterLevel.h>
#include <Humidity.h>
#include <PAR.h>
#include <DCPump.h>
#include <ReefAngel.h>
#include <SoftwareSerial.h>

////// Place global variable code below here


////// Place global variable code above here


void setup()
{
// This must be the first line
ReefAngel.Init(); //Initialize controller
ReefAngel.Star();
// Ports toggled in Feeding Mode
ReefAngel.FeedingModePorts = 0;
ReefAngel.FeedingModePortsE[0] = 0;
ReefAngel.FeedingModePortsE[1] = 0;
// Ports toggled in Water Change Mode
ReefAngel.WaterChangePorts = 0;
ReefAngel.WaterChangePortsE[0] = Port2Bit | Port4Bit;
ReefAngel.WaterChangePortsE[1] = 0;
// Ports turned off when Overheat temperature exceeded
ReefAngel.OverheatShutoffPorts = 0;
ReefAngel.OverheatShutoffPortsE[0] = Port1Bit | Port3Bit;
ReefAngel.OverheatShutoffPortsE[1] = 0;
// Ports toggled when Lights On / Off menu entry selected
ReefAngel.LightsOnPorts = 0;
ReefAngel.LightsOnPortsE[0] = 0;
ReefAngel.LightsOnPortsE[1] = 0;
// Use T1 probe as temperature and overheat functions
ReefAngel.TempProbe = T1_PROBE;
ReefAngel.OverheatProbe = T1_PROBE;
// Set the Overheat temperature setting
InternalMemory.OverheatTemp_write( 810 );

// Ports that are always on
ReefAngel.Relay.On( Box1_Port2 );

////// Place additional initialization code below here


////// Place additional initialization code above here
}

void loop()
{
ReefAngel.StandardHeater( T1_PROBE,Box1_Port1,775,800 );
ReefAngel.StandardLights( Box1_Port3,20,30,7,0 );
ReefAngel.StandardATO( Box1_Port4,30 );

boolean buzzer=false;
if ( ReefAngel.isATOTimeOut() ) buzzer=true;
if ( ReefAngel.isOverheat() ) buzzer=true;
if ( ReefAngel.isBusLock() ) buzzer=true;
if ( buzzer ) ReefAngel.BuzzerOn(2); else ReefAngel.BuzzerOff();

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


////// Place your custom code above here

ReefAngel.Network.Cloud();
// This should always be the last line
ReefAngel.ShowTouchInterface();
}



// RA_STRING1=U2FsdGVkX1+uXmgleL3ALdgM9jXq4EPIkMaDG99HFL8=
// RA_STRING2=null
// RA_STRING3=null
// RA_LABEL LABEL_PORT15=Port 15
// RA_LABEL LABEL_PORT13=Port 13
// RA_LABEL LABEL_PORT18=Port 18
// RA_LABEL LABEL_PORT16=Port 16
// RA_LABEL LABEL_PORT11=Port 11
// RA_LABEL LABEL_PORT17=Port 17
// RA_LABEL LABEL_PORT21=Port 21
// RA_LABEL LABEL_PORT14=Port 14
// RA_LABEL LABEL_PORT12=Port 12

Re: Anyone programming from a Mac?

Posted: Sun Oct 25, 2020 4:09 pm
by binder
Well, both of those options / codes you posted compile just fine for me. I get no errors when I "verify". Here's the code that I used (from what you posted).

Code: Select all

#include <Salinity.h>
#include <ReefAngel_Features.h>
#include <Globals.h>
#include <RA_TS.h>
#include <RA_TouchLCD.h>
#include <RA_TFT.h>
#include <RA_TS.h>
#include <Font.h>
#include <RA_Wifi.h>
#include <RA_Wiznet5100.h>
#include <SD.h>
#include <SPI.h>
#include <Ethernet.h>
#include <EthernetDHCP.h>
#include <PubSubClient.h>
#include <Wire.h>
#include <OneWire.h>
#include <Time.h>
#include <DS1307RTC.h>
#include <InternalEEPROM.h>
#include <RA_ATO.h>
#include <LED.h>
#include <RA_TempSensor.h>
#include <Relay.h>
#include <RA_PWM.h>
#include <Timer.h>
#include <Memory.h>
#include <InternalEEPROM.h>
#include <RA_Colors.h>
#include <RA_CustomColors.h>
#include <RA_CustomLabels.h>
#include <RF.h>
#include <IO.h>
#include <ORP.h>
#include <AI.h>
#include <PH.h>
#include <WaterLevel.h>
#include <Humidity.h>
#include <PAR.h>
#include <DCPump.h>
#include <ReefAngel.h>
#include <SoftwareSerial.h>

////// Place global variable code below here


////// Place global variable code above here


void setup()
{
  // This must be the first line
  ReefAngel.Init(); //Initialize controller
  ReefAngel.Star();
  // Ports toggled in Feeding Mode
  ReefAngel.FeedingModePorts = 0;
  ReefAngel.FeedingModePortsE[0] = 0;
  // Ports toggled in Water Change Mode
  ReefAngel.WaterChangePorts = 0;
  ReefAngel.WaterChangePortsE[0] = Port2Bit | Port4Bit;
  // Ports turned off when Overheat temperature exceeded
  ReefAngel.OverheatShutoffPorts = 0;
  ReefAngel.OverheatShutoffPortsE[0] = Port1Bit | Port3Bit;
  // Ports toggled when Lights On / Off menu entry selected
  ReefAngel.LightsOnPorts = 0;
  ReefAngel.LightsOnPortsE[0] = 0;
  // Use T1 probe as temperature and overheat functions
  ReefAngel.TempProbe = T1_PROBE;
  ReefAngel.OverheatProbe = T1_PROBE;
  // Set the Overheat temperature setting
  InternalMemory.OverheatTemp_write( 810 );
  
  // Ports that are always on
  ReefAngel.Relay.On( Box1_Port2 );
  
  ////// Place additional initialization code below here
  
  
  ////// Place additional initialization code above here
}

void loop()
{
  ReefAngel.StandardHeater( T1_PROBE,Box1_Port1,775,800 );
  ReefAngel.StandardLights( Box1_Port3,20,30,7,0 );
  ReefAngel.StandardATO( Box1_Port4,30 );
  
  boolean buzzer=false;
  if ( ReefAngel.isATOTimeOut() ) buzzer=true;
  if ( ReefAngel.isOverheat() ) buzzer=true;
  if ( ReefAngel.isBusLock() ) buzzer=true;
  if ( buzzer ) ReefAngel.BuzzerOn(2); else ReefAngel.BuzzerOff();
  
  ////// Place your custom code below here
  
  
  ////// Place your custom code above here
  
  ReefAngel.Network.Cloud();
  // This should always be the last line
  ReefAngel.ShowTouchInterface();
}



// RA_STRING1=U2FsdGVkX1+uXmgleL3ALdgM9jXq4EPIkMaDG99HFL8=
// RA_STRING2=null
// RA_STRING3=null
// RA_LABEL LABEL_PORT15=Port 15
// RA_LABEL LABEL_PORT13=Port 13
// RA_LABEL LABEL_PORT18=Port 18
// RA_LABEL LABEL_PORT16=Port 16
// RA_LABEL LABEL_PORT11=Port 11
// RA_LABEL LABEL_PORT17=Port 17
// RA_LABEL LABEL_PORT14=Port 14
// RA_LABEL LABEL_PORT12=Port 12
So, that makes me think there is an issue with the libraries location on your computer. I'm running macos 10.15.7 and arduino 1.8.13 plus the latest dev libraries.
My libraries folder contains exactly the same folders as the dev release (plus some extra code that I created). So it has to be your configuration/setup. Make sure that your Arduino preferences shows the Sketchbook location as:

Code: Select all

/Users/yourname/Documents/Arduino

Mine is:  /Users/binder/ownCloud/Documents/Arduino