Hi folks.
I have been very quite for a very long time. What I learnt has since been forgotten and I am again stuck.
I don't want to carry on with too much back story so I will try to keep things brief here and now.
Looking at the dates on the files and my comments I don't think I've touched this since 2007 and it was early days for me.
I wrote (bashed together) a program for an UNO with a 20x4 LCD screen, RTC clock, 6 buttons and an I2C bus expander chip to allow more I/O as I ran out and an I2C EEPROM for storing things that needed to be remembered if power failed, reset, etc.
It "works" but also doesn't.
Now and then when I press a button on it the program seems to crash, but the LCD is still active and needs to be reset. I'll put that aside for now - forgive me for bringing it up if I'm not going to follow through on it, but this is me explaining the scenario.
The program only just fit into the arduino and it was done from an "old" laptop running XP.
That laptop is still working/usable and I wanted to fix a problem that one of the things that needed to be remembered wasn't being saved to the EEPROM and so wasn't remembered at reset.
I power up the laptop, load the IDE (OLD ONE!) and first off check it compiles.
It doesn't. MASSIVE list of errors.
Examples:
In file included from /home/me/Arduino/Alarm_Clock/V13b/DS1307.cpp:10:0:
DS1307_1.h:50:21: error: 'boolean' has not been declared
void get(int *, boolean);
^~~~~~~
DS1307_1.h:51:18: error: 'boolean' has not been declared
int get(int, boolean);
^~~~~~~
DS1307_1.h:52:20: error: 'boolean' has not been declared
int min_of_day(boolean);
^~~~~~~
DS1307_1.h:56:24: error: 'byte' has not been declared
void get_sram_data(byte *);
^~~~
DS1307_1.h:57:24: error: 'byte' has not been declared
void set_sram_data(byte *);
^~~~
DS1307_1.h:58:5: error: 'byte' does not name a type
byte get_sram_byte(int);
^~~~
DS1307_1.h:59:24: error: 'byte' has not been declared
void set_sram_byte(byte, int);
^~~~
DS1307_1.h:62:5: error: 'byte' does not name a type
byte rtc_bcd[7]; // used prior to read/set ds1307 registers;
And these are the easy ones - IMO.
The code is a real dog's breakfast. I wrote it under duress (to call it) as my old alarm clock died after a long life. Anyway.
Attachments.
V13b
is the main file to load.
Included in this archive:
The DS1307
and alarm
bits were sourced from the internet.
The Example_menu
is constructed from the original alarmclock code I found.
My_routtines
is/are bits of code I wrote.
Read_me
is notes I made through the life of building the code.
The second attachment is all the other libraries - I hope.
I couldn't find a couple. So that may not be helping, but I also don't think so.
Ok, reading the Readme
it was 2017 when I last worked on it.
Small tweak/adjustment.
And my version numbers are.... horrible.
No, I don't expect anyone to sit down and go through the code. That would be cruel of me and I don't expect it.
What I would like help with is what has happened since this is/was on an XP laptop that is not really used and is NOT kept up to date with things. It was working. I could edit/tweak things, compile it and upload the code and the alarm clock would work.
Now: I can't. I am showered with errors.
There is huge contention with the Wire.h
if it should (or not) be used/included.
(And which one too.)
Looking at the other errors (see below) I am sort of understanding that entire structures are not being accepted any more.
They used to be and the libraries haven't been updated - AFAIK. Unless the laptop connects itself and does it without me knowing.
I kept it isolated because I knew it worked.
Alas I am proven to be wrong.
Oh, before you read them and say "Hey, these are not what you were talking about!"
Yes, I know: These are from my NEW machine and it is running UBUNTU.
I'm not hooking the laptop to the network to get the errors and code.
I've copied the code to this machine and tried to compile it here.
Basically the same errros.
But the IDE on this machine is also OLD!
(Kind of repeating myself but to be sure....)
Attached are all the local files from the project's directory.
The second one is the other external libraries - I hope all.
Again: I am sorry for asking this.
In a perfect world it would work as it did last time I compiled it.
But I have done SOMETHING in the mean time that has messed the whole thing up.
I'm asking here because this is really beyond me and I hope someone can quickly and easily see the mistake I've made.
The full list of errors:
Arduino: 1.8.19 (Linux), Board: "Arduino Uno"
In file included from /home/me/Arduino/Alarm_Clock/V13b/DS1307.cpp:10:0:
DS1307_1.h:50:21: error: 'boolean' has not been declared
void get(int *, boolean);
^~~~~~~
DS1307_1.h:51:18: error: 'boolean' has not been declared
int get(int, boolean);
^~~~~~~
DS1307_1.h:52:20: error: 'boolean' has not been declared
int min_of_day(boolean);
^~~~~~~
DS1307_1.h:56:24: error: 'byte' has not been declared
void get_sram_data(byte *);
^~~~
DS1307_1.h:57:24: error: 'byte' has not been declared
void set_sram_data(byte *);
^~~~
DS1307_1.h:58:5: error: 'byte' does not name a type
byte get_sram_byte(int);
^~~~
DS1307_1.h:59:24: error: 'byte' has not been declared
void set_sram_byte(byte, int);
^~~~
DS1307_1.h:62:5: error: 'byte' does not name a type
byte rtc_bcd[7]; // used prior to read/set ds1307 registers;
^~~~
/home/me/Arduino/Alarm_Clock/V13b/DS1307.cpp: In member function 'void DS1307::read_rtc()':
DS1307_1.h:26:24: error: 'B1101000' was not declared in this scope
#define DS1307_CTRL_ID B1101000 //DS1307
^
/home/me/Arduino/Alarm_Clock/V13b/DS1307.cpp:24:26: note: in expansion of macro 'DS1307_CTRL_ID'
Wire.beginTransmission(DS1307_CTRL_ID);
^~~~~~~~~~~~~~
DS1307.cpp:25:15: error: 'byte' was not declared in this scope
Wire.write((byte)0x00);
^~~~
DS1307.cpp:33:5: error: 'rtc_bcd' was not declared in this scope
rtc_bcd[i]=Wire.read();
^~~~~~~
In file included from /home/me/Arduino/Alarm_Clock/V13b/DS1307.cpp:10:0:
/home/me/Arduino/Alarm_Clock/V13b/DS1307.cpp: In member function 'void DS1307::save_rtc()':
DS1307_1.h:26:24: error: 'B1101000' was not declared in this scope
#define DS1307_CTRL_ID B1101000 //DS1307
^
/home/me/Arduino/Alarm_Clock/V13b/DS1307.cpp:40:26: note: in expansion of macro 'DS1307_CTRL_ID'
Wire.beginTransmission(DS1307_CTRL_ID);
^~~~~~~~~~~~~~
DS1307.cpp:41:15: error: 'byte' was not declared in this scope
Wire.write((byte)0x00); // reset register pointer
^~~~
DS1307.cpp:44:16: error: 'rtc_bcd' was not declared in this scope
Wire.write(rtc_bcd[i]);
^~~~~~~
/home/me/Arduino/Alarm_Clock/V13b/DS1307.cpp: At global scope:
DS1307.cpp:51:28: error: 'boolean' has not been declared
void DS1307::get(int *rtc, boolean refresh) // Aquire data from buffer and convert to int, refresh buffer if required
^~~~~~~
DS1307.cpp:60:24: error: 'boolean' has not been declared
int DS1307::get(int c, boolean refresh) // aquire individual RTC item from buffer, return as int, refresh buffer if required
^~~~~~~
/home/me/Arduino/Alarm_Clock/V13b/DS1307.cpp: In member function 'int DS1307::get(int, int)':
DS1307.cpp:67:13: error: 'rtc_bcd' was not declared in this scope
v=(10*((rtc_bcd[DS1307_SEC] & DS1307_HI_SEC)>>4))+(rtc_bcd[DS1307_SEC] & DS1307_LO_BCD);
^~~~~~~
In file included from /home/me/Arduino/Alarm_Clock/V13b/DS1307.cpp:10:0:
DS1307_1.h:34:24: error: 'B01110000' was not declared in this scope
#define DS1307_HI_SEC B01110000
^
/home/me/Arduino/Alarm_Clock/V13b/DS1307.cpp:67:35: note: in expansion of macro 'DS1307_HI_SEC'
v=(10*((rtc_bcd[DS1307_SEC] & DS1307_HI_SEC)>>4))+(rtc_bcd[DS1307_SEC] & DS1307_LO_BCD);
^~~~~~~~~~~~~
DS1307_1.h:31:24: error: 'B00001111' was not declared in this scope
#define DS1307_LO_BCD B00001111
^
/home/me/Arduino/Alarm_Clock/V13b/DS1307.cpp:67:78: note: in expansion of macro 'DS1307_LO_BCD'
v=(10*((rtc_bcd[DS1307_SEC] & DS1307_HI_SEC)>>4))+(rtc_bcd[DS1307_SEC] & DS1307_LO_BCD);
^~~~~~~~~~~~~
DS1307_1.h:36:24: error: 'B00110000' was not declared in this scope
#define DS1307_HI_HR B00110000
^
/home/me/Arduino/Alarm_Clock/V13b/DS1307.cpp:73:34: note: in expansion of macro 'DS1307_HI_HR'
v=(10*((rtc_bcd[DS1307_HR] & DS1307_HI_HR)>>4))+(rtc_bcd[DS1307_HR] & DS1307_LO_BCD);
^~~~~~~~~~~~
DS1307_1.h:37:24: error: 'B00000111' was not declared in this scope
#define DS1307_LO_DOW B00000111
^
/home/me/Arduino/Alarm_Clock/V13b/DS1307.cpp:76:29: note: in expansion of macro 'DS1307_LO_DOW'
v=rtc_bcd[DS1307_DOW] & DS1307_LO_DOW;
^~~~~~~~~~~~~
DS1307_1.h:40:24: error: 'B11110000' was not declared in this scope
#define DS1307_HI_YR B11110000
^
/home/me/Arduino/Alarm_Clock/V13b/DS1307.cpp:85:34: note: in expansion of macro 'DS1307_HI_YR'
v=(10*((rtc_bcd[DS1307_YR] & DS1307_HI_YR)>>4))+(rtc_bcd[DS1307_YR] & DS1307_LO_BCD)+DS1307_BASE_YR;
^~~~~~~~~~~~
/home/me/Arduino/Alarm_Clock/V13b/DS1307.cpp: In member function 'void DS1307::set(int, int)':
DS1307.cpp:99:17: error: 'rtc_bcd' was not declared in this scope
int state=rtc_bcd[DS1307_SEC] & DS1307_CLOCKHALT;
^~~~~~~
In file included from /home/me/Arduino/Alarm_Clock/V13b/DS1307.cpp:10:0:
DS1307_1.h:29:26: error: 'B10000000' was not declared in this scope
#define DS1307_CLOCKHALT B10000000
^
/home/me/Arduino/Alarm_Clock/V13b/DS1307.cpp:99:39: note: in expansion of macro 'DS1307_CLOCKHALT'
int state=rtc_bcd[DS1307_SEC] & DS1307_CLOCKHALT;
^~~~~~~~~~~~~~~~
DS1307.cpp:106:7: error: 'rtc_bcd' was not declared in this scope
rtc_bcd[DS1307_MIN]=((v / 10)<<4) + (v % 10);
^~~~~~~
V13b:109:9: error: 'prog_char' does not name a type; did you mean 'putchar'?
PROGMEM prog_char msg_00[]="LCD ALARM CLOCK\nDeveloped by:\nDr.Liu 02/28/12\nhttp://liudr.wordpress.com";
^~~~~~~~~
putchar
DS1307.cpp:113:7: error: 'rtc_bcd' was not declared in this scope
rtc_bcd[DS1307_HR]=((v / 10)<<4) + (v % 10);
^~~~~~~
V13b:110:9: error: 'prog_char' does not name a type; did you mean 'putchar'?
PROGMEM prog_char msg_01[]="Up - Defere alarm\nDown - Disable ALL alarms ON/OFF\nLeft - Blank' ON/OFFRight - Light ON/OFFEnter - SLEEP";
^~~~~~~~~
putchar
DS1307.cpp:119:7: error: 'rtc_bcd' was not declared in this scope
rtc_bcd[DS1307_DOW]=v;
^~~~~~~
V13b:112:9: error: 'prog_char' does not name a type; did you mean 'putchar'?
PROGMEM prog_char month_00[]="JAN";
^~~~~~~~~
putchar
DS1307.cpp:125:7: error: 'rtc_bcd' was not declared in this scope
rtc_bcd[DS1307_DATE]=((v / 10)<<4) + (v % 10);
^~~~~~~
V13b:113:9: error: 'prog_char' does not name a type; did you mean 'putchar'?
PROGMEM prog_char month_01[]="FEB";
^~~~~~~~~
putchar
DS1307.cpp:131:7: error: 'rtc_bcd' was not declared in this scope
rtc_bcd[DS1307_MTH]=((v / 10)<<4) + (v % 10);
^~~~~~~
V13b:114:9: error: 'prog_char' does not name a type; did you mean 'putchar'?
PROGMEM prog_char month_02[]="MAR";
^~~~~~~~~
putchar
DS1307.cpp:137:7: error: 'rtc_bcd' was not declared in this scope
rtc_bcd[DS1307_YR]=((v / 10)<<4) + (v % 10);
^~~~~~~
V13b:115:9: error: 'prog_char' does not name a type; did you mean 'putchar'?
PROGMEM prog_char month_03[]="APR";
^~~~~~~~~
putchar
/home/me/Arduino/Alarm_Clock/V13b/DS1307.cpp: At global scope:
DS1307.cpp:144:24: error: 'int DS1307::min_of_day' is not a static data member of 'class DS1307'
int DS1307::min_of_day(boolean refresh)
^~~~~~~
DS1307.cpp:144:24: error: 'boolean' was not declared in this scope
/home/me/Arduino/Alarm_Clock/V13b/DS1307.cpp:144:24: note: suggested alternative: 'bool'
int DS1307::min_of_day(boolean refresh)
^~~~~~~
bool
/home/me/Arduino/Alarm_Clock/V13b/DS1307.cpp: In member function 'void DS1307::stop()':
DS1307.cpp:156:4: error: 'rtc_bcd' was not declared in this scope
rtc_bcd[DS1307_SEC]=rtc_bcd[DS1307_SEC] | DS1307_CLOCKHALT;
^~~~~~~
V13b:116:9: error: 'prog_char' does not name a type; did you mean 'putchar'?
PROGMEM prog_char month_04[]="MAY";
^~~~~~~~~
putchar
In file included from /home/me/Arduino/Alarm_Clock/V13b/DS1307.cpp:10:0:
DS1307_1.h:29:26: error: 'B10000000' was not declared in this scope
#define DS1307_CLOCKHALT B10000000
^
/home/me/Arduino/Alarm_Clock/V13b/DS1307.cpp:156:46: note: in expansion of macro 'DS1307_CLOCKHALT'
rtc_bcd[DS1307_SEC]=rtc_bcd[DS1307_SEC] | DS1307_CLOCKHALT;
^~~~~~~~~~~~~~~~
V13b:117:9: error: 'prog_char' does not name a type; did you mean 'putchar'?
PROGMEM prog_char month_05[]="JUN";
^~~~~~~~~
putchar
V13b:118:9: error: 'prog_char' does not name a type; did you mean 'putchar'?
PROGMEM prog_char month_06[]="JUL";
^~~~~~~~~
putchar
/home/me/Arduino/Alarm_Clock/V13b/DS1307.cpp: In member function 'void DS1307::start()':
DS1307.cpp:164:4: error: 'rtc_bcd' was not declared in this scope
rtc_bcd[DS1307_SEC]=rtc_bcd[DS1307_SEC] ^ DS1307_CLOCKHALT; ;
^~~~~~~
V13b:119:9: error: 'prog_char' does not name a type; did you mean 'putchar'?
PROGMEM prog_char month_07[]="AUG";
^~~~~~~~~
putchar
In file included from /home/me/Arduino/Alarm_Clock/V13b/DS1307.cpp:10:0:
DS1307_1.h:29:26: error: 'B10000000' was not declared in this scope
#define DS1307_CLOCKHALT B10000000
^
/home/me/Arduino/Alarm_Clock/V13b/DS1307.cpp:164:46: note: in expansion of macro 'DS1307_CLOCKHALT'
rtc_bcd[DS1307_SEC]=rtc_bcd[DS1307_SEC] ^ DS1307_CLOCKHALT; ;
^~~~~~~~~~~~~~~~
V13b:120:9: error: 'prog_char' does not name a type; did you mean 'putchar'?
PROGMEM prog_char month_08[]="SEP";
^~~~~~~~~
putchar
V13b:121:9: error: 'prog_char' does not name a type; did you mean 'putchar'?
PROGMEM prog_char month_09[]="OCT";
^~~~~~~~~
putchar
V13b:122:9: error: 'prog_char' does not name a type; did you mean 'putchar'?
PROGMEM prog_char month_10[]="NOV";
^~~~~~~~~
putchar
V13b:123:9: error: 'prog_char' does not name a type; did you mean 'putchar'?
PROGMEM prog_char month_11[]="DEC";
^~~~~~~~~
putchar
V13b:124:33: error: variable 'month_items' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
PROGMEM const char *month_items[]= {month_00,month_01,month_02,month_03,month_04,month_05,month_06,month_07,month_08,month_09,month_10,month_11};
^
V13b:124:37: error: 'month_00' was not declared in this scope
PROGMEM const char *month_items[]= {month_00,month_01,month_02,month_03,month_04,month_05,month_06,month_07,month_08,month_09,month_10,month_11};
^~~~~~~~
/home/me/Arduino/Alarm_Clock/V13b/V13b.ino:124:37: note: suggested alternative: 'month_items'
PROGMEM const char *month_items[]= {month_00,month_01,month_02,month_03,month_04,month_05,month_06,month_07,month_08,month_09,month_10,month_11};
^~~~~~~~
month_items
V13b:124:46: error: 'month_01' was not declared in this scope
PROGMEM const char *month_items[]= {month_00,month_01,month_02,month_03,month_04,month_05,month_06,month_07,month_08,month_09,month_10,month_11};
^~~~~~~~
/home/me/Arduino/Alarm_Clock/V13b/V13b.ino:124:46: note: suggested alternative: 'month_items'
PROGMEM const char *month_items[]= {month_00,month_01,month_02,month_03,month_04,month_05,month_06,month_07,month_08,month_09,month_10,month_11};
^~~~~~~~
month_items
V13b:124:55: error: 'month_02' was not declared in this scope
PROGMEM const char *month_items[]= {month_00,month_01,month_02,month_03,month_04,month_05,month_06,month_07,month_08,month_09,month_10,month_11};
^~~~~~~~
/home/me/Arduino/Alarm_Clock/V13b/V13b.ino:124:55: note: suggested alternative: 'month_items'
PROGMEM const char *month_items[]= {month_00,month_01,month_02,month_03,month_04,month_05,month_06,month_07,month_08,month_09,month_10,month_11};
^~~~~~~~
month_items
V13b:124:64: error: 'month_03' was not declared in this scope
PROGMEM const char *month_items[]= {month_00,month_01,month_02,month_03,month_04,month_05,month_06,month_07,month_08,month_09,month_10,month_11};
^~~~~~~~
/home/me/Arduino/Alarm_Clock/V13b/V13b.ino:124:64: note: suggested alternative: 'month_items'
PROGMEM const char *month_items[]= {month_00,month_01,month_02,month_03,month_04,month_05,month_06,month_07,month_08,month_09,month_10,month_11};
^~~~~~~~
month_items
V13b:124:73: error: 'month_04' was not declared in this scope
PROGMEM const char *month_items[]= {month_00,month_01,month_02,month_03,month_04,month_05,month_06,month_07,month_08,month_09,month_10,month_11};
^~~~~~~~
/home/me/Arduino/Alarm_Clock/V13b/DS1307.cpp: At global scope:
DS1307.cpp:168:28: error: variable or field 'get_sram_data' declared void
void DS1307::get_sram_data(byte *sram_data)
^~~~
DS1307.cpp:168:28: error: 'byte' was not declared in this scope
DS1307.cpp:168:34: error: 'sram_data' was not declared in this scope
void DS1307::get_sram_data(byte *sram_data)
^~~~~~~~~
DS1307.cpp:182:28: error: variable or field 'set_sram_data' declared void
void DS1307::set_sram_data(byte *sram_data)
^~~~
DS1307.cpp:182:28: error: 'byte' was not declared in this scope
DS1307.cpp:182:34: error: 'sram_data' was not declared in this scope
void DS1307::set_sram_data(byte *sram_data)
^~~~~~~~~
DS1307.cpp:195:1: error: 'byte' does not name a type
byte DS1307::get_sram_byte(int p)
^~~~
DS1307.cpp:205:28: error: variable or field 'set_sram_byte' declared void
void DS1307::set_sram_byte(byte b, int p)
^~~~
DS1307.cpp:205:28: error: 'byte' was not declared in this scope
DS1307.cpp:205:36: error: expected primary-expression before 'int'
void DS1307::set_sram_byte(byte b, int p)
^~~
/home/me/Arduino/Alarm_Clock/V13b/V13b.ino:124:73: note: suggested alternative: 'month_items'
PROGMEM const char *month_items[]= {month_00,month_01,month_02,month_03,month_04,month_05,month_06,month_07,month_08,month_09,month_10,month_11};
^~~~~~~~
month_items
V13b:124:82: error: 'month_05' was not declared in this scope
PROGMEM const char *month_items[]= {month_00,month_01,month_02,month_03,month_04,month_05,month_06,month_07,month_08,month_09,month_10,month_11};
^~~~~~~~
/home/me/Arduino/Alarm_Clock/V13b/V13b.ino:124:82: note: suggested alternative: 'month_items'
PROGMEM const char *month_items[]= {month_00,month_01,month_02,month_03,month_04,month_05,month_06,month_07,month_08,month_09,month_10,month_11};
^~~~~~~~
month_items
V13b:124:91: error: 'month_06' was not declared in this scope
PROGMEM const char *month_items[]= {month_00,month_01,month_02,month_03,month_04,month_05,month_06,month_07,month_08,month_09,month_10,month_11};
^~~~~~~~
/home/me/Arduino/Alarm_Clock/V13b/V13b.ino:124:91: note: suggested alternative: 'month_items'
PROGMEM const char *month_items[]= {month_00,month_01,month_02,month_03,month_04,month_05,month_06,month_07,month_08,month_09,month_10,month_11};
^~~~~~~~
month_items
V13b:124:100: error: 'month_07' was not declared in this scope
PROGMEM const char *month_items[]= {month_00,month_01,month_02,month_03,month_04,month_05,month_06,month_07,month_08,month_09,month_10,month_11};
^~~~~~~~
/home/me/Arduino/Alarm_Clock/V13b/V13b.ino:124:100: note: suggested alternative: 'month_items'
PROGMEM const char *month_items[]= {month_00,month_01,month_02,month_03,month_04,month_05,month_06,month_07,month_08,month_09,month_10,month_11};
^~~~~~~~
month_items
V13b:124:109: error: 'month_08' was not declared in this scope
PROGMEM const char *month_items[]= {month_00,month_01,month_02,month_03,month_04,month_05,month_06,month_07,month_08,month_09,month_10,month_11};
^~~~~~~~
/home/me/Arduino/Alarm_Clock/V13b/V13b.ino:124:109: note: suggested alternative: 'month_items'
PROGMEM const char *month_items[]= {month_00,month_01,month_02,month_03,month_04,month_05,month_06,month_07,month_08,month_09,month_10,month_11};
^~~~~~~~
month_items
V13b:124:118: error: 'month_09' was not declared in this scope
PROGMEM const char *month_items[]= {month_00,month_01,month_02,month_03,month_04,month_05,month_06,month_07,month_08,month_09,month_10,month_11};
^~~~~~~~
/home/me/Arduino/Alarm_Clock/V13b/V13b.ino:124:118: note: suggested alternative: 'month_items'
PROGMEM const char *month_items[]= {month_00,month_01,month_02,month_03,month_04,month_05,month_06,month_07,month_08,month_09,month_10,month_11};
^~~~~~~~
month_items
V13b:124:127: error: 'month_10' was not declared in this scope
PROGMEM const char *month_items[]= {month_00,month_01,month_02,month_03,month_04,month_05,month_06,month_07,month_08,month_09,month_10,month_11};
^~~~~~~~
/home/me/Arduino/Alarm_Clock/V13b/V13b.ino:124:127: note: suggested alternative: 'month_items'
PROGMEM const char *month_items[]= {month_00,month_01,month_02,month_03,month_04,month_05,month_06,month_07,month_08,month_09,month_10,month_11};
^~~~~~~~
month_items
V13b:124:136: error: 'month_11' was not declared in this scope
PROGMEM const char *month_items[]= {month_00,month_01,month_02,month_03,month_04,month_05,month_06,month_07,month_08,month_09,month_10,month_11};
^~~~~~~~
/home/me/Arduino/Alarm_Clock/V13b/V13b.ino:124:136: note: suggested alternative: 'month_items'
PROGMEM const char *month_items[]= {month_00,month_01,month_02,month_03,month_04,month_05,month_06,month_07,month_08,month_09,month_10,month_11};
^~~~~~~~
month_items
V13b:126:9: error: 'prog_char' does not name a type; did you mean 'putchar'?
PROGMEM prog_char dow_00[]="SUN";
^~~~~~~~~
putchar
V13b:127:9: error: 'prog_char' does not name a type; did you mean 'putchar'?
PROGMEM prog_char dow_01[]="MON";
^~~~~~~~~
putchar
V13b:128:9: error: 'prog_char' does not name a type; did you mean 'putchar'?
PROGMEM prog_char dow_02[]="TUE";
^~~~~~~~~
putchar
V13b:129:9: error: 'prog_char' does not name a type; did you mean 'putchar'?
PROGMEM prog_char dow_03[]="WED";
^~~~~~~~~
putchar
V13b:130:9: error: 'prog_char' does not name a type; did you mean 'putchar'?
PROGMEM prog_char dow_04[]="THU";
^~~~~~~~~
putchar
V13b:131:9: error: 'prog_char' does not name a type; did you mean 'putchar'?
PROGMEM prog_char dow_05[]="FRI";
^~~~~~~~~
putchar
V13b:132:9: error: 'prog_char' does not name a type; did you mean 'putchar'?
PROGMEM prog_char dow_06[]="SAT";
^~~~~~~~~
putchar
V13b:133:31: error: variable 'dow_items' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
PROGMEM const char *dow_items[]= {dow_00,dow_01,dow_02,dow_03,dow_04,dow_05,dow_06};
^
V13b:133:35: error: 'dow_00' was not declared in this scope
PROGMEM const char *dow_items[]= {dow_00,dow_01,dow_02,dow_03,dow_04,dow_05,dow_06};
^~~~~~
V13b:133:42: error: 'dow_01' was not declared in this scope
PROGMEM const char *dow_items[]= {dow_00,dow_01,dow_02,dow_03,dow_04,dow_05,dow_06};
^~~~~~
V13b:133:49: error: 'dow_02' was not declared in this scope
PROGMEM const char *dow_items[]= {dow_00,dow_01,dow_02,dow_03,dow_04,dow_05,dow_06};
^~~~~~
V13b:133:56: error: 'dow_03' was not declared in this scope
PROGMEM const char *dow_items[]= {dow_00,dow_01,dow_02,dow_03,dow_04,dow_05,dow_06};
^~~~~~
V13b:133:63: error: 'dow_04' was not declared in this scope
PROGMEM const char *dow_items[]= {dow_00,dow_01,dow_02,dow_03,dow_04,dow_05,dow_06};
^~~~~~
V13b:133:70: error: 'dow_05' was not declared in this scope
PROGMEM const char *dow_items[]= {dow_00,dow_01,dow_02,dow_03,dow_04,dow_05,dow_06};
^~~~~~
V13b:133:77: error: 'dow_06' was not declared in this scope
PROGMEM const char *dow_items[]= {dow_00,dow_01,dow_02,dow_03,dow_04,dow_05,dow_06};
^~~~~~
V13b:135:9: error: 'prog_char' does not name a type; did you mean 'putchar'?
PROGMEM prog_char alarm_00[]="Off";
^~~~~~~~~
putchar
V13b:136:9: error: 'prog_char' does not name a type; did you mean 'putchar'?
PROGMEM prog_char alarm_01[]="Daily";
^~~~~~~~~
putchar
V13b:137:9: error: 'prog_char' does not name a type; did you mean 'putchar'?
PROGMEM prog_char alarm_02[]="Weekday";
^~~~~~~~~
putchar
V13b:138:9: error: 'prog_char' does not name a type; did you mean 'putchar'?
PROGMEM prog_char alarm_03[]="Weekend";
^~~~~~~~~
putchar
V13b:139:9: error: 'prog_char' does not name a type; did you mean 'putchar'?
PROGMEM prog_char alarm_04[]="Once";
^~~~~~~~~
putchar
V13b:140:33: error: variable 'alarm_items' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
PROGMEM const char *alarm_items[]= {alarm_00,alarm_01,alarm_02,alarm_03,alarm_04};
^
V13b:140:37: error: 'alarm_00' was not declared in this scope
PROGMEM const char *alarm_items[]= {alarm_00,alarm_01,alarm_02,alarm_03,alarm_04};
^~~~~~~~
/home/me/Arduino/Alarm_Clock/V13b/V13b.ino:140:37: note: suggested alternative: 'alarm_items'
PROGMEM const char *alarm_items[]= {alarm_00,alarm_01,alarm_02,alarm_03,alarm_04};
^~~~~~~~
alarm_items
V13b:140:46: error: 'alarm_01' was not declared in this scope
PROGMEM const char *alarm_items[]= {alarm_00,alarm_01,alarm_02,alarm_03,alarm_04};
^~~~~~~~
/home/me/Arduino/Alarm_Clock/V13b/V13b.ino:140:46: note: suggested alternative: 'alarm_items'
PROGMEM const char *alarm_items[]= {alarm_00,alarm_01,alarm_02,alarm_03,alarm_04};
^~~~~~~~
alarm_items
V13b:140:55: error: 'alarm_02' was not declared in this scope
PROGMEM const char *alarm_items[]= {alarm_00,alarm_01,alarm_02,alarm_03,alarm_04};
^~~~~~~~
/home/me/Arduino/Alarm_Clock/V13b/V13b.ino:140:55: note: suggested alternative: 'alarm_items'
PROGMEM const char *alarm_items[]= {alarm_00,alarm_01,alarm_02,alarm_03,alarm_04};
^~~~~~~~
alarm_items
V13b:140:64: error: 'alarm_03' was not declared in this scope
PROGMEM const char *alarm_items[]= {alarm_00,alarm_01,alarm_02,alarm_03,alarm_04};
^~~~~~~~
/home/me/Arduino/Alarm_Clock/V13b/V13b.ino:140:64: note: suggested alternative: 'alarm_items'
PROGMEM const char *alarm_items[]= {alarm_00,alarm_01,alarm_02,alarm_03,alarm_04};
^~~~~~~~
alarm_items
V13b:140:73: error: 'alarm_04' was not declared in this scope
PROGMEM const char *alarm_items[]= {alarm_00,alarm_01,alarm_02,alarm_03,alarm_04};
^~~~~~~~
/home/me/Arduino/Alarm_Clock/V13b/V13b.ino:140:73: note: suggested alternative: 'alarm_items'
PROGMEM const char *alarm_items[]= {alarm_00,alarm_01,alarm_02,alarm_03,alarm_04};
^~~~~~~~
alarm_items
/home/me/Arduino/Alarm_Clock/V13b/V13b.ino: In function 'void show_credit()':
V13b:283:23: error: 'msg_00' was not declared in this scope
myLongMsg.ptr.msg_P=msg_00; // Assign the address of the text string to the pointer.
^~~~~~
/home/me/Arduino/Alarm_Clock/V13b/V13b.ino:283:23: note: suggested alternative: 'msg_lcd'
myLongMsg.ptr.msg_P=msg_00; // Assign the address of the text string to the pointer.
^~~~~~
msg_lcd
/home/me/Arduino/Alarm_Clock/V13b/Example_menu.ino: At global scope:
Example_menu:28:9: error: 'prog_char' does not name a type; did you mean 'putchar'?
PROGMEM prog_char top_menu_item00[]="Display clock";
^~~~~~~~~
putchar
Example_menu:29:9: error: 'prog_char' does not name a type; did you mean 'putchar'?
PROGMEM prog_char top_menu_item01[]="List alarms";
^~~~~~~~~
putchar
Example_menu:30:9: error: 'prog_char' does not name a type; did you mean 'putchar'?
PROGMEM prog_char top_menu_item02[]="Set alarms";
^~~~~~~~~
putchar
Example_menu:31:9: error: 'prog_char' does not name a type; did you mean 'putchar'?
PROGMEM prog_char top_menu_item03[]="Adjust time";
^~~~~~~~~
putchar
Example_menu:32:9: error: 'prog_char' does not name a type; did you mean 'putchar'?
PROGMEM prog_char top_menu_item04[]="Adj' alarm run time";
^~~~~~~~~
putchar
Example_menu:33:9: error: 'prog_char' does not name a type; did you mean 'putchar'?
PROGMEM prog_char top_menu_item05[]="Blanket off time";
^~~~~~~~~
putchar
Example_menu:34:9: error: 'prog_char' does not name a type; did you mean 'putchar'?
PROGMEM prog_char top_menu_item06[]="Set skip day";
^~~~~~~~~
putchar
Example_menu:35:9: error: 'prog_char' does not name a type; did you mean 'putchar'?
PROGMEM prog_char top_menu_item07[]="Audio flag";
^~~~~~~~~
putchar
Example_menu:36:9: error: 'prog_char' does not name a type; did you mean 'putchar'?
PROGMEM prog_char top_menu_item08[]="Show key functions";
^~~~~~~~~
putchar
Example_menu:37:9: error: 'prog_char' does not name a type; did you mean 'putchar'?
PROGMEM prog_char top_menu_item09[]="Light run time";
^~~~~~~~~
putchar
Example_menu:38:9: error: 'prog_char' does not name a type; did you mean 'putchar'?
PROGMEM prog_char top_menu_item10[]="Blanket run time";
^~~~~~~~~
putchar
Example_menu:39:9: error: 'prog_char' does not name a type; did you mean 'putchar'?
PROGMEM prog_char top_menu_item11[]="Test audio outputs";
^~~~~~~~~
putchar
Example_menu:40:9: error: 'prog_char' does not name a type; did you mean 'putchar'?
PROGMEM prog_char top_menu_item12[]="Display boot information";
^~~~~~~~~
putchar
Example_menu:41:36: error: variable 'top_menu_items' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
PROGMEM const char *top_menu_items[] = {top_menu_item00, top_menu_item01, top_menu_item02, top_menu_item03, top_menu_item04, top_menu_item05, top_menu_item06, top_menu_item07, top_menu_item08, top_menu_item09, top_menu_item10, top_menu_item11, top_menu_item12};
^
Example_menu:41:41: error: 'top_menu_item00' was not declared in this scope
PROGMEM const char *top_menu_items[] = {top_menu_item00, top_menu_item01, top_menu_item02, top_menu_item03, top_menu_item04, top_menu_item05, top_menu_item06, top_menu_item07, top_menu_item08, top_menu_item09, top_menu_item10, top_menu_item11, top_menu_item12};
^~~~~~~~~~~~~~~
/home/me/Arduino/Alarm_Clock/V13b/Example_menu.ino:41:41: note: suggested alternative: 'top_menu_items'
PROGMEM const char *top_menu_items[] = {top_menu_item00, top_menu_item01, top_menu_item02, top_menu_item03, top_menu_item04, top_menu_item05, top_menu_item06, top_menu_item07, top_menu_item08, top_menu_item09, top_menu_item10, top_menu_item11, top_menu_item12};
^~~~~~~~~~~~~~~
top_menu_items
Example_menu:41:58: error: 'top_menu_item01' was not declared in this scope
PROGMEM const char *top_menu_items[] = {top_menu_item00, top_menu_item01, top_menu_item02, top_menu_item03, top_menu_item04, top_menu_item05, top_menu_item06, top_menu_item07, top_menu_item08, top_menu_item09, top_menu_item10, top_menu_item11, top_menu_item12};
^~~~~~~~~~~~~~~
/home/me/Arduino/Alarm_Clock/V13b/Example_menu.ino:41:58: note: suggested alternative: 'top_menu_items'
PROGMEM const char *top_menu_items[] = {top_menu_item00, top_menu_item01, top_menu_item02, top_menu_item03, top_menu_item04, top_menu_item05, top_menu_item06, top_menu_item07, top_menu_item08, top_menu_item09, top_menu_item10, top_menu_item11, top_menu_item12};
^~~~~~~~~~~~~~~
top_menu_items
Example_menu:41:75: error: 'top_menu_item02' was not declared in this scope
PROGMEM const char *top_menu_items[] = {top_menu_item00, top_menu_item01, top_menu_item02, top_menu_item03, top_menu_item04, top_menu_item05, top_menu_item06, top_menu_item07, top_menu_item08, top_menu_item09, top_menu_item10, top_menu_item11, top_menu_item12};
^~~~~~~~~~~~~~~
/home/me/Arduino/Alarm_Clock/V13b/Example_menu.ino:41:75: note: suggested alternative: 'top_menu_items'
PROGMEM const char *top_menu_items[] = {top_menu_item00, top_menu_item01, top_menu_item02, top_menu_item03, top_menu_item04, top_menu_item05, top_menu_item06, top_menu_item07, top_menu_item08, top_menu_item09, top_menu_item10, top_menu_item11, top_menu_item12};
^~~~~~~~~~~~~~~
top_menu_items
Example_menu:41:92: error: 'top_menu_item03' was not declared in this scope
PROGMEM const char *top_menu_items[] = {top_menu_item00, top_menu_item01, top_menu_item02, top_menu_item03, top_menu_item04, top_menu_item05, top_menu_item06, top_menu_item07, top_menu_item08, top_menu_item09, top_menu_item10, top_menu_item11, top_menu_item12};
^~~~~~~~~~~~~~~
/home/me/Arduino/Alarm_Clock/V13b/Example_menu.ino:41:92: note: suggested alternative: 'top_menu_items'
PROGMEM const char *top_menu_items[] = {top_menu_item00, top_menu_item01, top_menu_item02, top_menu_item03, top_menu_item04, top_menu_item05, top_menu_item06, top_menu_item07, top_menu_item08, top_menu_item09, top_menu_item10, top_menu_item11, top_menu_item12};
^~~~~~~~~~~~~~~
top_menu_items
Example_menu:41:109: error: 'top_menu_item04' was not declared in this scope
PROGMEM const char *top_menu_items[] = {top_menu_item00, top_menu_item01, top_menu_item02, top_menu_item03, top_menu_item04, top_menu_item05, top_menu_item06, top_menu_item07, top_menu_item08, top_menu_item09, top_menu_item10, top_menu_item11, top_menu_item12};
^~~~~~~~~~~~~~~
/home/me/Arduino/Alarm_Clock/V13b/Example_menu.ino:41:109: note: suggested alternative: 'top_menu_items'
PROGMEM const char *top_menu_items[] = {top_menu_item00, top_menu_item01, top_menu_item02, top_menu_item03, top_menu_item04, top_menu_item05, top_menu_item06, top_menu_item07, top_menu_item08, top_menu_item09, top_menu_item10, top_menu_item11, top_menu_item12};
^~~~~~~~~~~~~~~
top_menu_items
Example_menu:41:126: error: 'top_menu_item05' was not declared in this scope
PROGMEM const char *top_menu_items[] = {top_menu_item00, top_menu_item01, top_menu_item02, top_menu_item03, top_menu_item04, top_menu_item05, top_menu_item06, top_menu_item07, top_menu_item08, top_menu_item09, top_menu_item10, top_menu_item11, top_menu_item12};
^~~~~~~~~~~~~~~
/home/me/Arduino/Alarm_Clock/V13b/Example_menu.ino:41:126: note: suggested alternative: 'top_menu_items'
PROGMEM const char *top_menu_items[] = {top_menu_item00, top_menu_item01, top_menu_item02, top_menu_item03, top_menu_item04, top_menu_item05, top_menu_item06, top_menu_item07, top_menu_item08, top_menu_item09, top_menu_item10, top_menu_item11, top_menu_item12};
^~~~~~~~~~~~~~~
top_menu_items
Example_menu:41:143: error: 'top_menu_item06' was not declared in this scope
PROGMEM const char *top_menu_items[] = {top_menu_item00, top_menu_item01, top_menu_item02, top_menu_item03, top_menu_item04, top_menu_item05, top_menu_item06, top_menu_item07, top_menu_item08, top_menu_item09, top_menu_item10, top_menu_item11, top_menu_item12};
^~~~~~~~~~~~~~~
/home/me/Arduino/Alarm_Clock/V13b/Example_menu.ino:41:143: note: suggested alternative: 'top_menu_items'
PROGMEM const char *top_menu_items[] = {top_menu_item00, top_menu_item01, top_menu_item02, top_menu_item03, top_menu_item04, top_menu_item05, top_menu_item06, top_menu_item07, top_menu_item08, top_menu_item09, top_menu_item10, top_menu_item11, top_menu_item12};
^~~~~~~~~~~~~~~
top_menu_items
Example_menu:41:160: error: 'top_menu_item07' was not declared in this scope
PROGMEM const char *top_menu_items[] = {top_menu_item00, top_menu_item01, top_menu_item02, top_menu_item03, top_menu_item04, top_menu_item05, top_menu_item06, top_menu_item07, top_menu_item08, top_menu_item09, top_menu_item10, top_menu_item11, top_menu_item12};
^~~~~~~~~~~~~~~
/home/me/Arduino/Alarm_Clock/V13b/Example_menu.ino:41:160: note: suggested alternative: 'top_menu_items'
PROGMEM const char *top_menu_items[] = {top_menu_item00, top_menu_item01, top_menu_item02, top_menu_item03, top_menu_item04, top_menu_item05, top_menu_item06, top_menu_item07, top_menu_item08, top_menu_item09, top_menu_item10, top_menu_item11, top_menu_item12};
^~~~~~~~~~~~~~~
top_menu_items
Example_menu:41:177: error: 'top_menu_item08' was not declared in this scope
PROGMEM const char *top_menu_items[] = {top_menu_item00, top_menu_item01, top_menu_item02, top_menu_item03, top_menu_item04, top_menu_item05, top_menu_item06, top_menu_item07, top_menu_item08, top_menu_item09, top_menu_item10, top_menu_item11, top_menu_item12};
^~~~~~~~~~~~~~~
/home/me/Arduino/Alarm_Clock/V13b/Example_menu.ino:41:177: note: suggested alternative: 'top_menu_items'
PROGMEM const char *top_menu_items[] = {top_menu_item00, top_menu_item01, top_menu_item02, top_menu_item03, top_menu_item04, top_menu_item05, top_menu_item06, top_menu_item07, top_menu_item08, top_menu_item09, top_menu_item10, top_menu_item11, top_menu_item12};
^~~~~~~~~~~~~~~
top_menu_items
Example_menu:41:194: error: 'top_menu_item09' was not declared in this scope
PROGMEM const char *top_menu_items[] = {top_menu_item00, top_menu_item01, top_menu_item02, top_menu_item03, top_menu_item04, top_menu_item05, top_menu_item06, top_menu_item07, top_menu_item08, top_menu_item09, top_menu_item10, top_menu_item11, top_menu_item12};
^~~~~~~~~~~~~~~
/home/me/Arduino/Alarm_Clock/V13b/Example_menu.ino:41:194: note: suggested alternative: 'top_menu_items'
PROGMEM const char *top_menu_items[] = {top_menu_item00, top_menu_item01, top_menu_item02, top_menu_item03, top_menu_item04, top_menu_item05, top_menu_item06, top_menu_item07, top_menu_item08, top_menu_item09, top_menu_item10, top_menu_item11, top_menu_item12};
^~~~~~~~~~~~~~~
top_menu_items
Example_menu:41:211: error: 'top_menu_item10' was not declared in this scope
PROGMEM const char *top_menu_items[] = {top_menu_item00, top_menu_item01, top_menu_item02, top_menu_item03, top_menu_item04, top_menu_item05, top_menu_item06, top_menu_item07, top_menu_item08, top_menu_item09, top_menu_item10, top_menu_item11, top_menu_item12};
^~~~~~~~~~~~~~~
/home/me/Arduino/Alarm_Clock/V13b/Example_menu.ino:41:211: note: suggested alternative: 'top_menu_items'
PROGMEM const char *top_menu_items[] = {top_menu_item00, top_menu_item01, top_menu_item02, top_menu_item03, top_menu_item04, top_menu_item05, top_menu_item06, top_menu_item07, top_menu_item08, top_menu_item09, top_menu_item10, top_menu_item11, top_menu_item12};
^~~~~~~~~~~~~~~
top_menu_items
Example_menu:41:228: error: 'top_menu_item11' was not declared in this scope
PROGMEM const char *top_menu_items[] = {top_menu_item00, top_menu_item01, top_menu_item02, top_menu_item03, top_menu_item04, top_menu_item05, top_menu_item06, top_menu_item07, top_menu_item08, top_menu_item09, top_menu_item10, top_menu_item11, top_menu_item12};
^~~~~~~~~~~~~~~
/home/me/Arduino/Alarm_Clock/V13b/Example_menu.ino:41:228: note: suggested alternative: 'top_menu_items'
PROGMEM const char *top_menu_items[] = {top_menu_item00, top_menu_item01, top_menu_item02, top_menu_item03, top_menu_item04, top_menu_item05, top_menu_item06, top_menu_item07, top_menu_item08, top_menu_item09, top_menu_item10, top_menu_item11, top_menu_item12};
^~~~~~~~~~~~~~~
top_menu_items
Example_menu:41:245: error: 'top_menu_item12' was not declared in this scope
PROGMEM const char *top_menu_items[] = {top_menu_item00, top_menu_item01, top_menu_item02, top_menu_item03, top_menu_item04, top_menu_item05, top_menu_item06, top_menu_item07, top_menu_item08, top_menu_item09, top_menu_item10, top_menu_item11, top_menu_item12};
^~~~~~~~~~~~~~~
/home/me/Arduino/Alarm_Clock/V13b/Example_menu.ino:41:245: note: suggested alternative: 'top_menu_items'
PROGMEM const char *top_menu_items[] = {top_menu_item00, top_menu_item01, top_menu_item02, top_menu_item03, top_menu_item04, top_menu_item05, top_menu_item06, top_menu_item07, top_menu_item08, top_menu_item09, top_menu_item10, top_menu_item11, top_menu_item12};
^~~~~~~~~~~~~~~
top_menu_items
/home/me/Arduino/Alarm_Clock/V13b/My_routines.ino: In function 'void show_keys()':
My_routines:486:23: error: 'msg_01' was not declared in this scope
myLongMsg.ptr.msg_P=msg_01; // Assign the address of the text string to the pointer.
^~~~~~
/home/me/Arduino/Alarm_Clock/V13b/My_routines.ino:486:23: note: suggested alternative: 'msg_lcd'
myLongMsg.ptr.msg_P=msg_01; // Assign the address of the text string to the pointer.
^~~~~~
msg_lcd
Multiple libraries were found for "LiquidCrystal.h"
Used: /home/me/Arduino/libraries/LiquidCrystal
Not used: /snap/arduino/85/libraries/LiquidCrystal
Multiple libraries were found for "Wire.h"
Used: /home/me/snap/arduino/85/.arduino15/packages/arduino/hardware/avr/1.8.5/libraries/Wire
Not used: /home/me/Arduino/libraries/Wire
exit status 1
'boolean' has not been declared
This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.
V13b.zip (21.8 KB)
Other_libraries.zip (160.6 KB)