nxtfs

Windows, Linux, MacOS

Moderator: Moderatoren

Schneemann
Schreibt viel
Schreibt viel
Beiträge: 114
Registriert: 24. Jun 2007 14:31
Wohnort: Wonsheim
Kontaktdaten:

nxtfs

Beitragvon Schneemann » 9. Feb 2008 22:07

Hi,

Ich arbeite gerade an einem Dateisystemtreiber für den NXT. Das heißt dieser Treiber emuliert ein normales Dateisystem mit den Dateien vom NXT. Es funktioniert im Moment schon ganz gut. nxtfs erlaubt aber nicht nur den Zugriff auf Dateien, z.B stellt es die Mailboxen des NXTs auch als Dateien dar. Ich will jetzt aber nicht lange weiter reden, sondern meine Frage stellen: Welche Funktionen ihr euch wünscht. Hier ist eine Liste mit bereits implementierten Features:

* Dateien lesen/schreiben/löschen/erstellen/(verschieben?)
* Mailboxen lesen/schreiben
* Batterylevel auslesen
* Brickname auslesen/ändern
* Firmware/Protokoll-Version auslesen
* Programm stoppen (Programm wird beim öffnen dieser Datei beendet)
* Motoren entweder per Power (-100 - 100) oder Winkel steuern

Außerdem hatte ich mir selber schon überlegt:
* Ton/Datei abspielen
* Programm ausführen
* I2C

Ich weiß, dass da eigentlich nicht mehr viel übrig bleibt was man machen kann, aber vielleicht könnt ihr ja trotzdem was vorschlagen.

* Sensoren konfigurieren und auslesen

Benutzeravatar
chrimo
Moderator
Moderator
Beiträge: 933
Registriert: 23. Okt 2006 18:59
Wohnort: Sauensiek (Niedersachsen, Krs.Stade)

Beitragvon chrimo » 11. Feb 2008 20:58

Moin,

Features möchte ich keine mehr, aber etwas mehr zum Hintergrund wissen...

Wie ist das FS implementiert ? Kernel-Treiber oder FUSE-ähnlicher Ansatz ?
Transportunabhängiger (USB bzw. BT) Support ?


Vielen Dank für weitere Details
Bye
Chrimo
+++ath+++
NO CARRIER

Schneemann
Schreibt viel
Schreibt viel
Beiträge: 114
Registriert: 24. Jun 2007 14:31
Wohnort: Wonsheim
Kontaktdaten:

Beitragvon Schneemann » 12. Feb 2008 17:56

Hi,

Sorry hatte ich ganz vergessen. Funktioniert mit FUSE über USB (libusb). Ich würde es ja auch für Bluetooth machen, aber ich hab leider kein Bluetooth. Wenn ich fertig bin, kann ich mal nachschauen. Man müsste eigentlich nur usb_sendpacket() und usb_recvpacket() für BT umbauen.

Benutzeravatar
chrimo
Moderator
Moderator
Beiträge: 933
Registriert: 23. Okt 2006 18:59
Wohnort: Sauensiek (Niedersachsen, Krs.Stade)

Beitragvon chrimo » 12. Feb 2008 19:30

Moin,

jau, BT mit SP (serial profile) ist zu bedienen, wie ein serielles tty (u.a. /dev/ttyS0)

Viel Erfolg und Danke für die Information

Bye
Chrimo
+++ath+++

NO CARRIER

Schneemann
Schreibt viel
Schreibt viel
Beiträge: 114
Registriert: 24. Jun 2007 14:31
Wohnort: Wonsheim
Kontaktdaten:

Beitragvon Schneemann » 21. Feb 2008 16:25

Hi,

@chrimo: Benutzt du nicht pbLua oder so? Wollte nur mal anmerken, dass nxtfs für die "normale" Lego-Firmware geschrieben ist.

Hab mal ein paar Screenshots gemacht:

Dateien auf dem NXT
Bild

Eine RXE-Datei geöffnet
Bild

Device-Info-Dateien:
Bild

Wenn man genau hinguckt (beim Batterylevel) sieht man, dass manches noch nicht so richtig funktioniert.

Benutzeravatar
chrimo
Moderator
Moderator
Beiträge: 933
Registriert: 23. Okt 2006 18:59
Wohnort: Sauensiek (Niedersachsen, Krs.Stade)

Beitragvon chrimo » 21. Feb 2008 20:56

Moin,

klar bin ich (pb)Lua-Freak, aber offen für alles weitere ...
OSX, Debian-SPARC64,MIPS und natürlich NXT-NBC/NXC oder NXJ :-)

Dein Treibermodul/Fuse-Plugin sieht sehr vielversprechend und interessant aus, tolle Idee !

Danke für den Bericht
Bye
Chrimo
+++ath+++

NO CARRIER

Schneemann
Schreibt viel
Schreibt viel
Beiträge: 114
Registriert: 24. Jun 2007 14:31
Wohnort: Wonsheim
Kontaktdaten:

Beitragvon Schneemann » 22. Feb 2008 23:22

Hi,

So nxtfs ist soweit, als Beta rausgegeben zu werden:
http://jgraef.bplaced.net/nxtfs/download.html

Wobei mir gerade einfällt, dass ich Dateien auf den NXT zu schreiben noch nicht getestet hatte. Egal, hab jetzt schon alles hochgeladen, und Batterie von meinem NXT ist auch leer.

Ich würde mich freuen, wenn ein paar Leute das Betatesten könnten.

EDIT: Also Dateien schreiben ist auskommentiert und wird ein Permission denied ergeben. Das Problem mit schreiben ist, dass die NXT-Firmware beim Öffnen schon die Dateigröße wissen will.

Schneemann
Schreibt viel
Schreibt viel
Beiträge: 114
Registriert: 24. Jun 2007 14:31
Wohnort: Wonsheim
Kontaktdaten:

Beitragvon Schneemann » 23. Feb 2008 18:55

Hi,

Ich hab noch mal ein bisschen rumgehackt und hab es hinbekommen, dass mein NXT automatisch gemounted wird, wenn ich ihn anschließe. Es wird dann auch ein Symbol auf meinem Desktop angelegt.

Ich will dann noch ein paar Screenshots ergänzen:

Das NXT-Icon wird automatisch angelegt und öffnet bei klick den NXT-Ordner
Bild

Man kann auch die Mailboxen wie Dateien benutzen
Bild

Mit diesen Dateien kann man die Motoren steuern
Bild

Hiermit kann man die Sensoren konfigurieren und auslesen
Bild

Benutzeravatar
chrimo
Moderator
Moderator
Beiträge: 933
Registriert: 23. Okt 2006 18:59
Wohnort: Sauensiek (Niedersachsen, Krs.Stade)

Beitragvon chrimo » 25. Feb 2008 11:12

Moin,

mal sehen, ob es auch mit MacFUSE irgendwie geht. Die FUSE-API unter OSX soll annähernd kompatibel sein...

Compiler On!

Bis bald
Bye
Chrimo
+++ath+++

NO CARRIER

Schneemann
Schreibt viel
Schreibt viel
Beiträge: 114
Registriert: 24. Jun 2007 14:31
Wohnort: Wonsheim
Kontaktdaten:

Beitragvon Schneemann » 4. Mär 2008 15:18

Hi,

Und hast du schon einen Fehler entdeckt? Ich hab nämlich keinen weiteren gefunden und ich würde dann demnächts das stable releasen.

Benutzeravatar
chrimo
Moderator
Moderator
Beiträge: 933
Registriert: 23. Okt 2006 18:59
Wohnort: Sauensiek (Niedersachsen, Krs.Stade)

Beitragvon chrimo » 6. Mär 2008 21:51

Moin,
ich kämpfe noch mit MacFuse,pkg-config und nxtfs-Sourcen :-)

nxtfs.c:1228:41: error: macro "fuse_main" requires 4 arguments, but only 3 given
nxtfs.c: In function ‘main’:
nxtfs.c:1228: error: ‘fuse_main’ undeclared (first use in this function)
nxtfs.c:1228: error: (Each undeclared identifier is reported only once
nxtfs.c:1228: error: for each function it appears in.)
nxtfs.c:1216: warning: unused variable ‘nxtfs_oper’
nxtfs.c:1229: warning: control reaches end of non-void function
make: *** [all] Error 1

Bye
Chrimo
+++ath+++

NO CARRIER

Schneemann
Schreibt viel
Schreibt viel
Beiträge: 114
Registriert: 24. Jun 2007 14:31
Wohnort: Wonsheim
Kontaktdaten:

Beitragvon Schneemann » 7. Mär 2008 14:08

Wenn ich als 4. Argument NULL hinzufüge bekomme ich:
nxtfs.c:1228:46: error: macro "fuse_main" passed 4 arguments, but takes just 3
nxtfs.c: In function ‘main’:
nxtfs.c:1228: error: ‘fuse_main’ undeclared (first use in this function)
nxtfs.c:1228: error: (Each undeclared identifier is reported only once
nxtfs.c:1228: error: for each function it appears in.)
nxtfs.c:1216: warning: unused variable ‘nxtfs_oper’
nxtfs.c:1229: warning: control reaches end of non-void function


Kannst ja mal das mit NULL bei dir probieren.


Zurück zu „Betriebssysteme“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste

Lego Mindstorms EV3, NXT und RCX Forum : Haftungsauschluss