neues Flasher-Programm

Eine Schwachstelle beim bisher verwendeten Flasher-Programm, also dem Programm, mit dem unser selbst erstelltes Programm auf den Roboter aufgespielt wird, besteht darin, dass das Programmierkabel in einer ganz bestimmten USB-Buchse stecken muss, sonst wird es nicht erkannt. Das ist zwar bei den Schul-PCs kein Problem, denn da alle gleich sind und wir das Kabel immer in dieselbe Buchse stecken, passt es zusammen. Aber was ist, wenn die USB-Buche defekt ist und Ihr eine andere verwenden müsst? Oder wenn im PC die Buchsen unterschiedlich verdrahtet sind, was anscheinend auch schon vorgekommen ist.
Das gleiche Problem werdet Ihr haben, wenn Ihr Euren eigenen PC zuhause verwenden wollt, denn da sind die USB-Buchsen sicher wieder anders nummeriert.

Bisher musste man dem Programm die Nummer des Anschlusses mitteilen, in dem das Kabel steckt. Das passiert durch Angabe eines entsprechenden Parameters beim Aufruf des Programms, und zwar in der Datei „Makefile“. Hier wird „–serial=COM3“ angegeben, also sozusagen die dritte USB-Buchse (so ungefähr). Ich habe nun das Programm so geändert, dass es sich die richtige Buchse einfach selbst suchen kann. Dazu probiert es ab COM3 aufsteigend bis COM32, ob an einer der Buchsen das Programmierkabel steckt. Das erste gefundene wird dann verwendet.
Dabei gibt’s aber einen kleinen Haken: das Suchen dauert eine kurze Zeit und zwar ca. eine viertel Sekunde. Steckt das Kabel also in einer „niedrigen“ Buchse, ist praktisch keine Verzögerung erkennbar. Steckt es aber in einer höheren Buchse, z.B. COM9, kann es ein paar Sekunden dauern, bis es gefunden wird und die Übertragung gestartet wird. Es kann also nicht schaden, nach dem Starten der Übertragung ca. 5 Sekunden zu warten bevor der Roboter eingeschaltet wird, so dass das Programm auf jeden Fall schon die Übertragung gestartet hat bevor der Mikrocontroller im Roboter hochfährt.
Das neue Flash-Programm kann hier heruntergeladen werden. Es muss ins Projektverzeichnis abgelegt werden und dabei das dort schon vorhandene „flasher.exe“ überschreiben.
Außerdem muss in der Datei „Makefile“ der Aufrufparameter „–serial=COM3“ entfernt werden, sonst wird doch wieder der dort angegebene Anschluss verwendet anstatt dass er automatisch gesucht wird.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert