Die Asuro Library

2.70rc2

asuro1.gif

Der Asuro

Einfuehrung

Die Asuro Library ist eine Sammlung von C-Funktionen für den Roboter Asuro. Der Asuro wurde vom DLR (Deutschen Zentrum für Luft und Raumfahrt) http://www.dlr.de in Oberpfaffenhofen entwickelt.

Die Ur-Version der Bibliothek wurde von Jan Grewe vom DLR geschrieben. Einige User vom Roboternetz Forum http://www.roboternetz.de/phpBB2 haben die Lib erweitert.

Wichtige Links

Der Programm Code der Asuro Bibliothek steht unter der General Public License (GPL)

Installation der Asuro Library

Zur Installation der Asuro Lib kopiert man das File /lib/libasuro.a in das c:/WinAVR/avr/lib Verzeichnis. Das File /lib/inc/asuro.h kopiert man in das c:/WinAVR/avr/include Verzeichnis.

Um die Lib neu zu übersetzen startet man den Make Prozess im Verzeichnis /lib mit:

   make clean
   make all
   

Erstellen der ASURO Library Dokumentation

Zur Erstellung der Asuro Library Dokumentation wird das Tool Doxygen verwendet. Um die Dokumentation selbst zu aktualisieren: Die erzeugte HTML Dokumentation befindet sich im Ordner /doc/html. Dort kann die Datei index.html in einen Browser geladen werden.

Die Datei make_doc.log und make_doc.err werden erzeugt um den doxygen-Lauf zu überprüfen.

Erstellen einer HTML Help Datei

Doxygen erzeugt neben der HTML Doku zusätzlich ein HTML Help Projekt File /doc/html/index.hhp. Daraus kann mit Hilfe des HTML Help Workshop von Microsoft eine HTML Help Datei erstellt werden. Das erzeugte HTML Help File befindet sich dann unter /doc/html/index.chm

Versions History

ASURO Library Versions History 
==============================

Version 2.7.0 rc2
=============
- 25.01.2007 intro.c fuer Doxygen HTML Doku mainpage (Autor m.a.r.v.i.n)
- 22.01.2007 Kommentare zur Doku ueber Doxygen in adc.c (Autor Sternthaler)

Version 2.7.0 rc1
=============
- 19.01.2007 Umstellung der Asuro Lib auf eine Objekt Library (Autor m.a.r.v.i.n)

Version 2.7.0
=============
- 07.01.2007 void Go(int distance, int power) mm Einheit als Wegstreckenangabe (Autor stochri)
             void SetMotorPower(int8_t leftpwm, int8_t rightpwm )  (Autor stochri)
	     * Funktion zum setzen der PWM Werte, negative Zahlen für Rückwärtsgang. 
	     Vorteil MotorDir muss nicht getrennt aufgerufen werden, der Entwurf von Reglern vereinfacht sich.
             void SerPrint(unsigned char *data) 0-terminierte Strings ausgeben
	     * man muss nicht mehr die Buchstaben von Hand zählen
             void Sound(uint16_t freq, uint16_t duration_msec, uint8_t amplitude) Einführung einer Sound Funktion (Autor stochri)

Version 2.6.1
=============

- 20.11.2006 Bugfixes: (Autor: m.a.r.v.i.n)
             * PrinInt Funktion: evtl. Fehler beim Flashen mit RS232/IR Transceiver, 
               wg. Folge von 0-Bytes im erzeugten Hex-File. 
               Bug Report von francesco 
             * SIGNAL (SIG_ADC): static Variable toggle initialisiert
               Bug Report von Rolf_Ebert 
             Warnings entfernt wg. obsolete Header File bei neueren WinAVR Versionen. 

Version 2.6
===========

- 28.09.2005 Doxygen Kommentare. (Autor: m.a.r.v.i.n)

Version 2.5
===========

- 31.07.2005 Turn() Funktion mit speed Parameter. (Autor: Andun)
 
Version 2.4
===========

- 30.07.2005 Erweiterungen, Go() und Turn() Funktionen. (Autoren: stochri, Andun)

Version 2.3
===========

- 10.06.2005 Anpassungen wg. Umbau der Infrarot Schnittstelle als Kollisionsdetektor (Autor: waste)
   
	count36kHz ersetzt count72kHz. Timer2 geändert.  
        

Version 2.2
===========

- 31.03.2005 Erweiterte Funktionen (Autor: weja - Robotrixer Buxtehude)

	Kurzbeschreibung der Funktionen in der neuen asuro.h, asuro.c vom 31.03.05



	Leider konnten die neuen Funktionen nicht mehr in einer Extradatei untergebracht
	werden, weil mehrere "alte" Funktionen verändert wurden, damit z.B. die Systemzeit
	integriert werden konnte. Auch wurde die PollSwitch Funktion vom Ballast der Fließkomma-
	berechnung befreit. Nun ist wieder mehr Platz für eigenen Code vorhanden.





				EncoderInit()

	Dieser Befehl installiert die Interrupt Funktion für den automatischen Wegzähler.
	
				EncoderStart()
				
	Startet die automatische Zählung nach
	
				EncoderStop()
				
	neu. Diese Stopp Funktion hält den Zähler an
	
				EncoderSet(int,int)
				
	Setzt die Variablen encoder[0] und encoder[1]. Z.B.: EncoderSet(0,0) setzt beide
	Variablen auf Null.
	
				switches
				
	ist eine Variable, die, wenn Startswitch() gestartet wurde, auf wahr gesetzt wird, 
	sobald eine Taste gedrückt wurde. gleichzeitig wird die Tastenüberwachung wieder 
	abgeschaltet. Beispiel:
	Start_Switch();
	while (!switches){;} //wartet auf Tastendruck
	// an dieser Stelle kann mit Pollswitch geprüft werden
	// welche Taste gedrückt wurde, wenn nötig.
	switches=FALSE;  // für eine neuen Aufruf von Startswitch()
	
				Msleep(int)
				
	wartet die angegebene Zeit in ms. Z.B warte 10 Sekunden: Msleep(10000);
	
				Gettime()
				
	Gibt die Zeit, die seit dem letzten Start des Asuro vergangen ist als unsigned long zurück.
	Die Angabe erfolgt auch hier in Millisekunden.
	
				PrintInt(int)
				
	Eine kleine Ausgabehilfe für Integerwerte.
	Beispiel Zeilenweise Ausgabe der encoder Werte:
	PrintInt(encoder[0]);SerWrite("   ",3);PrintInt(encoder[1]);SerWrite("\n\r",2);
	

	31.03.05                                                                          Robotrixer Buxtehude

Version 2.1
===========

- 10.11.2003 Original Version von der ASURO CD (Autor: Jan Grewe - DLR)

Autoren der Bibliothek

contributors, in alphabetical order:

Andun
Jan Grewe
MadMan2k
m.a.r.v.i.n 
Robotrixer
Sternthaler
Stochri
Waste 

Autoren dieser Doku:

m.a.r.v.i.n
Sternthaler
Erzeugt am Wed Feb 14 16:10:02 2007 für ASURO Library von  doxygen 1.5.1-p1