Software

From Nibo

(Difference between revisions)
(Initializer)
(Initialisierung)
Line 24: Line 24:
===IRCO===
===IRCO===
Die Firmware für den IR-Controller beinhaltet Routinen für die Distanzmessung und die Kommunikation über IR. Auch hier gibt eine ofizielle Version, die Software kann jedoch modifiziert werden.
Die Firmware für den IR-Controller beinhaltet Routinen für die Distanzmessung und die Kommunikation über IR. Auch hier gibt eine ofizielle Version, die Software kann jedoch modifiziert werden.
-
 
-
==Initialisierung==
 
-
Für die anfängliche Inbetriebnahme des Roboters steht eine Initialisierungs-Software (hex-File) zur Verfügung, mit der der [[Infrarotcontroller-Firmware|IR-Controller]] und der [[Motorcontroller-Firmware|Motorcontroller]] programmiert werden können. Um das Update durchzuführen, wird die aktuelle Version der Initialisierungssoftware mittels ISP auf den ATmega128 aufgespielt.
 
-
 
-
Zum automatischen Updaten des MotCo wird Jumper JP1 geschlossen und Jumper JP2 geöffnet. Nach dem Drücken des Reset-Tasters beginnt dann die Überprüfung und Programmierung (Status-LEDs rot). Ist die Programmierung abgeschlossen, leuchten die Status-LEDs grün.
 
-
 
-
Zum automatischen Updaten des IRCo wird Jumper JP1 geöffnet und Jumper JP2 geschlossen. Nach dem Drücken des Reset-Tasters beginnt dann die Überprüfung und Programmierung (Status-LEDs rot). Die Programmierung ist abgeschlossen, wenn die Status-LEDs grün leuchten.
 
-
 
-
Sollte sich schon die aktuelle Version auf dem jeweiligen Controller befinden, blinken die LEDs rot (3*kurz, Pause, ...).
 
-
 
-
Die Software beinhaltet neben der Firmware für MOTCo und IRCo auch einen Funktionstest:
 
-
Wenn keiner der beiden Jumper gesteckt ist, wird ein Blinktest durchgeführt:
 
-
Nach dem Einschalten leuchten alle LEDs kurz orange auf. Danach wiederholt sich folgendes Muster:
 
-
* Die LEDs leuchten im Uhrzeigersinn nacheinander rot auf.
 
-
* Die LEDs leuchten im Uhrzeigersinn nacheinander grün auf.
 
-
* Die weißen Scheinwerfer-LEDs leuchten kurz auf.
 
-
 
-
Wenn beide Jumper gesteckt sind, werden alle Komponenten getestet:
 
-
* Der Roboter sollte sich in ca. 6 Sekunden einmal im Uhrzeigersinn um seine mittlere Hochachse drehen.
 
-
* Die mehrfarbigen Status-LEDs zeigen die Freiräume an (rot: besetzt, aus: mittel, grün: frei)
 
-
* Die weißen LEDs leuchten, wenn der Roboter an allen Bodensensoren keinen Bodenkontakt hat.
 
-
* Folgende Werte werden auf dem Display angezeigt:
 
-
** Batteriespannung
 
-
** Odometrie-Ticks rechts
 
-
** Odometrie-Ticks links
 
-
** Die fünf IR-Distanzmessungen
 
-
** Werte von Abgrund- und Liniensensoren
 
-
** Empfangener RC5-Code
 

Revision as of 09:50, 20 August 2007

Contents

Programmierung

C

Die am Besten unterstützte Programmiersprache für AVR Controller ist C. AVR-GCC stellt die notwendigen Tools für C zur Verfügung. Für das Betriebssystem MS Windows bietet sich die Kombination aus AVR Studio und WinAVR (enthält avr-gcc, avr-g++, avrdude, avr-gdb u.a.) an. Eine umfangreiche Ansteuerungsbibliothek für die Programmiersprache C wurde bereits entwickelt. Diese beinhaltet auch komfortable Routinen für die Textausgabe auf dem optionalen Grafik-Display.

C++

Auch die Programmiersprache C++ wird vom AVR-GCC-Compiler unterstützt. Da die C++ Standardbibliothek leider nicht zur Verfügung steht, bringt die NiboLib eine Ersatzklasse für Strings mit. In der NiboLib sind alle Funktionen aus der C Bibliothek gekapselt.

Assembler

Der Roboter kann auch in Assembler programmiert werden. Auch hierfür stellt der AVR-GCC-Compiler entsprechende Unterstützung bereit.

Java

Mit Hilfe der NanoVM kann der Roboter in Java programmiert werden. Eine Java-Bibliothek für den Nibo steht zur Verfügung.


Firmware

Initializer

Mit der Initializer Software, die man auf den Haupt-Controller aufspielt ist es möglich die Firmware von MOTCO und IRCO zu aktualisieren. Zusätzlich beinhaltet sie ein paar Test-Routinen.

MOTCO

Die Firmware für den Motor-Controller beinhaltet Routinen für die Motorregelung und Odometriesensoren. Es gibt eine ofizielle Version, die Software kann aber auch selbst entwickelt werden.

IRCO

Die Firmware für den IR-Controller beinhaltet Routinen für die Distanzmessung und die Kommunikation über IR. Auch hier gibt eine ofizielle Version, die Software kann jedoch modifiziert werden.


Download

Links

Personal tools