Precision RTC worked great on ESP32 until now

For RTC breakouts, etc., use the Other Products from Adafruit forum

Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.
Locked
User avatar
boatsman
 
Posts: 3
Joined: Fri Apr 07, 2017 4:44 am

Precision RTC worked great on ESP32 until now

Post by boatsman »

Hello people of Adafruit,

Thanks for your great great stuff! This is for me an absolute begin for this first question on this forum. :-)

I had the Precision RTC working on an ESP32 using the Arduino IDE. I updated the IDE today and now the RTClib (still 1.2.0) starts producing these 2 errors:
/Users/pieter/Documents/Arduino/libraries/RTClib/RTClib.cpp: In constructor 'DateTime::DateTime(const char*, const char*)':
/Users/pieter/Documents/Arduino/libraries/RTClib/RTClib.cpp:136:70: error: operation on '((DateTime*)this)->DateTime::m' may be undefined [-Werror=sequence-point]
case 'J': m = date[1] == 'a' ? 1 : m = date[2] == 'n' ? 6 : 7; break;
^
/Users/pieter/Documents/Arduino/libraries/RTClib/RTClib.cpp: In constructor 'DateTime::DateTime(const __FlashStringHelper*, const __FlashStringHelper*)':
/Users/pieter/Documents/Arduino/libraries/RTClib/RTClib.cpp:161:70: error: operation on '((DateTime*)this)->DateTime::m' may be undefined [-Werror=sequence-point]
case 'J': m = buff[1] == 'a' ? 1 : m = buff[2] == 'n' ? 6 : 7; break;
Mmm..., I checked the RTClib.cpp, but don't know how to solve this.
Perhaps anybody has a clever suggestion what is causing this?

Thanks in advance!

Pieter




part of Arduino's console:

Arduino: 1.8.1 (Mac OS X), TD: 1.35, Board: "SparkFun ESP32 Thing, 80MHz, 921600"

/Applications/Arduino1.8.1.app/Contents/Java/arduino-builder -dump-prefs -logger=machine -hardware /Applications/Arduino1.8.1.app/Contents/Java/hardware -hardware /Users/pieter/Library/Arduino15/packages -hardware /Users/pieter/Documents/Arduino/hardware -tools /Applications/Arduino1.8.1.app/Contents/Java/tools-builder -tools /Applications/Arduino1.8.1.app/Contents/Java/hardware/tools/avr -tools /Users/pieter/Library/Arduino15/packages -built-in-libraries /Applications/Arduino1.8.1.app/Contents/Java/libraries -libraries /Users/pieter/Documents/Arduino/libraries -fqbn=espressif:esp32:esp32thing:FlashFreq=80,UploadSpeed=921600 -ide-version=10801 -build-path /var/folders/z3/tdbclb_51cg3vw1w8nlt_zf00000gn/T/arduino_build_88711 -warnings=all -prefs=build.warn_data_percentage=75 -verbose /var/folders/z3/tdbclb_51cg3vw1w8nlt_zf00000gn/T/arduino_modified_sketch_591841/Master_foundation_tester_V02.ino
/Applications/Arduino1.8.1.app/Contents/Java/arduino-builder -compile -logger=machine -hardware /Applications/Arduino1.8.1.app/Contents/Java/hardware -hardware /Users/pieter/Library/Arduino15/packages -hardware /Users/pieter/Documents/Arduino/hardware -tools /Applications/Arduino1.8.1.app/Contents/Java/tools-builder -tools /Applications/Arduino1.8.1.app/Contents/Java/hardware/tools/avr -tools /Users/pieter/Library/Arduino15/packages -built-in-libraries /Applications/Arduino1.8.1.app/Contents/Java/libraries -libraries /Users/pieter/Documents/Arduino/libraries -fqbn=espressif:esp32:esp32thing:FlashFreq=80,UploadSpeed=921600 -ide-version=10801 -build-path /var/folders/z3/tdbclb_51cg3vw1w8nlt_zf00000gn/T/arduino_build_88711 -warnings=all -prefs=build.warn_data_percentage=75 -verbose /var/folders/z3/tdbclb_51cg3vw1w8nlt_zf00000gn/T/arduino_modified_sketch_591841/Master_foundation_tester_V02.ino
Using board 'esp32thing' from platform in folder: /Users/pieter/Documents/Arduino/hardware/espressif/esp32
Using core 'esp32' from platform in folder: /Users/pieter/Documents/Arduino/hardware/espressif/esp32
Detecting libraries used...


Compiling libraries...
Compiling library "Adafruit_GFX_Library"
Using previously compiled file: /var/folders/z3/tdbclb_51cg3vw1w8nlt_zf00000gn/T/arduino_build_88711/libraries/Adafruit_GFX_Library/glcdfont.c.o
Using previously compiled file: /var/folders/z3/tdbclb_51cg3vw1w8nlt_zf00000gn/T/arduino_build_88711/libraries/Adafruit_GFX_Library/Adafruit_GFX.cpp.o
Compiling library "Adafruit_LED_Backpack_Library"
Using previously compiled file: /var/folders/z3/tdbclb_51cg3vw1w8nlt_zf00000gn/T/arduino_build_88711/libraries/Adafruit_LED_Backpack_Library/Adafruit_LEDBackpack.cpp.o
Compiling library "Wire"
Using previously compiled file: /var/folders/z3/tdbclb_51cg3vw1w8nlt_zf00000gn/T/arduino_build_88711/libraries/Wire/Wire.cpp.o
Compiling library "RTClib"
"/Users/pieter/Documents/Arduino/hardware/espressif/esp32/tools/xtensa-esp32-elf/bin/xtensa-esp32-elf-g++" -DESP_PLATFORM -DMBEDTLS_CONFIG_FILE="mbedtls/esp_config.h" -DHAVE_CONFIG_H "-I/Users/pieter/Documents/Arduino/hardware/espressif/esp32/tools/sdk/include/config" "-I/Users/pieter/Documents/Arduino/hardware/espressif/esp32/tools/sdk/include/bluedroid" "-I/Users/pieter/Documents/Arduino/hardware/espressif/esp32/tools/sdk/include/app_update" "-I/Users/pieter/Documents/Arduino/hardware/espressif/esp32/tools/sdk/include/bootloader_support" "-I/Users/pieter/Documents/Arduino/hardware/espressif/esp32/tools/sdk/include/bt" "-I/Users/pieter/Documents/Arduino/hardware/espressif/esp32/tools/sdk/include/driver" "-I/Users/pieter/Documents/Arduino/hardware/espressif/esp32/tools/sdk/include/esp32" "-I/Users/pieter/Documents/Arduino/hardware/espressif/esp32/tools/sdk/include/ethernet" "-I/Users/pieter/Documents/Arduino/hardware/espressif/esp32/tools/sdk/include/fatfs" "-I/Users/pieter/Documents/Arduino/hardware/espressif/esp32/tools/sdk/include/freertos" "-I/Users/pieter/Documents/Arduino/hardware/espressif/esp32/tools/sdk/include/jsmn" "-I/Users/pieter/Documents/Arduino/hardware/espressif/esp32/tools/sdk/include/log" "-I/Users/pieter/Documents/Arduino/hardware/espressif/esp32/tools/sdk/include/mdns" "-I/Users/pieter/Documents/Arduino/hardware/espressif/esp32/tools/sdk/include/mbedtls" "-I/Users/pieter/Documents/Arduino/hardware/espressif/esp32/tools/sdk/include/mbedtls_port" "-I/Users/pieter/Documents/Arduino/hardware/espressif/esp32/tools/sdk/include/newlib" "-I/Users/pieter/Documents/Arduino/hardware/espressif/esp32/tools/sdk/include/nvs_flash" "-I/Users/pieter/Documents/Arduino/hardware/espressif/esp32/tools/sdk/include/openssl" "-I/Users/pieter/Documents/Arduino/hardware/espressif/esp32/tools/sdk/include/spi_flash" "-I/Users/pieter/Documents/Arduino/hardware/espressif/esp32/tools/sdk/include/sdmmc" "-I/Users/pieter/Documents/Arduino/hardware/espressif/esp32/tools/sdk/include/tcpip_adapter" "-I/Users/pieter/Documents/Arduino/hardware/espressif/esp32/tools/sdk/include/ulp" "-I/Users/pieter/Documents/Arduino/hardware/espressif/esp32/tools/sdk/include/vfs" "-I/Users/pieter/Documents/Arduino/hardware/espressif/esp32/tools/sdk/include/xtensa-debug-module" "-I/Users/pieter/Documents/Arduino/hardware/espressif/esp32/tools/sdk/include/newlib" "-I/Users/pieter/Documents/Arduino/hardware/espressif/esp32/tools/sdk/include/coap" "-I/Users/pieter/Documents/Arduino/hardware/espressif/esp32/tools/sdk/include/wpa_supplicant" "-I/Users/pieter/Documents/Arduino/hardware/espressif/esp32/tools/sdk/include/expat" "-I/Users/pieter/Documents/Arduino/hardware/espressif/esp32/tools/sdk/include/json" "-I/Users/pieter/Documents/Arduino/hardware/espressif/esp32/tools/sdk/include/nghttp" "-I/Users/pieter/Documents/Arduino/hardware/espressif/esp32/tools/sdk/include/lwip" -std=gnu++11 -fno-exceptions -fno-rtti -Os -g3 -Wpointer-arith -ffunction-sections -fdata-sections -fstrict-volatile-bitfields -mlongcalls -nostdlib -Wall -Werror=all -Wextra -Wno-error=unused-function -Wno-error=unused-but-set-variable -Wno-error=unused-variable -Wno-error=deprecated-declarations -Wno-unused-parameter -Wno-sign-compare -fno-rtti -MMD -c -DF_CPU=240000000L -DARDUINO=10801 -DARDUINO_ESP32_THING -DARDUINO_ARCH_ESP32 -DESP32 -DCORE_DEBUG_LEVEL=0 "-I/Users/pieter/Documents/Arduino/hardware/espressif/esp32/cores/esp32" "-I/Users/pieter/Documents/Arduino/hardware/espressif/esp32/variants/esp32thing" "-I/Users/pieter/Documents/Arduino/libraries/Adafruit_GFX_Library" "-I/Users/pieter/Documents/Arduino/libraries/Adafruit_LED_Backpack_Library" "-I/Users/pieter/Documents/Arduino/hardware/espressif/esp32/libraries/Wire/src" "-I/Users/pieter/Documents/Arduino/libraries/RTClib" "-I/Users/pieter/Documents/Arduino/hardware/espressif/esp32/libraries/FS/src" "-I/Users/pieter/Documents/Arduino/hardware/espressif/esp32/libraries/SD/src" "-I/Users/pieter/Documents/Arduino/hardware/espressif/esp32/libraries/SPI/src" "/Users/pieter/Documents/Arduino/libraries/RTClib/RTClib.cpp" -o "/var/folders/z3/tdbclb_51cg3vw1w8nlt_zf00000gn/T/arduino_build_88711/libraries/RTClib/RTClib.cpp.o"
/Users/pieter/Documents/Arduino/libraries/RTClib/RTClib.cpp: In constructor 'DateTime::DateTime(const char*, const char*)':
/Users/pieter/Documents/Arduino/libraries/RTClib/RTClib.cpp:136:70: error: operation on '((DateTime*)this)->DateTime::m' may be undefined [-Werror=sequence-point]
case 'J': m = date[1] == 'a' ? 1 : m = date[2] == 'n' ? 6 : 7; break;
^
/Users/pieter/Documents/Arduino/libraries/RTClib/RTClib.cpp: In constructor 'DateTime::DateTime(const __FlashStringHelper*, const __FlashStringHelper*)':
/Users/pieter/Documents/Arduino/libraries/RTClib/RTClib.cpp:161:70: error: operation on '((DateTime*)this)->DateTime::m' may be undefined [-Werror=sequence-point]
case 'J': m = buff[1] == 'a' ? 1 : m = buff[2] == 'n' ? 6 : 7; break;
^
cc1plus: some warnings being treated as errors
Multiple libraries were found for "SD.h"
Used: /Users/pieter/Documents/Arduino/hardware/espressif/esp32/libraries/SD
Not used: /Applications/Arduino1.8.1.app/Contents/Java/libraries/SD
Using library Adafruit_GFX_Library at version 1.1.9 in folder: /Users/pieter/Documents/Arduino/libraries/Adafruit_GFX_Library
Using library Adafruit_LED_Backpack_Library at version 1.1.6 in folder: /Users/pieter/Documents/Arduino/libraries/Adafruit_LED_Backpack_Library
Using library Wire at version 1.0 in folder: /Users/pieter/Documents/Arduino/hardware/espressif/esp32/libraries/Wire
Using library RTClib at version 1.2.0 in folder: /Users/pieter/Documents/Arduino/libraries/RTClib
Using library FS at version 1.0 in folder: /Users/pieter/Documents/Arduino/hardware/espressif/esp32/libraries/FS
Using library SD at version 1.0.5 in folder: /Users/pieter/Documents/Arduino/hardware/espressif/esp32/libraries/SD
Using library SPI at version 1.0 in folder: /Users/pieter/Documents/Arduino/hardware/espressif/esp32/libraries/SPI
exit status 1
Error compiling for board SparkFun ESP32 Thing.

User avatar
adafruit_support_rick
 
Posts: 35092
Joined: Tue Mar 15, 2011 11:42 am

Re: Precision RTC worked great on ESP32 until now

Post by adafruit_support_rick »

Looks like you're using Sparkfun stuff? This forum is for Adafruit products.
However, it looks like the compiler has gotten a little fussy about syntax. Try changing those lines in the library to either this:

Code: Select all

case 'J': m = (date[1] == 'a') ? 1 : ((date[2] == 'n' )? 6 : 7;) break;
or

Code: Select all

case 'J': {
                          if (date[1] == 'a')
                              m = 1;
                          else if (date[2] == 'n')
                             m = 6;
                          else
                             m = 7;
                          }
                          break;

User avatar
boatsman
 
Posts: 3
Joined: Fri Apr 07, 2017 4:44 am

Re: Precision RTC worked great on ESP32 until now

Post by boatsman »

Thanks rick, i'll give it a try when I am near the stuff.
It's about the precision RTC, I bet that's Adafruit ;-) But if I am honest, yes: I use the Arduino platform on a ESP32 from expressif, on a board of another suplier etc.. But the library is Adafruit's. Wauw my setup's are so mixed. Still...I am really glad with all the Adafruit stuff using and used. Adafruit!!!
Thanks for the suggestion.

Pieter

User avatar
boatsman
 
Posts: 3
Joined: Fri Apr 07, 2017 4:44 am

Re: Precision RTC worked great on ESP32 until now

Post by boatsman »

Thanks Rick, this worked:

Code: Select all

case 'J': m = (date[1] == 'a') ? 1 : ((date[2] == 'n' )? 6 : 7); break;
Note the ";" was in the wrong place.
Also had to change:

Code: Select all

case 'J': m = buff[1] == 'a' ? 1 : m = buff[2] == 'n' ? 6 : 7; break;
to

Code: Select all

 case 'J': m = (buff[1] == 'a') ? 1 : ((buff[2] == 'n' )? 6 : 7); break;
in the same way.
So the lib also works for the ESP32. Can be addad in the list in the readme ;-)

User avatar
adafruit_support_rick
 
Posts: 35092
Joined: Tue Mar 15, 2011 11:42 am

Re: Precision RTC worked great on ESP32 until now

Post by adafruit_support_rick »

cool! The compiler really should be able to handle the original syntax. They must have introduced a bug.
boatsman wrote:Note the ";" was in the wrong place.
oops!

I fixed the library. Now version 1.2.1

Locked
Please be positive and constructive with your questions and comments.

Return to “Clock Kits (discontinued)”