100% CPU Auslastung Arduino IDE 1.0.5 unter Mac OS 10.9.4

Moin

ich habe auf meinem Mac Book (Modell Mitte 2010) seid kurzem das Aktuelle Mac OS 10.9.4 aufgespielt.

Wenn ich unter der Arduino IDE den Serial Monitor öffne, kann ich diesen kaum noch schließen.
Beim der Betrachtung der Systemauslastung ist mir aufgefallen, das die Arduino IDE auf 100% CPU Auslastung läuft.

Angeschlossen ist ein Arduino Leonardo.

Bin der Meinung, das es bei der Vorherigen OSX Version nicht war.

Gruß Ingo

Scotch: ich habe auf meinem Mac Book (Modell Mitte 2010) seid kurzem das Aktuelle Mac OS 10.9.4 aufgespielt.

Apple scheint hart daran gearbeitet zu haben, dass viele ältere Java-Programme unter Mac OS 10.9.4 nicht mehr funktionieren, und das betrifft nicht nur die Arduino-Software.

Die Arduino-Software in der Version 1.0.5 wird nicht mehr weiterentwickelt, insbesondere wird diese Version auch nicht mehr an inkompatible Updates des Apple-Betriebssystems angepaßt werden. Das Arduino-Team arbeitet schon längst an der irgendwann erscheinenden 2.0 Version, die unter den Versionen "1.5.x BETA" läuft und inzwischen nicht nur für den DUE, sondern auch für die 8-Bit Controller anständig funktioniert.

Du solltest Dir je nach installierter Java-Version daher die Arduino-Version 1.5.7 Beta holen, die im Downloadbereich wie folgt gekennzeichnet sind: - Mac OS X: ZIP file for Java 6 (runs on any version of OSX) - Mac OS X: ZIP file for Java 7 (only OSX 10.7 or greater)

Hallo jurs,

danke für die Info.

Die 1.5.7 hatte ich schon mal testweise genommen. Aber scheinbar wurde da schon wieder so viel geändert, das sich Programme nicht mehr fehlerfrei compilieren lassen.

Auf meinem iMac auch mit 10.9.4 habe ich da keine Probleme. Muss mal schauen, ob es da unterschiedliche JAVA Version installiert sind.

Es scheint auch nur der Serial Monitor das Problem zu machen, wenn dieser aktiv ist.

Gruß Ingo

Scotch: Es scheint auch nur der Serial Monitor das Problem zu machen, wenn dieser aktiv ist.

Den seriellen Monitor braucht man ja nicht zu verwenden. Du kannst auch jedes andere serielle Terminalprogramm verwenden, um serielle Daten auszugeben.

Vielleicht kannst Du Dir im Betriebssystem einen komfortablen Tastatur-Shortcut definieren, zwecks Start eines Terminalprogramms, und den seriellen Monitor einfach ganz außen vor lassen.

Ja das werde ich mal probieren.

Danke für die Tipps

Gruß Ingo

Hallo, Java wird von Apple nicht mehr unterstützt. Das mußt Du Dir manuell installieren. Seid 10.6.3/4 habe ich auch das Gefühl, das Apple versucht zu verhindern, das man es "richtig" installieren kann. Gruß und Spaß Andreas

Scotch: Die 1.5.7 hatte ich schon mal testweise genommen. Aber scheinbar wurde da schon wieder so viel geändert, das sich Programme nicht mehr fehlerfrei compilieren lassen.

Ich habe es installiert nachdem ich gelesen habe dass man endlich mal die antike Version der AVR toolchain ausgetauscht hat. Jetzt hat man eine aktuelle Version von avr gcc und der avr libc.

Da waren vorher im Compiler einige Bugs drin. Was sich stark geändert hat ist PROGMEM. Da wird jetzt absolute const-corectness gefordert. Also char Arrays/C Strings müssen const sein. Und Arrays auf C Strings müssen const Pointer auf const Daten sein. Gerade letzteres wird in Tutorials nicht gemacht und auch in den Libs nicht was ich so sehe. Ich hatte da Fehler in UTFT und Time. Das ist aber in ein paar Sekunden behoben, wenn man die PROGMEM Arrays korrekt als const deklariert.

Sonst funktioniert bei mir alles :)

Und man kann jetzt C++11 verwenden wenn man die preferences.txt anpasst! Vor allem die range-based for loop sollte für viele interessant sein: http://en.wikipedia.org/wiki/C%2B%2B11#Range-based_for_loop Praktisch ein for each. Man muss sich nicht mehr um die Länge des Arrays kümmern :)

Zusammen mit "auto" welches automatisch den Typ bestimmt:

int my_array[5] = {1, 2, 3, 4, 5};

for (auto &x : my_array) 
{
    x *= 2;
}