Der Asuro
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.
/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
/
startet man die Batchdatei make_doc.bat
, um die Dokumentation zu aktualisieren. Eventuell muss man vorher den Pfad auf die Datei Doxygen.exe
aktualisieren./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.
/doc/html/index.hhp
. Daraus kann mit Hilfe des HTML Help Workshop von Microsoft eine HTML Help Datei erstellt werden. htmlhelp.exe
make_hhdoc.bat
. Eventuell muss man vorher den Pfad auf die Datei hhc.exe
aktualisieren./doc/html/index.chm
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)
contributors, in alphabetical order: Andun Jan Grewe MadMan2k m.a.r.v.i.n Robotrixer Sternthaler Stochri Waste