ARDUINO 1.8.6 2018.08.23
[ide]
- Updated arduino-builder to 1.4.0:
- parallel build (improve compile speed)
- better reuse of already compiled files
- Windows: fixed build for sketch stored under OneDrive cloud folders
- Added translations for library types. Thanks @ReAlUA
- Added scroller in programmers menu.
- Added "accelerator" in scrollable menu, press "a" key while scrolling
- Keep "Board Manager" menu item always as first in the menu
- "Manage Libraries" is now also in the "Tools" menu. Thanks @feikname
- Compiler errors now have both column and line
- Serial monitor how has "Show Timestamp" option. Thanks @MichalSy
- Improved DPI detection for hi-resolution montior on Linux
- Added copy/paste contextual menu in Find/Replace text fields
- Fixed long IDE startup time when some virtual/not-connected network interfaces are present
- Fixed inconsistent line-endings when saving files on Windows
- mdns: Make board disappear via TTL instead of reachability. Thanks @kurtgo
- Library Manager: display install/remove buttons with mouse on-hover instead of mouse click
- Board Manager: fixed some rare case with corrupted index download
- Windows: removed some debug output when running the IDE from command line
- Support selectable user-defined themes. User's theme are zip files inside the sketchbook "theme" folder
- Library Manager: library search now search also for headers (.h) declared by the library in library.properties
- Added "--version" to the CLI. Thanks @yohsuke
- Fixed Serial Plotter/Monitor permanently disabled if Plotter fails to open
- Fixed window title that sometimes is not updated on "Save as...". Thanks @JxJxJxMxNxS
- Fixed keybindings for Increase/Decrease font size
- Improved accessibility in the Preferences dialog. Thanks @coreyknapp
[core]
- AVR: Set Optiboot as default bootloader for Nano. This is the bootloader installed on new
Arduino Nano boards. If you have a Nano with the old bootloader you must select
Tools > Processor > ATmega328P (Old Bootloader) to upload.- AVR core has been moved to its own repository: GitHub - arduino/ArduinoCore-avr: The Official Arduino AVR core
- Updated toolchain to gcc 5.4.0
[wifi101-firmware]
- SECURITY FIX: Released fix for WPA2 KRACK vulnerability (latest WINC1500 firmware 19.5.2).
Updated toolchain to gcc 5.4.0
Das sollte man nicht übersehen. Damit geht nämlich C++14. Das ist zwar bei weitem nicht so umfangreich wie C++11, aber extended/relaxed constexpr sollte damit endlich gehen
Hallo,
was mir auch auffiel ist, der Bug "root not closed" in der SD Lib ist endlich gefixt. Steht in der Release Notes nicht drin. Desweiteren startet die IDE unter Windows wirklich spürbar schneller und kompiliert auch spürbar schneller. Sehr schön.
Wegen dem gcc Compiler. Warum wird nicht Version 6, 7 oder 8 verwendet? Die 6 sollte doch nun auch ausgereift sein. ?
Edit:
wegen C++14, ich glaube da müsste man wieder von Hand eingreifen?
C:\Program Files (x86)\Arduino\hardware\arduino\avr\platform.txt
compiler.c.flags=-c -g -Os {compiler.warning_flags} -std=gnu11 -ffunction-sections -fdata-sections -MMD -flto -fno-fat-lto-objects
Edit:
gleich noch eine Frage, warum steht in der Option nicht -std=gnu**++**11 ? Oder kommt das intern auf das Gleiche raus?
Wie Updated man die IDE?
Gehen dabei Libraries und Einstellungen verloren, oder bleibt alles unverändert?
Was sollte man vor dem Update sichern?
Lieben Gruß,
Chris
Hallo,
ich sichere immer den Lib Ordner vom Installationspfad. Das habe ich mehr oder weniger gemacht wegen der geänderten SD Lib. Ist nun überflüssig gewurden. Also falls man in diesem Ordner keine manuellen Änderungen vornimmt muss man nichts sichern.
Neue Libs landen bei mir immer im Dokumentenpfad. Der Lib Ordner unter User\Dokumente bleibt unangetastet.
Die Einstellungen bleiben erhalten, kontrolliere ich hinterher jedoch. Zum Bsp. "alle" Kompilerwarnungen.
Die IDE deinstallieren und neue installieren.
Hallo,
nochwas. Die "neue" SD Lib hat ein Problem, zumindestens bei mir. Kompiliert einmal das Bsp. vom Datalogger.
Ich erhalte folgende Ausschrift.
In function 'global constructors keyed to 65535_0_Datalogger.ino.cpp.o':
lto1.exe: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.
lto-wrapper.exe: fatal error: C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-gcc returned 1 exit status
compilation terminated.
c:/program files (x86)/arduino/hardware/tools/avr/bin/../lib/gcc/avr/5.4.0/../../../../avr/bin/ld.exe: error: lto-wrapper failed
collect2.exe: error: ld returned 1 exit status
exit status 1
Fehler beim Kompilieren für das Board Arduino/Genuino Mega or Mega 2560.
und wenn ich mein altes Projekt meines Dataloggers zum Test kompilieren lasse, erhalte ich folgendes
C:\Program Files (x86)\Arduino\libraries\SD\src\SD.cpp: In function 'open.constprop':
C:\Program Files (x86)\Arduino\libraries\SD\src\SD.cpp:456:12: warning: 'pathidx' may be used uninitialized in this function [-Wmaybe-uninitialized]
filepath += pathidx;
^
C:\Program Files (x86)\Arduino\libraries\SD\src\SD.cpp:450:7: note: 'pathidx' was declared here
int pathidx;
^
gefällt mir überhaupt nicht. Schaue ich mir die SD.cpp an der Zeilen an, steht tatsächlich ein lokales uninitialisiertes
int pathidx mit dem operiert wird. :
Edit:
habs gerade mit der vorherigen SD Lib Version verglichen, der uninitialisierte Fehler war schon vorher da, scheinbar erkennt das der Compiler jetzt erst. Keine Ahnung. Ist mir noch nie aufgefallen.
Man kann mehrere IDE paralell installieren (Windows ZIP file for non admin install), muß dann aber die Bibliotheken kopieren falls sie nicht an einem algemeinen Platz sonder in der anderen IDE installiert sind.
Grüße Uwe
Hallo,
Uwe, kannst du den Fehler vom Datalogger Bsp. der SD Lib nachvollziehen?
Ich müsste mich extra bei Github registrieren um das zu melden.
Vielleicht könnte das jemand machen der nähere Infos dazu schreiben kann und schon einen Account hat.
Das uninitialiersierte int pathidx gleich dazu.
Bei mir kompiliert die 1.8.6 nicht schneller als die 1.8.5
Hallo,
schade das du keinen Effekt merkst. Kann viele Ursachen haben. Vielleicht gibts mit der nächsten Version noch eine Änderung. Die Erstkompilierung liegt deutlich unter den sonst üblichen 8-10 Sekunden. Die folgenden Kompilierungen fast auf Tastendruck. Die Zeiten sind nahe an denen von "unter Linux" dran.
Kannst du das SD Lib Bsp. Datalogger fehlerfrei kompilieren?
Wäre einmal interessant zu wissen. Nicht das ich dabei der Einzige bin.
SD Lib Bsp. Datalogger kompiliert ohne Fehler, unter Uno und Mega
Hallo,
Danke für Rückmeldung.
Hallo,
habe die IDE nochmal neu installiert. Effekt ist
Erstkompilierung "Datalogger" feherfrei,
Erstkompilierung "Cardinfo" fehlerfrei,
Zweitkompilierung "Datalogger" obiger Fehler,
Zweitkompilierung "Cardinfo" fehlerfrei,
Drittkompilierung "Datalogger" fehlerfrei.
Es passiert also eher mehr oder weniger zufällig. Auch mehrfache Kompilierungen hintereinander können fehlerfrei sein und dann ist wieder eine dabei mit obigen Fehler.
Dann hast du bestimmt Windows höher als 7
und dann ist wieder eine dabei mit obigen Fehler.
Bei mir tritt der Fehler nicht auf!
Der Grund ist klar, meine IDE verwendet die Lib aus meinem sketchbook/libraries Verzeichniss.
Nicht die beigelegte.
Das kann ich schön in den Meldungen sehen.
Und warum die Meldung bei dir nicht jedes mal auftaucht, sollte auch klar sein!
Oder?
Hallo,
Windows 10 64Bit.
Wenn du nicht den Bsp. Sketch "Datalogger" der beigelegten SD Lib testest kannst du den Fehler nicht sehen. Falls er denn bei dir überhaupt auftritt. Soweit ist das ja logisch.
Warum die Meldung nicht jedesmal oder überhaupt auftaucht weiß ich allerdings nicht. Darauf kann ich mir noch keinen Reim machen. Woran erkennst du eine mögliche Ursache? Wird sicherlich irgendwas mit der Datalogger.ino.cpp.o zu tun habe. Seltsamerweise betrifft das Problem nur den einen Bsp. Sketch. Und warum nur bei mir und nicht bei anderen? Die Dateien sind doch bei uns allen gleich. Mit IDE 1.8.5 bzw. der dabei liegenden SD Lib gings doch auch.
Warum die Meldung nicht jedesmal oder überhaupt auftaucht weiß ich allerdings nicht. Darauf kann ich mir noch keinen Reim machen. Woran erkennst du eine mögliche Ursache?
Selbst publiziert, aber nicht verstanden:
- better reuse of already compiled files
Ich übersetze dir das mal:
Die Warnung kann nur beim Übersetzen der *.cpp Datei auftreten.
Und genau das wird eben nicht immer gemacht.
Stimmts, oder habe ich recht?!
Hallo,
okay, ich formuliere die Frage anders. Warum wird es manchmal übersetzt und manchmal nicht. Das scheint ja das Problem zu sein. Was kann ich tun was kann ich testen?
Das scheint ja das Problem zu sein.
Nein, das ist nicht das Problem.
Wenn das kompilieren 1 Sekunde länger dauert, ist das vielleicht unangenehm, aber kein Problem.
Warum wird es manchmal übersetzt und manchmal nicht.
Es wird nur übersetzt, wenn keine brauchbare fertige Übersetzung im Build Verzeichnis vorliegt.
Logisch, oder?
Jetzt müsste man noch "brauchbare fertige Übersetzung" etwas ausführen...
Grundsätzlich wird eine Übersetzung unbrauchbar, wenn man die Kompileroptionen ändert.
Wenn die Quelldatei jünger ist, als das Kompilat
Doc_Arduino:
C:\Program Files (x86)\Arduino\hardware\arduino\avr\platform.txtgleich noch eine Frage, warum steht in der Option nicht -std=gnu**++**11 ? Oder kommt das intern auf das Gleiche raus?
Weil du da die C Kompileroptionen untersuchst.
Schaue bei den C++ Optionen und du wirst geheilt sein.
Ps:
Der Segmentation fault hat übrigens nichts mit deinem, dem Arduino Code, oder gar IDE zu tun.
Es ist ein Fehler in der AVR ToolChain, oder Betriebsystem.