Serieller Port für Atmel-Board nun Mac OS X-Ready

Geschafft! Nach vielen Versuchen konnte der Code zum Ansprechen des seriellen Ports für Mac OS X (10.6, Snow Leopard) so angepasst werden, dass er dort läuft. Zuvor "hing" das Programm immer beim write() Befehl. Interessanterweise trat das gleiche auch dem Original-Code "Device File Access Guide  for Serial Devices" aus dem Mac Dev Center von Apple auf. Benötigt wird dieser Teil im Programm um vom Mac oder PC Daten über die seriellen Schnittstelle zum Roboter (Atmel-Board) zu schreiben und von ihm zu lesen.

Das aus MacPorts installierte Programm minicom brachte dann die Lösung: Mit diesem konnte über zwei USB-to-Serial-Wandlern (PL2303-Chip) und einem Cross-Cable jeweils Daten gesendet und empfangen werden. Dank Open Source, konnte nun verglichen werden, warum dieses Programm einwandfrei funktioniert, der Apple Code aber nicht.

Ursache war die Kontroll-Option "CLOCAL", die für den seriellen Port gesetzt werden musste! :-) Geholfen hat auch Beschreibung auf dieser Seite. Denn es wurde nicht der Original-Treiber des Hersteller Prolific zum Testen (mit minicom) verwendet, sondern der hier beschriebene Open Source-Treiber!

Nach ein "paar" Änderungen im Code läuft der Bot nun auch unter Mac OS X:

 Als nächster Schritt wird nun der Code für den altern Laserscanner angepasst, da er ein ähnliches Verhalten aufweist.

Support für SICK Laser PLS101-312 und Atmelboard wiederhergestellt

Nach vielen Tests mit dem seriellen Port konnte nun der Support für beide seriellen Zugriffe wiederhergestellt werden. Ursache war ein Bit namens CLOCAL, welches beim Öffnen unter Mac OS gesetzt werden muss! Leider ist dieses auch mit keinem Wort auf Apples Mac Dev Center Seiten erwähnt!

 

Linux verhielt sich hier offenbar anders. Wie man sieht, alles wieder "heil":