ich habe probleme mit der Time - Bibliothek.
Ein Sketch der vor zirka einem 1/2 Jahr noch ohne Fehler Kompiliert wurde spuckt jetzt bei der Kompilierung folgende Fehlermeldung aus:
Arduino: 1.5.7 (Linux), Board: "Arduino Nano, ATmega328"
Verwende die Bibliothek Time im Ordner: /home/rudi/Arduino/libraries/Time (legacy)
Verwende die Bibliothek Wire im Ordner: /home/rudi/Desktop/arduino-1.5.7/hardware/arduino/avr/libraries/Wire (legacy)
Verwende die Bibliothek DS1307RTC im Ordner: /home/rudi/Arduino/libraries/DS1307RTC (legacy)
/home/rudi/Desktop/arduino-1.5.7/hardware/tools/avr/bin/avr-g++ -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=157 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR -I/home/rudi/Desktop/arduino-1.5.7/hardware/arduino/avr/cores/arduino -I/home/rudi/Desktop/arduino-1.5.7/hardware/arduino/avr/variants/eightanaloginputs -I/home/rudi/Arduino/libraries/Time -I/home/rudi/Desktop/arduino-1.5.7/hardware/arduino/avr/libraries/Wire -I/home/rudi/Arduino/libraries/DS1307RTC /tmp/build3932441227709209754.tmp/TimeRTC.cpp -o /tmp/build3932441227709209754.tmp/TimeRTC.cpp.o
/home/rudi/Desktop/arduino-1.5.7/hardware/tools/avr/bin/avr-g++ -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=157 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR -I/home/rudi/Desktop/arduino-1.5.7/hardware/arduino/avr/cores/arduino -I/home/rudi/Desktop/arduino-1.5.7/hardware/arduino/avr/variants/eightanaloginputs -I/home/rudi/Arduino/libraries/Time -I/home/rudi/Desktop/arduino-1.5.7/hardware/arduino/avr/libraries/Wire -I/home/rudi/Arduino/libraries/DS1307RTC -I/home/rudi/Arduino/libraries/Time/utility /home/rudi/Arduino/libraries/Time/Time.cpp -o /tmp/build3932441227709209754.tmp/Time/Time.cpp.o
/home/rudi/Desktop/arduino-1.5.7/hardware/tools/avr/bin/avr-g++ -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections -MMD -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=157 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR -I/home/rudi/Desktop/arduino-1.5.7/hardware/arduino/avr/cores/arduino -I/home/rudi/Desktop/arduino-1.5.7/hardware/arduino/avr/variants/eightanaloginputs -I/home/rudi/Arduino/libraries/Time -I/home/rudi/Desktop/arduino-1.5.7/hardware/arduino/avr/libraries/Wire -I/home/rudi/Arduino/libraries/DS1307RTC -I/home/rudi/Arduino/libraries/Time/utility /home/rudi/Arduino/libraries/Time/DateStrings.cpp -o /tmp/build3932441227709209754.tmp/Time/DateStrings.cpp.o
In file included from /home/rudi/Arduino/libraries/Time/DateStrings.cpp:10:0:
/home/rudi/Arduino/libraries/Time/DateStrings.cpp:18:18: error: variable 'monthStr1' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
char monthStr1[] PROGMEM = "January";
^
/home/rudi/Arduino/libraries/Time/DateStrings.cpp:19:18: error: variable 'monthStr2' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
char monthStr2[] PROGMEM = "February";
^
/home/rudi/Arduino/libraries/Time/DateStrings.cpp:20:18: error: variable 'monthStr3' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
char monthStr3[] PROGMEM = "March";
^
/home/rudi/Arduino/libraries/Time/DateStrings.cpp:21:18: error: variable 'monthStr4' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
char monthStr4[] PROGMEM = "April";
^
/home/rudi/Arduino/libraries/Time/DateStrings.cpp:22:18: error: variable 'monthStr5' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
char monthStr5[] PROGMEM = "May";
^
/home/rudi/Arduino/libraries/Time/DateStrings.cpp:23:18: error: variable 'monthStr6' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
char monthStr6[] PROGMEM = "June";
^
/home/rudi/Arduino/libraries/Time/DateStrings.cpp:24:18: error: variable 'monthStr7' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
char monthStr7[] PROGMEM = "July";
^
/home/rudi/Arduino/libraries/Time/DateStrings.cpp:25:18: error: variable 'monthStr8' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
char monthStr8[] PROGMEM = "August";
^
/home/rudi/Arduino/libraries/Time/DateStrings.cpp:26:18: error: variable 'monthStr9' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
char monthStr9[] PROGMEM = "September";
^
/home/rudi/Arduino/libraries/Time/DateStrings.cpp:27:19: error: variable 'monthStr10' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
char monthStr10[] PROGMEM = "October";
^
/home/rudi/Arduino/libraries/Time/DateStrings.cpp:28:19: error: variable 'monthStr11' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
char monthStr11[] PROGMEM = "November";
^
/home/rudi/Arduino/libraries/Time/DateStrings.cpp:29:19: error: variable 'monthStr12' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
char monthStr12[] PROGMEM = "December";
^
/home/rudi/Arduino/libraries/Time/DateStrings.cpp:31:22: error: variable 'monthNames_P' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
PGM_P monthNames_P[] PROGMEM =
^
/home/rudi/Arduino/libraries/Time/DateStrings.cpp:37:26: error: variable 'monthShortNames_P' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
char monthShortNames_P[] PROGMEM = "ErrJanFebMarAprMayJunJulAugSepOctNovDec";
^
/home/rudi/Arduino/libraries/Time/DateStrings.cpp:39:16: error: variable 'dayStr0' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
char dayStr0[] PROGMEM = "Err";
^
/home/rudi/Arduino/libraries/Time/DateStrings.cpp:40:16: error: variable 'dayStr1' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
char dayStr1[] PROGMEM = "Sunday";
^
/home/rudi/Arduino/libraries/Time/DateStrings.cpp:41:16: error: variable 'dayStr2' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
char dayStr2[] PROGMEM = "Monday";
^
/home/rudi/Arduino/libraries/Time/DateStrings.cpp:42:16: error: variable 'dayStr3' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
char dayStr3[] PROGMEM = "Tuesday";
^
/home/rudi/Arduino/libraries/Time/DateStrings.cpp:43:16: error: variable 'dayStr4' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
char dayStr4[] PROGMEM = "Wednesday";
^
/home/rudi/Arduino/libraries/Time/DateStrings.cpp:44:16: error: variable 'dayStr5' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
char dayStr5[] PROGMEM = "Thursday";
^
/home/rudi/Arduino/libraries/Time/DateStrings.cpp:45:16: error: variable 'dayStr6' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
char dayStr6[] PROGMEM = "Friday";
^
/home/rudi/Arduino/libraries/Time/DateStrings.cpp:46:16: error: variable 'dayStr7' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
char dayStr7[] PROGMEM = "Saturday";
^
/home/rudi/Arduino/libraries/Time/DateStrings.cpp:48:20: error: variable 'dayNames_P' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
PGM_P dayNames_P[] PROGMEM = { dayStr0,dayStr1,dayStr2,dayStr3,dayStr4,dayStr5,dayStr6,dayStr7};
^
/home/rudi/Arduino/libraries/Time/DateStrings.cpp:49:24: error: variable 'dayShortNames_P' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
char dayShortNames_P[] PROGMEM = "ErrSunMonTueWedThrFriSat";
Dasselbe geschiet auch wenn ich das Beispiel in der LIB verwende.
Auch bei IDE 1.5.5 und unter Windows.
Mit den selben IDE? hats doch vor einiger Zeit funktioniert . Kann eventuell jemand sagen woran das liegt?
Den Sketch hab ich mal unten angehängt.
Das hängt damit zusammen dass die avr libc endlich mal aktualisiert wurde und jetzt PROGMEM Konstanten unbedingt const sein müssen. Vorher war die PROGMEM Implementierung nicht ganz regelgerecht. Und gerade bei String Arrays gibt das Fehler, da die wenigsten Leute wohl const Pointer auf const Daten deklarieren.
Ist aber sofort behoben. Öffne die Datei DateStrings.cpp. Dann mache alle einfachen Strings const. z.B.:
Darunter ist nochmal ein anderes Array. Gleiches Prinzip. Vorher stand da glaube ich nur "const char*". Was heißt das nur die Daten const sind, aber man dem Zeiger selbst was anderes Zuweisen kann . Mit dem zweimal const hat man jetzt einen const Zeiger auf const Daten.
Rudi01:
Die Strigs const char monthStr1[] PROGMEM = "January"; habe ich nicht gefunden stattdessen :
Das ist ja der Fehler! PROGMEM Daten müssen const jetzt zwingend const sein. Und bei Arrays aus Strings braucht man const char* const für die Zeiger Arrays die die einzelnen Strings enthalten.
Deshalb wie du sagtest, so:
const char monthStr1[] PROGMEM = "January";
ob const char oder char const ist egal, aber ersteres ist üblicher.
Dann hier:
PGM_P monthNames_P[] PROGMEM = { ... }
PGM_P ist ein Makro für const char*. Daher ist das gleiche wie:
jetzt hab ich mal die DateStrings.cpp angepasst aber die Fehlermeldungen kommen immernoch wenn auch wenigere.
hier mal die fehlermeldungen:(ich musste sie Einkürzen)
/Desktop/arduino-1.5.7/hardware/arduino/avr/cores/arduino -I/home/rudi/Desktop/arduino-1.5.7/hardware/arduino/avr/variants/micro -I/home/rudi/Arduino/libraries/DS3232RTC -I/home/rudi/Arduino/libraries/Time -I/home/rudi/Desktop/arduino-1.5.7/hardware/arduino/avr/libraries/Wire -I/home/rudi/Arduino/libraries/OneWire -I/home/rudi/Arduino/libraries/LiquidCrystal_I2C2004V1 -I/home/rudi/Arduino/libraries/DallasTemperature -I/home/rudi/Arduino/libraries/DS3232RTC/utility /home/rudi/Arduino/libraries/DS3232RTC/DS3232RTC.cpp -o /tmp/build2117321466707983116.tmp/DS3232RTC/DS3232RTC.cpp.o
/home/rudi/Desktop/arduino-1.5.7/hardware/tools/avr/bin/avr-g++ -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections -MMD -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=157 -DARDUINO_AVR_MICRO -DARDUINO_ARCH_AVR -DUSB_VID=0x2341 -DUSB_PID=0x8037 -DUSB_MANUFACTURER= -DUSB_PRODUCT="Arduino Micro" -I/home/rudi/Desktop/arduino-1.5.7/hardware/arduino/avr/cores/arduino -I/home/rudi/Desktop/arduino-1.5.7/hardware/arduino/avr/variants/micro -I/home/rudi/Arduino/libraries/DS3232RTC -I/home/rudi/Arduino/libraries/Time -I/home/rudi/Desktop/arduino-1.5.7/hardware/arduino/avr/libraries/Wire -I/home/rudi/Arduino/libraries/OneWire -I/home/rudi/Arduino/libraries/LiquidCrystal_I2C2004V1 -I/home/rudi/Arduino/libraries/DallasTemperature -I/home/rudi/Arduino/libraries/Time/utility /home/rudi/Arduino/libraries/Time/Time.cpp -o /tmp/build2117321466707983116.tmp/Time/Time.cpp.o
/home/rudi/Desktop/arduino-1.5.7/hardware/tools/avr/bin/avr-g++ -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections -MMD -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=157 -DARDUINO_AVR_MICRO -DARDUINO_ARCH_AVR -DUSB_VID=0x2341 -DUSB_PID=0x8037 -DUSB_MANUFACTURER= -DUSB_PRODUCT="Arduino Micro" -I/home/rudi/Desktop/arduino-1.5.7/hardware/arduino/avr/cores/arduino -I/home/rudi/Desktop/arduino-1.5.7/hardware/arduino/avr/variants/micro -I/home/rudi/Arduino/libraries/DS3232RTC -I/home/rudi/Arduino/libraries/Time -I/home/rudi/Desktop/arduino-1.5.7/hardware/arduino/avr/libraries/Wire -I/home/rudi/Arduino/libraries/OneWire -I/home/rudi/Arduino/libraries/LiquidCrystal_I2C2004V1 -I/home/rudi/Arduino/libraries/DallasTemperature -I/home/rudi/Arduino/libraries/Time/utility /home/rudi/Arduino/libraries/Time/DateStrings.cpp -o /tmp/build2117321466707983116.tmp/Time/DateStrings.cpp.o
In file included from /home/rudi/Arduino/libraries/Time/DateStrings.cpp:10:0:
/home/rudi/Arduino/libraries/Time/DateStrings.cpp:18:18: error: variable 'monthStr1' must be const in order to be put into read-only section by means of 'attribute((progmem))'
char monthStr1[] PROGMEM = "January";
^
/home/rudi/Arduino/libraries/Time/DateStrings.cpp:19:18: error: variable 'monthStr2' must be const in order to be put into read-only section by means of 'attribute((progmem))'
char monthStr2[] PROGMEM = "February";
^
/home/rudi/Arduino/libraries/Time/DateStrings.cpp:20:18: error: variable 'monthStr3' must be const in order to be put into read-only section by means of 'attribute((progmem))'
char monthStr3[] PROGMEM = "March";
^
/home/rudi/Arduino/libraries/Time/DateStrings.cpp:21:18: error: variable 'monthStr4' must be const in order to be put into read-only section by means of 'attribute((progmem))'
char monthStr4[] PROGMEM = "April";
^
/home/rudi/Arduino/libraries/Time/DateStrings.cpp:22:18: error: variable 'monthStr5' must be const in order to be put into read-only section by means of 'attribute((progmem))'
char monthStr5[] PROGMEM = "May";
^
/home/rudi/Arduino/libraries/Time/DateStrings.cpp:23:18: error: variable 'monthStr6' must be const in order to be put into read-only section by means of 'attribute((progmem))'
char monthStr6[] PROGMEM = "June";
^
/home/rudi/Arduino/libraries/Time/DateStrings.cpp:24:18: error: variable 'monthStr7' must be const in order to be put into read-only section by means of 'attribute((progmem))'
char monthStr7[] PROGMEM = "July";
^
/home/rudi/Arduino/libraries/Time/DateStrings.cpp:25:18: error: variable 'monthStr8' must be const in order to be put into read-only section by means of 'attribute((progmem))'
char monthStr8[] PROGMEM = "August";
^
/home/rudi/Arduino/libraries/Time/DateStrings.cpp:26:18: error: variable 'monthStr9' must be const in order to be put into read-only section by means of 'attribute((progmem))'
char monthStr9[] PROGMEM = "September";
^
/home/rudi/Arduino/libraries/Time/DateStrings.cpp:27:19: error: variable 'monthStr10' must be const in order to be put into read-only section by means of 'attribute((progmem))'
char monthStr10[] PROGMEM = "October";
^
/home/rudi/Arduino/libraries/Time/DateStrings.cpp:28:19: error: variable 'monthStr11' must be const in order to be put into read-only section by means of 'attribute((progmem))'
char monthStr11[] PROGMEM = "November";
^
/home/rudi/Arduino/libraries/Time/DateStrings.cpp:29:19: error: variable 'monthStr12' must be const in order to be put into read-only section by means of 'attribute((progmem))'
char monthStr12[] PROGMEM = "December";
^
/home/rudi/Arduino/libraries/Time/DateStrings.cpp:31:22: error: variable 'monthNames_P' must be const in order to be put into read-only section by means of 'attribute((progmem))'
PGM_P monthNames_P[] PROGMEM =
^
/home/rudi/Arduino/libraries/Time/DateStrings.cpp:37:26: error: variable 'monthShortNames_P' must be const in order to be put into read-only section by means of 'attribute((progmem))'
char monthShortNames_P[] PROGMEM = "ErrJanFebMarAprMayJunJulAugSepOctNovDec";
^
/home/rudi/Arduino/libraries/Time/DateStrings.cpp:39:16: error: variable 'dayStr0' must be const in order to be put into read-only section by means of 'attribute((progmem))'
char dayStr0[] PROGMEM = "Err";
^
/home/rudi/Arduino/libraries/Time/DateStrings.cpp:40:16: error: variable 'dayStr1' must be const in order to be put into read-only section by means of 'attribute((progmem))'
char dayStr1[] PROGMEM = "Sunday";
^
/home/rudi/Arduino/libraries/Time/DateStrings.cpp:41:16: error: variable 'dayStr2' must be const in order to be put into read-only section by means of 'attribute((progmem))'
char dayStr2[] PROGMEM = "Monday";
^
/home/rudi/Arduino/libraries/Time/DateStrings.cpp:42:16: error: variable 'dayStr3' must be const in order to be put into read-only section by means of 'attribute((progmem))'
char dayStr3[] PROGMEM = "Tuesday";
^
/home/rudi/Arduino/libraries/Time/DateStrings.cpp:43:16: error: variable 'dayStr4' must be const in order to be put into read-only section by means of 'attribute((progmem))'
char dayStr4[] PROGMEM = "Wednesday";
^
/home/rudi/Arduino/libraries/Time/DateStrings.cpp:44:16: error: variable 'dayStr5' must be const in order to be put into read-only section by means of 'attribute((progmem))'
char dayStr5[] PROGMEM = "Thursday";
^
/home/rudi/Arduino/libraries/Time/DateStrings.cpp:45:16: error: variable 'dayStr6' must be const in order to be put into read-only section by means of 'attribute((progmem))'
char dayStr6[] PROGMEM = "Friday";
^
/home/rudi/Arduino/libraries/Time/DateStrings.cpp:46:16: error: variable 'dayStr7' must be const in order to be put into read-only section by means of 'attribute((progmem))'
char dayStr7[] PROGMEM = "Saturday";
^
/home/rudi/Arduino/libraries/Time/DateStrings.cpp:48:20: error: variable 'dayNames_P' must be const in order to be put into read-only section by means of 'attribute((progmem))'
PGM_P dayNames_P[] PROGMEM = { dayStr0,dayStr1,dayStr2,dayStr3,dayStr4,dayStr5,dayStr6,dayStr7};
^
/home/rudi/Arduino/libraries/Time/DateStrings.cpp:49:24: error: variable 'dayShortNames_P' must be const in order to be put into read-only section by means of 'attribute((progmem))'
char dayShortNames_P[] PROGMEM = "ErrSunMonTueWedThrFriSat";
^
die DateSprings.cpp die ich verändert habe hänge ich mal unten an.
Weiß nicht was er da noch so groß meckert. Das sieht aber nicht so aus als ob er die Änderungen übernommen hätte. In den Fehlermeldungen steht immer noch kein const und immer noch das PGM_P Makro. Seltsam.
Das ist ein normaler String. Kein Array aus Strings. Also ist das zweite const überflüssig.
Es ist aber deutlich dass dir nicht klar ist was du genau machst und wieso diese Änderungen nötig sind. Also lass es lieber sein. Die Methoden selbst sollst du nicht verändern! Also das hier:
const char* const monthShortStr(uint8_t month)
Auch wenn es vielleicht nicht so falsch wäre dass es nicht kompilieren würde (abgesehen davon dass die Deklaration im Header noch anders ist). Die Methode soll aber wie vorher einen char* zurückgeben.
Wenn man einen const char* zurückgibt bedeutet dass man den Rückgabewert nicht in einem normalen char* zuweisen kann und dass man die Daten danach nicht verändern kann. Das ist oft sinnvoll, aber nicht nötig. Einen const char* const kann man auch einem const char* zuweisen. Bringt also nichts.
Jedenfalls muss man nur die PROGMEM Strings anpassen. Sonst nichts!!
Hast du mal probiert einfach die neue Lib Version installieren? Bei mir geht die. Einfach was du schon installiert hast überschreiben und gut ist.
danke für die weitere Hilfe.
Du hast recht leider weiß ich nicht wirklich genau was ich da tue meine Hoffnung war dass ich die Änderungen einfach hinbekomme.
Es ist anscheinend nicht so einfach.
jetzt hab ich im Netz die unten aufgeführte DateStrings.cpp überschrieben ( hier sind die von Dir empfohlene Änderungen gemacht) doch leider erhalte ich wieder Folgende Fehlermeldungen: ( stark eingekürtzt)
Arduino: 1.5.7 (Linux), Board: "Arduino Micro"
Verwende die Bibliothek Time im Ordner: /home/rudi/Arduino/libraries/Time (legacy)
Verwende die Bibliothek Wire im Ordner: /home/rudi/Desktop/arduino-1.5.7/hardware/arduino/avr/libraries/Wire (legacy)
Verwende die Bibliothek DS1307RTC im Ordner: /home/rudi/Arduino/libraries/DS1307RTC (legacy)
/home/rudi/Desktop/arduino-1.5.7/hardware/tools/avr/bin/avr-g++ -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections -MMD -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=157 -DARDUINO_AVR_MICRO -DARDUINO_ARCH_AVR -DUSB_VID=0x2341 -DUSB_PID=0x8037 -DUSB_MANUFACTURER= -DUSB_PRODUCT="Arduino Micro" -I/home/rudi/Desktop/arduino-1.5.7/hardware/arduino/avr/cores/arduino -I/home/rudi/Desktop/arduino-1.5.7/hardware/arduino/avr/variants/micro -I/home/rudi/Arduino/libraries/Time -I/home/rudi/Desktop/arduino-1.5.7/hardware/arduino/avr/libraries/Wire -I/home/rudi/Arduino/libraries/DS1307RTC /tmp/build98487146593583551.tmp/TimeRTC.cpp -o /tmp/build98487146593583551.tmp/TimeRTC.cpp.o
/home/rudi/Desktop/arduino-1.5.7/hardware/tools/avr/bin/avr-g++ -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections -MMD -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=157 -DARDUINO_AVR_MICRO -DARDUINO_ARCH_AVR -DUSB_VID=0x2341 -DUSB_PID=0x8037 -DUSB_MANUFACTURER= -DUSB_PRODUCT="Arduino Micro" -I/home/rudi/Desktop/arduino-1.5.7/hardware/arduino/avr/cores/arduino -I/home/rudi/Desktop/arduino-1.5.7/hardware/arduino/avr/variants/micro -I/home/rudi/Arduino/libraries/Time -I/home/rudi/Desktop/arduino-1.5.7/hardware/arduino/avr/libraries/Wire -I/home/rudi/Arduino/libraries/DS1307RTC -I/home/rudi/Arduino/libraries/Time/utility /home/rudi/Arduino/libraries/Time/Time.cpp -o /tmp/build98487146593583551.tmp/Time/Time.cpp.o
/home/rudi/Desktop/arduino-1.5.7/hardware/tools/avr/bin/avr-g++ -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections -MMD -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=157 -DARDUINO_AVR_MICRO -DARDUINO_ARCH_AVR -DUSB_VID=0x2341 -DUSB_PID=0x8037 -DUSB_MANUFACTURER= -DUSB_PRODUCT="Arduino Micro" -I/home/rudi/Desktop/arduino-1.5.7/hardware/arduino/avr/cores/arduino -I/home/rudi/Desktop/arduino-1.5.7/hardware/arduino/avr/variants/micro -I/home/rudi/Arduino/libraries/Time -I/home/rudi/Desktop/arduino-1.5.7/hardware/arduino/avr/libraries/Wire -I/home/rudi/Arduino/libraries/DS1307RTC -I/home/rudi/Arduino/libraries/Time/utility /home/rudi/Arduino/libraries/Time/DateStrings.cpp -o /tmp/build98487146593583551.tmp/Time/DateStrings.cpp.o
In file included from /home/rudi/Arduino/libraries/Time/DateStrings.cpp:10:0:
/home/rudi/Arduino/libraries/Time/DateStrings.cpp:18:18: error: variable 'monthStr1' must be const in order to be put into read-only section by means of 'attribute((progmem))'
char monthStr1[] PROGMEM = "January";
^
/home/rudi/Arduino/libraries/Time/DateStrings.cpp:19:18: error: variable 'monthStr2' must be const in order to be put into read-only section by means of 'attribute((progmem))'
char monthStr2[] PROGMEM = "February";
^
/home/rudi/Arduino/libraries/Time/DateStrings.cpp:49:24: error: variable 'dayShortNames_P' must be const in order to be put into read-only section by means of 'attribute((progmem))'
char dayShortNames_P[] PROGMEM = "ErrSunMonTueWedThrFriSat";
Trotz langer Suche habe ich keine Time-Bibliothek ,bei der die DateStrings.cpp angepasst ist, gefunden.
Bei mir funktioniert die neue Lib. Und vorher hat es auch mit den Änderungen per Hand funktioniert. Ich hatte den Fehler sofort gemerkt als ich auf 1.5.7. umgestiegen bin. Bei UTFT gab es was ähnliches.
Schau dir mal die Fehler-Meldungen genau an. Das sieht nicht so als ob er die Änderungen übernommen hat. Das ist immer noch der alte Code. Kein const. Aber sie scheint im korrekten Verzeichnis zu sein. Vielleicht mal die Lib erst komplett löschen und dann die neue komplett installieren. Weiß auch nicht.
Trotz langer Suche habe ich keine Time-Bibliothek ,bei der die DateStrings.cpp angepasst ist, gefunden.