PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : NIBObee: beelib - noch einer andere Bibliothek...



bantyy
26.04.2010, 18:29
Hallo Leute,

wie ich schon länger angekündigt hatte, habe ich es nun endlich geschafft:

Meine Bibliothek für die Biene findet ihr unter:

http://savannah.nongnu.org/projects/beelib/

Ich hab das ganze mit dem GNU C Compiler mit Linux entwickelt, deshalb hab ich keine weiteren IDE-Dateien dabei. Langfristig will ich auf Eclipse umsteigen, aber da bin ich noch in den Anfängen.

Was die Bibliothek selber angeht, ist dort ein Beispiel dabei (beerun). Die Dokumentation ist noch in der Mache, die wird in den nächsten Versionen dazu kommen. Ebenfalls ist ein einfacheres Beispiel in der Mache. Wahrscheinlich wird mal ein Tutorial daraus.

Wer Interesse hat, daran mitzuarbeiten, melde sich bitte bei mir :-) Und Feedback in Form von gefundenen Fehlern oder Verbesserungsvorschlägen immer gerne :-)

Ciao bantyy

Tuxi-Halle
26.04.2010, 20:42
Hallo Leute,
Meine Bibliothek für die Biene findet ihr unter:

Prima! Werde ich ausprobieren.


Ich hab das ganze mit dem GNU C Compiler mit Linux entwickelt, deshalb hab ich keine weiteren IDE-Dateien dabei. Langfristig will ich auf Eclipse umsteigen, aber da bin ich noch in den Anfängen.

Du meinst, Du hast mit irgendeinem Editor ( im Zweifelsfalle vi ;-) ) und den Kommandozeilen-Tools entwickelt??? Mal ehrlich - mit eclipse, dem AVR-Plugin und der AVR-Toolchain geht das total einfach! Da brauchst Du keine große Einarbeitung. Wirklich! Einfach machen! Wenn Du das mit der Kommandozeile hingekriegt hast, kannst Du das auch - erst recht dann, wenn Du jemals schon mit einer anderen echten IDE gearbeitet hast. Dann gibts da noch das Subclipse-Plugin (http://www.admin-wissen.de/eigene-tutorials/programmierung/eclipse-workshop/workshop-seite-15/) - darauf hast Du selbst mich in dem anderen Thread (https://www.roboternetz.de/phpBB2/viewtopic.php?t=53955) gebracht ;-)

hanno72
06.05.2010, 21:04
Ich finde die Lib gut, weil sie einen PID-Regler drin hat. Leider habe ich es aber nicht geschafft, das Beispielprogramm zum Laufen zu bringen. Wie funktioniert das mit dem makefile? - Deine Sourcen machen einen viel versprechenden Eindruck. Ich gedenke meine Bee-Projekte darauf aufzubauen.

hanno72
13.05.2010, 09:42
Verbesserungsvorschläge:

Fertige Kompilate
Es wäre für C-Anfänger wie mich gut, wenn die Libraries als Kompilate mit dabei wären.

Weniger verschachtelte Beispielprogramme
Übersichtlicher wären Beispielprogramme, welche komplett in einer ".c"-Datei untergebracht wären

"Anfängerroutinen" als Ergänzung
Eine einfache Delay-Routine (z.B. Delay(1)= 1 ms warten) wäre eine gute Ergänzung zu den (sicherlich viel leistungsfähigeren) Timern

Lob:

Fortgeschrittene Funktionen
Sehr gut finde ich die fortgeschrittenen Funktionen wie Tastenentprellung und PID, die in der NIBObeeLib fehlen

Dokumentation
Die ausführlichen Code-Kommentare sind hilfreich.

bantyy
01.06.2010, 23:18
Hallo,

sorry, ich war eine Weile nicht hier, deshalb hatte ich nicht mitbekommen, dass hier neue Kommentare aufgelaufen sind.

Leider muss ich auch feststellen, dass es echt mehr Arbeit ist, das öffentliche Projekt zu organisieren, als ich mir erhofft hatte - aber gut, das hab ich mir nun ans Bein gebunden.

Inzwischen funktioniert der IR-Empfang mit einem ATmega 644, für den 16er hab ich ehrlich gesagt noch kein HAL geschrieben...

Es fehlen aber noch ganz viele Dinge, zum Beispiel das Tutorial, wo von einem einfachen zu einem komplizierteren Programm hingearbeitet wird. Denn dass das "beerun" vielleicht erstmal etwas erschlagend ist, verstehe ich. Inzwischen gibt es auch ein einfacheres Beispielprogramm, bee_first. Aber ganz ohne Erklärung ist das wohl auch noch nicht hilfreich :-(

Im svn-Repo ist die aktuelle Version, leider stürzt die Kiste inzwischen auch mal ab :-( Deshalb hab ich noch immer nichts neues im Downloadbereich hinterlegt, sorry.


Verbesserungsvorschläge:

Fertige Kompilate
Es wäre für C-Anfänger wie mich gut, wenn die Libraries als Kompilate mit dabei wären.

Mit C-Anfänger hat das ja erstmal nix zu tun. Aber klar, kann ich natürlich machen, wenn es hilft. Schlimmer finde ich die eher miese Doku...


Weniger verschachtelte Beispielprogramme
Übersichtlicher wären Beispielprogramme, welche komplett in einer ".c"-Datei untergebracht wären

Übersichtlicher - einverstanden. Aber in einer c-Datei - das beißt sich nach meinem Verständnis von Übersichtlichkeit. Das beerun-Example ist allerdings kein tolles Vorzeige-Projekt, was Übersichtlichkeit angeht, deshalb hab ich eines mit nur zwei c-Dateien erstellt. Wenn ich davon eine Download-Version erstellt habe, melde ich mich nochmal.


"Anfängerroutinen" als Ergänzung
Eine einfache Delay-Routine (z.B. Delay(1)= 1 ms warten) wäre eine gute Ergänzung zu den (sicherlich viel leistungsfähigeren) Timern

OK, das lässt sich machen :-) Wenn ich dafür den SystemTimer nehmen darf.

Vorübergehend funktioniert das so:



#include <beelib/systemtimer.h>

void Delay(uint16_t DelayTime)
{
uint16_t AbortTime;

AbortTime = SystemTimer_GetOffset(DelayTime);
while (!SystemTimer_IsExpired(AbortTime))
{
// While waiting the scheduled functions have to be run!
SystemTimer_SchedulerRun(void);
}
}



Fortgeschrittene Funktionen
Sehr gut finde ich die fortgeschrittenen Funktionen wie Tastenentprellung und PID, die in der NIBObeeLib fehlen

Ich muss das ein wenig zurückweisen: Der "PID" ist kein klassischer PID. Es ist eher eine PLL. Aber egal, die Funktion regelt zuverlässig.


Dokumentation
Die ausführlichen Code-Kommentare sind hilfreich.

OK, das mag sein, allerdings bin ich damit selber noch nicht zufrieden. Mir fehlt einfach ein Tutorial dazu, damit man Schritt für Schritt die ganzen Fähigkeiten kennenlernen kann.

Noch etwas: Ich habe leider keine Ahnung, wie man "Plain Text"-Projekte wie dieses in die AVRStudio-Umgebung bringt. Ich arbeite mit Linux - und immer noch ohne Eclipse - da habe ich keine Möglichkeit, das auszuprobieren. Wenn jemand Lust hat, kann er mir die Makefiles gerne in Projectdateien für AVRStudio umwandeln (lassen) und zuschicken.

So, genug geredet ;-) ich weiß ja gar nicht, ob Du weiter Interesse an dieser Lib hast - schließlich gibt es inzwischen einen (echten) PID in der Nicai Lib. Und bei mir funktioniert auch der Liniensensor immer noch nicht...

Danke für Deine Hinweise!

Ciao bantyy