Go Down

Topic: Spricht was gegen Arduino 1.5.7 ? (Read 5788 times) previous topic - next topic

michael_x

Um den anderen Thread nicht noch weiter zu kapern:
Ich hab mit Yun und Due nichts am Hut, und verwende derzeit 1.0.5-r2
( Mit kleiner Ergänzung der boards.txt für standalone 328 )
Hier empfiehlt Serenifly, die Beta 1.5.7 zu verwenden.

Gibt es auch Gründe die dagegen sprechen, so dass man abwägen sollte, was sinnvoller ist ?

Oder sind alle neuen Features auch in der neuen 1.0.6 (grade erst entdeckt)  drin?

Doc_Arduino

Hallo,

der Compiler ist noch der alte, aber etwas wurde übernommen ....
Nur warum entwickelt man nicht die 1.5.x weiter, sodass die mal final wird und man die mit jeden Board nutzen kann?
Wird das etwa weiterhin zweigleisig entwickelt?

Code: [Select]

ARDUINO 1.0.6 - 2014.09.16

[core]
* avr: Improved USB-CDC write speed (Justin Rajewski)
* avr: Improved USB-CDC read code (Paul Brook)
* avr: Fixed race condition in USB-CDC transmit (Paul Brook)
* avr: Added replacement stub for cstdlib atexit() funciton (Christopher Andrews)
* Fixed wrong NULL pointer handling in Stream class (Amulya Kumar Sahoo)
* Backported String class from IDE 1.5.x (Matt Jenkins)
* Backported Print class from IDE 1.5.x
* Backported digitalPinToInterrupt macro from IDE 1.5.x
* Added initVariant() hook to allow 3rd party variant-specific initialization
* Added replacement stub for cstdlib atexit() function (Christopher Andrews)

[ide]
* Added compatibility for IDE 1.5.x libraries layout
* Fix toolchain command line to compile assembler files (Jimmy Hedman)
* If two libraries have the same header file use the lib with the same folder name (Paul Stoffregen)

[libraries]
* Robot_Control: removed duplicated SPI and Wire (Xun Yang)
* Robot_Control: fixed issue on motors being opposite (Xun Yang)
* Robot_Control: updated turning algorithm (Xun Yang)
* Esplora: added reading form Tinkerkit inputs
* SoftwareSerial: Fix idle level when initializing with inverted logic (Jens-Christian Skibakk)
* fixed a bunch of examples

[firmware]
* Wifishield: fixed paths on firmware upgrade scripts
Tschau
Doc Arduino '\0'

Messschieber auslesen: http://forum.arduino.cc/index.php?topic=273445
EA-DOGM Display - Demos: http://forum.arduino.cc/index.php?topic=378279

Serenifly

Die 1.0.6. Release Notes sind etwas weiter unten:
http://arduino.cc/en/Main/ReleaseNotes

Das Compiler und avr libc Update scheint da nicht dabei zu sein


"empfohlen" ist vielleicht etwas stark ausgedrückt. Es sind ein paar nette Sachen dabei, aber man kann auch ohne damit leben.

Was mich aber z.B. gestört ist die Warnung "only initalized variables can be placed into program space" bei PROGMEM Verwendung. Das war keine echte Warnung, sondern ein Bug im Compiler.

Ich finde halt den Spruch "1.5.x sollte man nicht verwenden weil Bugs drin sind" etwas kurz gegriffen, da in der ganzen Arduino Software viele Bugs und unschöne Sachen drin sind:
https://github.com/arduino/Arduino/issues
Manche sind ewig bekannt und wurde immer noch nicht behoben.

sschultewolter

Hallo Michael,

das musst du für dich selbst entscheiden. Sind deine verwendeten User Libaries kompatibel mit dem Nachfolger?
Wenn ja, dann würde ich zur 1.5.7 wechseln. Ein weiterer Vorteil ist, dass dort der portable Funktion richtig funktioniert.

Was jedoch sein kann, dass man die programmers.txt und board.txt nicht einfach so übernehmen kann. Bei 2. bin ich mir nicht sicher. Bei der programmer.txt hingegen reichen die Defenition nicht aus, um zB den DIAMEX AVR ISP Programmer zu nutzten. Da müssen 1-2 Zeilen mehr geschrieben werden.

Das Problem, was ich mit allen 1.0.x hatte, dass irgendwann die Reaktionsgeschwindigkeit nicht mehr da war. Wenn ich den Port oder Programmer wechseln wollte, dauert das teilweise mehrere Sekunden bis sich das Menü öffnete. Die 1.5.x hat da noch keine Probleme gemacht.

Neues Toolchain ist nicht mit in die 1.0.6 soweit ich eingeflossen.
Orginal Atmel AVRISP mkII zu verkaufen. Anfrage per PN ;)

Serenifly


das musst du für dich selbst entscheiden. Sind deine verwendeten User Libaries kompatibel mit dem Nachfolger?

Eine Inkompatibilität die ich gleich bemerkt habe, ist dass PROGMEM Konstanten jetzt zwingen const sein müssen. Das ist oft nicht der Fall. Schon gar nicht bei Arrays aus Strings, die jetzt "const char* const" sein müssen (const Zeiger auf const Daten).

Das trat bei mir auf in zwei Libs auf:
* Time (hatte ich ursprünglich selbst behoben. Inzwischen gibt es ein Update)
* UTFT (die Font Definition muss man selbst anpassen)

Doc_Arduino

Hallo,

in der 1.0.6 ist aber immer noch eine Bug drin der mich schon länger stört. Hatte gehofft der wird behoben. Nutze immer die portable .zip IDE's.

Ich habe eine große Sammlung an Librarys. Wenn ich auf Datei > Beispiele  .... gehe und weiter runter will, dann scrollt die Leiste  nicht runter. Die Bsp. von WiFi und Wire sehe ich also nicht.

Das gleiche nicht scrollen habe ich, wenn ich in Datei > Sketchbook ... gehe, scrollt einfach nicht runter.

Ich muß immer in Datei > öffnen gehen.

Habt Ihr das Problem nicht? Hab Windows 7  64Bit.
Tschau
Doc Arduino '\0'

Messschieber auslesen: http://forum.arduino.cc/index.php?topic=273445
EA-DOGM Display - Demos: http://forum.arduino.cc/index.php?topic=378279

michael_x

Quote
Eine Inkompatibilität die ich gleich bemerkt habe, ist dass PROGMEM Konstanten jetzt zwingend const sein müssen

const wird (auch) in den Libraries generell sehr sparsam verwendet.
Wenn wenigstens die mitgelieferten Libraries gehen, solls mir recht sein. Für gefundene Software ist man eh selber verantwortlich.

Quote
Neues Toolchain ist nicht mit in die 1.0.6 eingeflossen.

Dann werde ich wohl eher zur 1.5.7 als zur 1.0.6 wechseln. Danke an alle.

Serenifly


const wird (auch) in den Libraries generell sehr sparsam verwendet.

Zum Teil wird ja das PGM_P Makro verwendet. Das wird nach "const char*" aufgelöst. Da fehlt aber dann bei String Arrays aber immer noch ein const.

Hier ist eine fehlerhafte Version der Time Lib:
https://github.com/johnmccombs/arduino-libraries/blob/master/Time/DateStrings.cpp
Und hier korrigiert:
https://github.com/PaulStoffregen/Time/blob/master/DateStrings.cpp
(wobei man bei String Arrays nicht zweimal PROGMEM schreiben muss)


Ich sehe auch gerade dass UTFT inzwischen angepasst wurde:
http://henningkarlsen.com/electronics/library.php?id=52


Quote
Wenn wenigstens die mitgelieferten Libraries gehen, solls mir recht sein.

Die wurden angepasst:
"avr: Fixed PROGMEM statements to be compatible with newer avr gcc (Scott Howard)"


skorpi080

Nutzt du den USBasp? Damit konnte ich bisher noch keine Sketche oder Bootloader uploaden, mit der 1.5.7
playground.arduino.cc/PmWiki/433Mhz-Funkmodule
[Arduino IDE] Feinheiten und Tricks  forum.arduino.cc/index.php?topic=632403.0

Serenifly


skorpi080

War eigentlich an michael_x gerichtet, aber auch gut zu wissen :)

Also für mich ist die 1.5.7 momentan ein NOGO.
Auch wenn die Sketche weniger Flash verbrauchen.
playground.arduino.cc/PmWiki/433Mhz-Funkmodule
[Arduino IDE] Feinheiten und Tricks  forum.arduino.cc/index.php?topic=632403.0

michael_x

Danke für den Tip, Skorpi.

Quote
Auch wenn die Sketche weniger Flash verbrauchen.
Das liegt wohl am besseren Compiler ?

Ich hab einen USBTinyISP, den nutze ich aber nur, um bootloader auf standalone 328 zu laden.
Das müsste ich dann mit der 1.5.7. testen und wenn's nicht geht, dafür auf die alte 1.0.5 zurückgreifen.
(Oder rauskriegen woran es hängt)

Ich finde upload via bootloader in der Regel einfacher: Mit ISP hab ich bei großen Sketchen gelegentlich mal Verifikation Schwierigkeiten, und langsamer scheint es mir auch.

jurs

Ich vermeide die Version 1.5.7 zu benutzen, da die IDE auf meinem PC (Win7) bei einigen Funktionen extrem lahm ist.

Insbesondere das Öffnen des "Werkzeuge" (in früheren Versionen "Tools") Menü und das Öffnen des Seriellen Monitors dauert mit 1.5.7 immer eine Sekunde extra im Vergleich zu den 1.0.x Versionen. Das nervt einfach nur, wenn Du etwas anklickst oder per Tastaturbefehl startest, und dann kommt die Reaktion der IDE nicht sofort, sondern erst nach einer Arduino-Gedenksekunde.

Doc_Arduino

Hallo,

hat niemand sonst das Problem mit dem fehlenden scrollen der Menü's? Siehe 2 Bilder.
Tschau
Doc Arduino '\0'

Messschieber auslesen: http://forum.arduino.cc/index.php?topic=273445
EA-DOGM Display - Demos: http://forum.arduino.cc/index.php?topic=378279

sth77


Insbesondere das Öffnen des "Werkzeuge" (in früheren Versionen "Tools") Menü und das Öffnen des Seriellen Monitors dauert mit 1.5.7 immer eine Sekunde extra im Vergleich zu den 1.0.x Versionen.

Gerade auf dem Bürorechner getestet, hier gibts keine der von dir beschriebenen Pausen. PC ist ein kleiner Core i5-2400, Win 7 Prof. 64bit, 4 GB RAM.
Mein verwaister Arduino-Blog: http://www.sth77.de/ - letzter Eintrag: Diamex-ISP in der irgendwann mal aktuellen Arduino-IDE 1.6.4

Go Up