|
Post by rwalker43 on Jun 13, 2022 8:57:23 GMT -8
Hi,
I'm trying to upload SDL_Arduino_WeatherBoard.ino to an Arduino Uno. During the compilation, I get the following error: no matching function for call to 'AS3935::AS3935(int, int)'. The error occurs on this line: AS3935 AS3935(3, 0x03);.
I have not modified the code in any way. I am also not an expert in this area. Can you point me in the right direction?
|
|
|
Post by SDL on Jun 14, 2022 14:55:44 GMT -8
Could you post the entire compilation error?
BP
|
|
|
Post by rwalker43 on Jun 15, 2022 4:32:08 GMT -8
Thanks for the reply! I've pasted the complete error below!
SDL_Arduino_Weatherboard:94:23: error: no matching function for call to 'AS3935::AS3935(int, int)' AS3935 AS3935(3, 0x03); ^ In file included from C:\Users\Ron\Documents\Arduino\SDL_Arduino_Weatherboard\SDL_Arduino_Weatherboard.ino:81:0: C:\Users\Ron\Documents\Arduino\libraries\AS3935\src/AS3935.h:43:2: note: candidate: AS3935::AS3935() AS3935(void); ^~~~~~ C:\Users\Ron\Documents\Arduino\libraries\AS3935\src/AS3935.h:43:2: note: candidate expects 0 arguments, 2 provided SDL_Arduino_Weatherboard:165:58: error: 'tmElements_t' has not been declared void buildTimeString(char returnString[], char *buffer2, tmElements_t convertTime) ^~~~~~~~~~~~ C:\Users\Ron\Documents\Arduino\SDL_Arduino_Weatherboard\SDL_Arduino_Weatherboard.ino: In function 'void printAS3935Registers()': SDL_Arduino_Weatherboard:100:27: error: 'class AS3935' has no member named 'getNoiseFloor'; did you mean 'setNoiseFloor'? int noiseFloor = AS3935.getNoiseFloor(); ^~~~~~~~~~~~~ setNoiseFloor SDL_Arduino_Weatherboard:101:31: error: 'class AS3935' has no member named 'getSpikeRejection'; did you mean 'setSpikeRejection'? int spikeRejection = AS3935.getSpikeRejection(); ^~~~~~~~~~~~~~~~~ setSpikeRejection SDL_Arduino_Weatherboard:102:34: error: 'class AS3935' has no member named 'getWatchdogThreshold' int watchdogThreshold = AS3935.getWatchdogThreshold(); ^~~~~~~~~~~~~~~~~~~~ In file included from C:\Users\Ron\Documents\Arduino\SDL_Arduino_Weatherboard\SDL_Arduino_Weatherboard.ino:124:0: C:\Users\Ron\Documents\Arduino\libraries\SDL_ARDUINO_DS3231/SDL_ARDUINO_DS3231.h: At global scope: C:\Users\Ron\Documents\Arduino\libraries\SDL_ARDUINO_DS3231/SDL_ARDUINO_DS3231.h:20:22: error: 'tmElements_t' has not been declared static bool read(tmElements_t &tm); ^~~~~~~~~~~~ C:\Users\Ron\Documents\Arduino\libraries\SDL_ARDUINO_DS3231/SDL_ARDUINO_DS3231.h:21:23: error: 'tmElements_t' has not been declared static bool write(tmElements_t &tm); ^~~~~~~~~~~~ C:\Users\Ron\Documents\Arduino\SDL_Arduino_Weatherboard\SDL_Arduino_Weatherboard.ino: In function 'void digitalClockDisplay()': SDL_Arduino_Weatherboard:141:16: error: 'hour' was not declared in this scope Serial.print(hour()); ^~~~ SDL_Arduino_Weatherboard:142:15: error: 'minute' was not declared in this scope printDigits(minute()); ^~~~~~ C:\Users\Ron\Documents\Arduino\SDL_Arduino_Weatherboard\SDL_Arduino_Weatherboard.ino:142:15: note: suggested alternative: 'init' printDigits(minute()); ^~~~~~ init SDL_Arduino_Weatherboard:143:15: error: 'second' was not declared in this scope printDigits(second()); ^~~~~~ C:\Users\Ron\Documents\Arduino\SDL_Arduino_Weatherboard\SDL_Arduino_Weatherboard.ino:143:15: note: suggested alternative: 'rewind' printDigits(second()); ^~~~~~ rewind SDL_Arduino_Weatherboard:145:16: error: 'day' was not declared in this scope Serial.print(day()); ^~~ SDL_Arduino_Weatherboard:147:16: error: 'month' was not declared in this scope Serial.print(month()); ^~~~~ SDL_Arduino_Weatherboard:149:16: error: 'year' was not declared in this scope Serial.print(year()); ^~~~ C:\Users\Ron\Documents\Arduino\SDL_Arduino_Weatherboard\SDL_Arduino_Weatherboard.ino:149:16: note: suggested alternative: 'char' Serial.print(year()); ^~~~ char C:\Users\Ron\Documents\Arduino\SDL_Arduino_Weatherboard\SDL_Arduino_Weatherboard.ino: At global scope: SDL_Arduino_Weatherboard:165:58: error: 'tmElements_t' has not been declared void buildTimeString(char returnString[], char *buffer2, tmElements_t convertTime) ^~~~~~~~~~~~ C:\Users\Ron\Documents\Arduino\SDL_Arduino_Weatherboard\SDL_Arduino_Weatherboard.ino: In function 'void buildTimeString(char*, char*, int)': SDL_Arduino_Weatherboard:171:57: error: request for member 'Year' in 'convertTime', which is of non-class type 'int' sprintf(myBuffer, "%i-", tmYearToCalendar(convertTime.Year)); ^~~~ SDL_Arduino_Weatherboard:171:28: error: 'tmYearToCalendar' was not declared in this scope sprintf(myBuffer, "%i-", tmYearToCalendar(convertTime.Year)); ^~~~~~~~~~~~~~~~ SDL_Arduino_Weatherboard:174:49: error: request for member 'Month' in 'convertTime', which is of non-class type 'int' return2Digits(myBuffer, myBuffer, convertTime.Month); ^~~~~ SDL_Arduino_Weatherboard:178:49: error: request for member 'Day' in 'convertTime', which is of non-class type 'int' return2Digits(myBuffer, myBuffer, convertTime.Day); ^~~ SDL_Arduino_Weatherboard:182:49: error: request for member 'Hour' in 'convertTime', which is of non-class type 'int' return2Digits(myBuffer, myBuffer, convertTime.Hour); ^~~~ SDL_Arduino_Weatherboard:186:49: error: request for member 'Minute' in 'convertTime', which is of non-class type 'int' return2Digits(myBuffer, myBuffer, convertTime.Minute); ^~~~~~ SDL_Arduino_Weatherboard:190:49: error: request for member 'Second' in 'convertTime', which is of non-class type 'int' return2Digits(myBuffer, myBuffer, convertTime.Second); ^~~~~~ In file included from C:\Users\Ron\Documents\Arduino\SDL_Arduino_Weatherboard\SDL_Arduino_Weatherboard.ino:207:0: C:\Users\Ron\Documents\Arduino\libraries\SDL_Arduino_WeatherBoard-master/FRAMLog.h: In function 'void initializeFRAMTable(int)': C:\Users\Ron\Documents\Arduino\libraries\SDL_Arduino_WeatherBoard-master/FRAMLog.h:42:10: error: 'class Adafruit_FRAM_I2C' has no member named 'write8'; did you mean 'write'? fram.write8(i*lineSize, 1); // 1 = empty, 2 = full ^~~~~~ write C:\Users\Ron\Documents\Arduino\libraries\SDL_Arduino_WeatherBoard-master/FRAMLog.h:43:10: error: 'class Adafruit_FRAM_I2C' has no member named 'write8'; did you mean 'write'? fram.write8(i*lineSize+1, NOTREAD); // status byte // 0 = not read, 1 = read successfull, -1 = tried to read ^~~~~~ write C:\Users\Ron\Documents\Arduino\libraries\SDL_Arduino_WeatherBoard-master/FRAMLog.h:44:10: error: 'class Adafruit_FRAM_I2C' has no member named 'write8'; did you mean 'write'? fram.write8(i*lineSize+2, FRAMWeatherEntryType); // Entry type ^~~~~~ write C:\Users\Ron\Documents\Arduino\libraries\SDL_Arduino_WeatherBoard-master/FRAMLog.h:45:10: error: 'class Adafruit_FRAM_I2C' has no member named 'write8'; did you mean 'write'? fram.write8(i*lineSize+3, 'E'); // empty string ^~~~~~ write C:\Users\Ron\Documents\Arduino\libraries\SDL_Arduino_WeatherBoard-master/FRAMLog.h:46:10: error: 'class Adafruit_FRAM_I2C' has no member named 'write8'; did you mean 'write'? fram.write8(i*lineSize+4, 'M'); // empty string ^~~~~~ write C:\Users\Ron\Documents\Arduino\libraries\SDL_Arduino_WeatherBoard-master/FRAMLog.h:47:10: error: 'class Adafruit_FRAM_I2C' has no member named 'write8'; did you mean 'write'? fram.write8(i*lineSize+5, 'P'); // empty string ^~~~~~ write C:\Users\Ron\Documents\Arduino\libraries\SDL_Arduino_WeatherBoard-master/FRAMLog.h:48:10: error: 'class Adafruit_FRAM_I2C' has no member named 'write8'; did you mean 'write'? fram.write8(i*lineSize+6, 'T'); // empty string ^~~~~~ write C:\Users\Ron\Documents\Arduino\libraries\SDL_Arduino_WeatherBoard-master/FRAMLog.h:49:10: error: 'class Adafruit_FRAM_I2C' has no member named 'write8'; did you mean 'write'? fram.write8(i*lineSize+7, 'Y'); // empty string ^~~~~~ write C:\Users\Ron\Documents\Arduino\libraries\SDL_Arduino_WeatherBoard-master/FRAMLog.h:50:10: error: 'class Adafruit_FRAM_I2C' has no member named 'write8'; did you mean 'write'? fram.write8(i*lineSize+8, '\0'); // empty string ^~~~~~ write C:\Users\Ron\Documents\Arduino\libraries\SDL_Arduino_WeatherBoard-master/FRAMLog.h: In function 'void writeFramEntry(int, char*)': C:\Users\Ron\Documents\Arduino\libraries\SDL_Arduino_WeatherBoard-master/FRAMLog.h:73:10: error: 'class Adafruit_FRAM_I2C' has no member named 'write8'; did you mean 'write'? fram.write8(FramEntryNextItem*lineSize, 2); // 1 = empty, 2 = full ^~~~~~ write C:\Users\Ron\Documents\Arduino\libraries\SDL_Arduino_WeatherBoard-master/FRAMLog.h:74:10: error: 'class Adafruit_FRAM_I2C' has no member named 'write8'; did you mean 'write'? fram.write8(FramEntryNextItem*lineSize+1, NOTREAD); // status byte // 0 = not read, 1 = read successfull, -1 = tried to read ^~~~~~ write In file included from C:\Users\Ron\Documents\Arduino\SDL_Arduino_Weatherboard\SDL_Arduino_Weatherboard.ino:207:0: C:\Users\Ron\Documents\Arduino\libraries\SDL_Arduino_WeatherBoard-master/FRAMLog.h:75:10: error: 'class Adafruit_FRAM_I2C' has no member named 'write8'; did you mean 'write'? fram.write8(FramEntryNextItem*lineSize+2, FRAMWeatherEntryType); // Entry type ^~~~~~ write C:\Users\Ron\Documents\Arduino\libraries\SDL_Arduino_WeatherBoard-master/FRAMLog.h:80:12: error: 'class Adafruit_FRAM_I2C' has no member named 'write8'; did you mean 'write'? fram.write8(FramEntryNextItem*lineSize+3+i, newEntry); // empty string ^~~~~~ write C:\Users\Ron\Documents\Arduino\libraries\SDL_Arduino_WeatherBoard-master/FRAMLog.h:84:10: error: 'class Adafruit_FRAM_I2C' has no member named 'write8'; did you mean 'write'? fram.write8(FramEntryNextItem*lineSize+3+i, '\0'); // empty string ^~~~~~ write C:\Users\Ron\Documents\Arduino\libraries\SDL_Arduino_WeatherBoard-master/FRAMLog.h: In function 'int returnFramUnreadCount()': C:\Users\Ron\Documents\Arduino\libraries\SDL_Arduino_WeatherBoard-master/FRAMLog.h:117:23: error: 'class Adafruit_FRAM_I2C' has no member named 'read8'; did you mean 'read'? statusByte = fram.read8(FramLineSize*i+1); ^~~~~ read C:\Users\Ron\Documents\Arduino\libraries\SDL_Arduino_WeatherBoard-master/FRAMLog.h:118:17: error: 'class Adafruit_FRAM_I2C' has no member named 'read8'; did you mean 'read'? EorF = fram.read8(FramLineSize*i); ^~~~~ read C:\Users\Ron\Documents\Arduino\libraries\SDL_Arduino_WeatherBoard-master/FRAMLog.h: In function 'int FramfetchNextUnreadEntry()': C:\Users\Ron\Documents\Arduino\libraries\SDL_Arduino_WeatherBoard-master/FRAMLog.h:150:23: error: 'class Adafruit_FRAM_I2C' has no member named 'read8'; did you mean 'read'? statusByte = fram.read8(FramLineSize*i+1); ^~~~~ read C:\Users\Ron\Documents\Arduino\libraries\SDL_Arduino_WeatherBoard-master/FRAMLog.h:151:17: error: 'class Adafruit_FRAM_I2C' has no member named 'read8'; did you mean 'read'? EorF = fram.read8(FramLineSize*i); ^~~~~ read C:\Users\Ron\Documents\Arduino\libraries\SDL_Arduino_WeatherBoard-master/FRAMLog.h:155:12: error: 'class Adafruit_FRAM_I2C' has no member named 'write8'; did you mean 'write'? fram.write8(i*FramLineSize+1, TRIEDTOREAD); ^~~~~~ write C:\Users\Ron\Documents\Arduino\libraries\SDL_Arduino_WeatherBoard-master/FRAMLog.h: In function 'void readFramItem(char*, char*, int, int)': C:\Users\Ron\Documents\Arduino\libraries\SDL_Arduino_WeatherBoard-master/FRAMLog.h:170:14: error: 'class Adafruit_FRAM_I2C' has no member named 'read8'; did you mean 'read'? if (fram.read8(FramLineSize*index) == 2) ^~~~~ read C:\Users\Ron\Documents\Arduino\libraries\SDL_Arduino_WeatherBoard-master/FRAMLog.h:174:14: error: 'class Adafruit_FRAM_I2C' has no member named 'write8'; did you mean 'write'? fram.write8(FramLineSize*index, 1); ^~~~~~ write C:\Users\Ron\Documents\Arduino\libraries\SDL_Arduino_WeatherBoard-master/FRAMLog.h:183:33: error: 'class Adafruit_FRAM_I2C' has no member named 'read8'; did you mean 'read'? returnItem[j] = fram.read8(index*FramLineSize+3+j); ^~~~~ read C:\Users\Ron\Documents\Arduino\libraries\SDL_Arduino_WeatherBoard-master/FRAMLog.h: In function 'void displayFram()': C:\Users\Ron\Documents\Arduino\libraries\SDL_Arduino_WeatherBoard-master/FRAMLog.h:264:19: error: 'class Adafruit_FRAM_I2C' has no member named 'read8'; did you mean 'read'? EorF = fram.read8(i*lineSize); ^~~~~ read C:\Users\Ron\Documents\Arduino\libraries\SDL_Arduino_WeatherBoard-master/FRAMLog.h:272:28: error: 'class Adafruit_FRAM_I2C' has no member named 'read8'; did you mean 'read'? Serial.print(fram.read8(i*lineSize+0)); ^~~~~ read C:\Users\Ron\Documents\Arduino\libraries\SDL_Arduino_WeatherBoard-master/FRAMLog.h:274:28: error: 'class Adafruit_FRAM_I2C' has no member named 'read8'; did you mean 'read'? Serial.print(fram.read8(i*lineSize+1)); ^~~~~ read C:\Users\Ron\Documents\Arduino\libraries\SDL_Arduino_WeatherBoard-master/FRAMLog.h:276:28: error: 'class Adafruit_FRAM_I2C' has no member named 'read8'; did you mean 'read'? Serial.print(fram.read8(i*lineSize+2)); ^~~~~ read C:\Users\Ron\Documents\Arduino\libraries\SDL_Arduino_WeatherBoard-master/FRAMLog.h:282:30: error: 'class Adafruit_FRAM_I2C' has no member named 'read8'; did you mean 'read'? buffer2[j] = fram.read8(i*lineSize+3+j); ^~~~~ read C:\Users\Ron\Documents\Arduino\SDL_Arduino_Weatherboard\SDL_Arduino_Weatherboard.ino: In function 'void setup()': SDL_Arduino_Weatherboard:334:3: error: 'tmElements_t' was not declared in this scope tmElements_t tm; ^~~~~~~~~~~~ SDL_Arduino_Weatherboard:335:14: error: expected primary-expression before ')' token RTC.read(tm); ^ SDL_Arduino_Weatherboard:410:10: error: 'class AS3935' has no member named 'reset'; did you mean 'regInt'? AS3935.reset(); ^~~~~ regInt SDL_Arduino_Weatherboard:428:27: error: 'class AS3935' has no member named 'getNoiseFloor'; did you mean 'setNoiseFloor'? int noiseFloor = AS3935.getNoiseFloor(); ^~~~~~~~~~~~~ setNoiseFloor SDL_Arduino_Weatherboard:442:10: error: 'class AS3935' has no member named 'setOutdoors'; did you mean 'setIndoor'? AS3935.setOutdoors(); ^~~~~~~~~~~ setIndoor SDL_Arduino_Weatherboard:446:10: error: 'class AS3935' has no member named 'disableDisturbers'; did you mean 'setMaskDisturber'? AS3935.disableDisturbers(); ^~~~~~~~~~~~~~~~~ setMaskDisturber C:\Users\Ron\Documents\Arduino\SDL_Arduino_Weatherboard\SDL_Arduino_Weatherboard.ino: In function 'void loop()': SDL_Arduino_Weatherboard:550:5: error: 'tmElements_t' was not declared in this scope tmElements_t tm; ^~~~~~~~~~~~ SDL_Arduino_Weatherboard:554:16: error: expected primary-expression before ')' token RTC.read(tm); ^ SDL_Arduino_Weatherboard:556:19: error: expected primary-expression before '.' token printDigits(tm.Hour); ^ SDL_Arduino_Weatherboard:558:19: error: expected primary-expression before '.' token printDigits(tm.Minute); ^ SDL_Arduino_Weatherboard:560:19: error: expected primary-expression before '.' token printDigits(tm.Second); ^ SDL_Arduino_Weatherboard:562:19: error: expected primary-expression before '.' token printDigits(tm.Day); ^ SDL_Arduino_Weatherboard:564:19: error: expected primary-expression before '.' token printDigits(tm.Month); ^ SDL_Arduino_Weatherboard:566:37: error: expected primary-expression before '.' token Serial.print(tmYearToCalendar(tm.Year)); ^ SDL_Arduino_Weatherboard:566:18: error: 'tmYearToCalendar' was not declared in this scope Serial.print(tmYearToCalendar(tm.Year)); ^~~~~~~~~~~~~~~~ SDL_Arduino_Weatherboard:730:24: error: 'class AS3935' has no member named 'interruptSource'; did you mean 'interruptHandler'? irqSource = AS3935.interruptSource(); ^~~~~~~~~~~~~~~ interruptHandler SDL_Arduino_Weatherboard:750:33: error: 'class AS3935' has no member named 'lightningDistanceKm'; did you mean 'getDistance'? strokeDistance = AS3935.lightningDistanceKm(); ^~~~~~~~~~~~~~~~~~~ getDistance SDL_Arduino_Weatherboard:775:16: error: expected primary-expression before ')' token RTC.read(tm); ^ SDL_Arduino_Weatherboard:782:41: error: expected primary-expression before ')' token buildTimeString(timeNow, timeNow, tm); ^ exit status 1 no matching function for call to 'AS3935::AS3935(int, int)'
|
|
|
Post by SDL on Jun 16, 2022 18:42:24 GMT -8
Well you are missing the AS3935 library or you have it installed where the Arduino can't find it. That's for posting this. You also haven't installed the time.h library.
Let me know if you have the AS3935 library installed.
BP
|
|
|
Post by rwalker43 on Jun 23, 2022 8:22:05 GMT -8
Hi,
Yes, both of those libraries are installed. I attempted to attach screenshots, but was unable in this reply!
AS3935 by Steve Marple Version 1.0.5 INSTALLED Library to support Austrian Microsystems AS3935 lightning sensor. Arduino library to support Austrian Microsystems AS3935 lightning sensor using the I2C interface. For I2C support the SoftWire software bit-banging Arduino library is used. GNU LGPL v2.1 More info
Time by Paul Stoffregen Version 1.6.1 INSTALLED Timekeeping functionality for Arduino Date and Time functions, with provisions to synchronize to external time sources like GPS and NTP (Internet). This library is often used together with TimeAlarms and DS1307RTC. More info Select version H Install
|
|
|
Post by SDL on Jun 24, 2022 7:56:42 GMT -8
Hmm. There is something funky about the Time library and your AS3935 library.
Did you install the libraries included in the repository as shown in the README.md?
BP
|
|
|
Post by rwalker43 on Jun 27, 2022 8:03:27 GMT -8
I did! In fact, I deleted everything previously downloaded and started over with this, including redownloading the master file. All libraries were extracted and copied to Libraries folder. Now when I attempt to upload, the compilation fails with a different error.
I am using an Arduino Uno with the Weatherboard. Being that this error is related to time, is the code looking for a real time clock? Is that a separate board or is it integrated into the Weatherboard?
SDL_Arduino_Weatherboard:165:58: error: 'tmElements_t' has not been declared void buildTimeString(char returnString[], char *buffer2, tmElements_t convertTime) ^~~~~~~~~~~~ In file included from C:\Users\Ron\Documents\Arduino\SDL_Arduino_Weatherboard\SDL_Arduino_Weatherboard.ino:124:0: C:\Users\Ron\Documents\Arduino\libraries\SDL_ARDUINO_DS3231/SDL_ARDUINO_DS3231.h:20:22: error: 'tmElements_t' has not been declared static bool read(tmElements_t &tm); ^~~~~~~~~~~~ C:\Users\Ron\Documents\Arduino\libraries\SDL_ARDUINO_DS3231/SDL_ARDUINO_DS3231.h:21:23: error: 'tmElements_t' has not been declared static bool write(tmElements_t &tm); ^~~~~~~~~~~~ C:\Users\Ron\Documents\Arduino\SDL_Arduino_Weatherboard\SDL_Arduino_Weatherboard.ino: In function 'void digitalClockDisplay()': SDL_Arduino_Weatherboard:141:16: error: 'hour' was not declared in this scope Serial.print(hour()); ^~~~ SDL_Arduino_Weatherboard:142:15: error: 'minute' was not declared in this scope printDigits(minute()); ^~~~~~ C:\Users\Ron\Documents\Arduino\SDL_Arduino_Weatherboard\SDL_Arduino_Weatherboard.ino:142:15: note: suggested alternative: 'init' printDigits(minute()); ^~~~~~ init SDL_Arduino_Weatherboard:143:15: error: 'second' was not declared in this scope printDigits(second()); ^~~~~~ C:\Users\Ron\Documents\Arduino\SDL_Arduino_Weatherboard\SDL_Arduino_Weatherboard.ino:143:15: note: suggested alternative: 'rewind' printDigits(second()); ^~~~~~ rewind SDL_Arduino_Weatherboard:145:16: error: 'day' was not declared in this scope Serial.print(day()); ^~~ SDL_Arduino_Weatherboard:147:16: error: 'month' was not declared in this scope Serial.print(month()); ^~~~~ SDL_Arduino_Weatherboard:149:16: error: 'year' was not declared in this scope Serial.print(year()); ^~~~ C:\Users\Ron\Documents\Arduino\SDL_Arduino_Weatherboard\SDL_Arduino_Weatherboard.ino:149:16: note: suggested alternative: 'char' Serial.print(year()); ^~~~ char C:\Users\Ron\Documents\Arduino\SDL_Arduino_Weatherboard\SDL_Arduino_Weatherboard.ino: At global scope: SDL_Arduino_Weatherboard:165:58: error: 'tmElements_t' has not been declared void buildTimeString(char returnString[], char *buffer2, tmElements_t convertTime) ^~~~~~~~~~~~ C:\Users\Ron\Documents\Arduino\SDL_Arduino_Weatherboard\SDL_Arduino_Weatherboard.ino: In function 'void buildTimeString(char*, char*, int)': SDL_Arduino_Weatherboard:171:57: error: request for member 'Year' in 'convertTime', which is of non-class type 'int' sprintf(myBuffer, "%i-", tmYearToCalendar(convertTime.Year)); ^~~~ SDL_Arduino_Weatherboard:171:28: error: 'tmYearToCalendar' was not declared in this scope sprintf(myBuffer, "%i-", tmYearToCalendar(convertTime.Year)); ^~~~~~~~~~~~~~~~ SDL_Arduino_Weatherboard:174:49: error: request for member 'Month' in 'convertTime', which is of non-class type 'int' return2Digits(myBuffer, myBuffer, convertTime.Month); ^~~~~ SDL_Arduino_Weatherboard:178:49: error: request for member 'Day' in 'convertTime', which is of non-class type 'int' return2Digits(myBuffer, myBuffer, convertTime.Day); ^~~ SDL_Arduino_Weatherboard:182:49: error: request for member 'Hour' in 'convertTime', which is of non-class type 'int' return2Digits(myBuffer, myBuffer, convertTime.Hour); ^~~~ SDL_Arduino_Weatherboard:186:49: error: request for member 'Minute' in 'convertTime', which is of non-class type 'int' return2Digits(myBuffer, myBuffer, convertTime.Minute); ^~~~~~ SDL_Arduino_Weatherboard:190:49: error: request for member 'Second' in 'convertTime', which is of non-class type 'int' return2Digits(myBuffer, myBuffer, convertTime.Second); ^~~~~~ In file included from C:\Users\Ron\Documents\Arduino\SDL_Arduino_Weatherboard\SDL_Arduino_Weatherboard.ino:228:0: C:\Users\Ron\Documents\Arduino\libraries\Adafruit_BMP280_Library-2.6.2/Adafruit_BMP280.h: At global scope: C:\Users\Ron\Documents\Arduino\libraries\Adafruit_BMP280_Library-2.6.2/Adafruit_BMP280.h:93:8: error: conflicting return type specified for 'virtual bool Adafruit_BMP280_Temp::getEvent(sensors_event_t*)' bool getEvent(sensors_event_t *); ^~~~~~~~ In file included from C:\Users\Ron\Documents\Arduino\libraries\Adafruit_BMP280_Library-2.6.2/Adafruit_BMP280.h:26:0, from C:\Users\Ron\Documents\Arduino\SDL_Arduino_Weatherboard\SDL_Arduino_Weatherboard.ino:228: C:\Users\Ron\Documents\Arduino\libraries\Adafruit_sensor/Adafruit_Sensor.h:146:16: error: overriding 'virtual void Adafruit_Sensor::getEvent(sensors_event_t*)' virtual void getEvent(sensors_event_t*); ^~~~~~~~ In file included from C:\Users\Ron\Documents\Arduino\SDL_Arduino_Weatherboard\SDL_Arduino_Weatherboard.ino:228:0: C:\Users\Ron\Documents\Arduino\libraries\Adafruit_BMP280_Library-2.6.2/Adafruit_BMP280.h:107:8: error: conflicting return type specified for 'virtual bool Adafruit_BMP280_Pressure::getEvent(sensors_event_t*)' bool getEvent(sensors_event_t *); ^~~~~~~~ In file included from C:\Users\Ron\Documents\Arduino\libraries\Adafruit_BMP280_Library-2.6.2/Adafruit_BMP280.h:26:0, from C:\Users\Ron\Documents\Arduino\SDL_Arduino_Weatherboard\SDL_Arduino_Weatherboard.ino:228: C:\Users\Ron\Documents\Arduino\libraries\Adafruit_sensor/Adafruit_Sensor.h:146:16: error: overriding 'virtual void Adafruit_Sensor::getEvent(sensors_event_t*)' virtual void getEvent(sensors_event_t*); ^~~~~~~~ C:\Users\Ron\Documents\Arduino\SDL_Arduino_Weatherboard\SDL_Arduino_Weatherboard.ino: In function 'void setup()': SDL_Arduino_Weatherboard:334:3: error: 'tmElements_t' was not declared in this scope tmElements_t tm; ^~~~~~~~~~~~ SDL_Arduino_Weatherboard:335:14: error: expected primary-expression before ')' token RTC.read(tm); ^ C:\Users\Ron\Documents\Arduino\SDL_Arduino_Weatherboard\SDL_Arduino_Weatherboard.ino: In function 'void loop()': SDL_Arduino_Weatherboard:550:5: error: 'tmElements_t' was not declared in this scope tmElements_t tm; ^~~~~~~~~~~~ SDL_Arduino_Weatherboard:554:16: error: expected primary-expression before ')' token RTC.read(tm); ^ SDL_Arduino_Weatherboard:556:19: error: expected primary-expression before '.' token printDigits(tm.Hour); ^ SDL_Arduino_Weatherboard:558:19: error: expected primary-expression before '.' token printDigits(tm.Minute); ^ SDL_Arduino_Weatherboard:560:19: error: expected primary-expression before '.' token printDigits(tm.Second); ^ SDL_Arduino_Weatherboard:562:19: error: expected primary-expression before '.' token printDigits(tm.Day); ^ SDL_Arduino_Weatherboard:564:19: error: expected primary-expression before '.' token printDigits(tm.Month); ^ SDL_Arduino_Weatherboard:566:37: error: expected primary-expression before '.' token Serial.print(tmYearToCalendar(tm.Year)); ^ SDL_Arduino_Weatherboard:566:18: error: 'tmYearToCalendar' was not declared in this scope Serial.print(tmYearToCalendar(tm.Year)); ^~~~~~~~~~~~~~~~ SDL_Arduino_Weatherboard:775:16: error: expected primary-expression before ')' token RTC.read(tm); ^ SDL_Arduino_Weatherboard:782:41: error: expected primary-expression before ')' token buildTimeString(timeNow, timeNow, tm); ^ Multiple libraries were found for "Adafruit_Sensor.h" Used: C:\Users\Ron\Documents\Arduino\libraries\Adafruit_sensor Not used: C:\Users\Ron\Documents\Arduino\libraries\Adafruit_Unified_Sensor exit status 1 'tmElements_t' has not been declared
|
|
|
Post by rwalker43 on Jun 27, 2022 14:37:55 GMT -8
An update:
After each of these errors, I'm doing a lot of searching for solutions. Since I posted last, I've updated all updateable libraries. I also found a solution that eliminated the error in the last post. The solution was to go into the sketch and delete the #Include <Time.h> line and then go into Include Library menu and re-add the Time.h library. When I did this, it also added #Include <TimeLib.h>. This got me past the error, however, now there is a new issue. For each step forward, as step back!
When I compile, I now get:
In file included from C:\Users\Ron\Documents\Arduino\SDL_Arduino_Weatherboard\SDL_Arduino_Weatherboard.ino:231:0: C:\Users\Ron\Documents\Arduino\libraries\Adafruit_BMP280_Library-2.6.2/Adafruit_BMP280.h:93:8: error: conflicting return type specified for 'virtual bool Adafruit_BMP280_Temp::getEvent(sensors_event_t*)' bool getEvent(sensors_event_t *); ^~~~~~~~ In file included from C:\Users\Ron\Documents\Arduino\libraries\Adafruit_BMP280_Library-2.6.2/Adafruit_BMP280.h:26:0, from C:\Users\Ron\Documents\Arduino\SDL_Arduino_Weatherboard\SDL_Arduino_Weatherboard.ino:231: C:\Users\Ron\Documents\Arduino\libraries\Adafruit_sensor/Adafruit_Sensor.h:146:16: error: overriding 'virtual void Adafruit_Sensor::getEvent(sensors_event_t*)' virtual void getEvent(sensors_event_t*); ^~~~~~~~ In file included from C:\Users\Ron\Documents\Arduino\SDL_Arduino_Weatherboard\SDL_Arduino_Weatherboard.ino:231:0: C:\Users\Ron\Documents\Arduino\libraries\Adafruit_BMP280_Library-2.6.2/Adafruit_BMP280.h:107:8: error: conflicting return type specified for 'virtual bool Adafruit_BMP280_Pressure::getEvent(sensors_event_t*)' bool getEvent(sensors_event_t *); ^~~~~~~~ In file included from C:\Users\Ron\Documents\Arduino\libraries\Adafruit_BMP280_Library-2.6.2/Adafruit_BMP280.h:26:0, from C:\Users\Ron\Documents\Arduino\SDL_Arduino_Weatherboard\SDL_Arduino_Weatherboard.ino:231: C:\Users\Ron\Documents\Arduino\libraries\Adafruit_sensor/Adafruit_Sensor.h:146:16: error: overriding 'virtual void Adafruit_Sensor::getEvent(sensors_event_t*)' virtual void getEvent(sensors_event_t*); ^~~~~~~~ Multiple libraries were found for "Adafruit_Sensor.h" Used: C:\Users\Ron\Documents\Arduino\libraries\Adafruit_sensor Not used: C:\Users\Ron\Documents\Arduino\libraries\Adafruit_Unified_Sensor Multiple libraries were found for "TimeLib.h" Used: C:\Users\Ron\Documents\Arduino\libraries\Time Not used: C:\Users\Ron\Documents\Arduino\libraries\SDL_ESP32_WeatherSenseSkyCam-main exit status 1 Error compiling for board Arduino Uno.
|
|
|
Post by SDL on Jul 10, 2022 9:08:17 GMT -8
Wow! We have no idea. This has something to do with the Adafruit libraries (which have well known problems with their whole changeover - check adafruit.com) but all I can say is compiles for us!
BP
|
|