RoboterCC - Robotic Code Compiler
Forum Robot Kits NIBO 2 Zurücksetzen des zuletzt empfangenen RC5 Kommandos

Welcome

Nachrichten

Sie sind nicht eingeloggt.

Werbung

Banner

Letzte Themen

  • Keine Beiträge vorhanden

Site-Statistic

  • 7426 private projects
  • 385 public projects
  • 16180353 lines compiled
  • 58212 builds
NIBO @ facebook YouTube Twitter
Willkommen, Gast
Benutzername: Passwort: Angemeldet bleiben:
  • Seite:
  • 1

THEMA: Zurücksetzen des zuletzt empfangenen RC5 Kommandos

Zurücksetzen des zuletzt empfangenen RC5 Kommandos 12 Jahre 8 Monate her #581

  • PapaNoah
  • PapaNoahs Avatar
  • OFFLINE
  • Junior Boarder
  • Beiträge: 11
Hallo zusammen,

In den Beispielprojekten für den Nibo2 gibt es einen Code für den Empfang von RC5-Kommandos. Ich habe anhand von diesem Beispiel ein eigenes Programm geschrieben. Dieses läuft zwar gut (Empfang funktioniert 1A), ich kann aber die Variable 'copro_rc5_cmd' nicht zurücksetzen. Im Beispiel wird dieser einfach den Wert 0 zugewiesen, was bei mir nicht funktioniert. :dry:
Sinn der Sache ist, dass man z.B. eine Pfeiltaste auf der Fernbedienung gedrückt hält, und der Nibo fährt so lange, bis die Taste wieder losgelassen wird.

Kann man 'copro_rc5_cmd' nicht zurücksetzen oder habe ich eine veraltete Firmware auf meinem Co-Prozessor?


PapaNoah
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Aw: Zurücksetzen des zuletzt empfangenen RC5 Kommandos 12 Jahre 8 Monate her #582

  • achim S.
  • achim S.s Avatar
  • OFFLINE
  • Gold Boarder
  • Beiträge: 441
Hallo
Verwendest du den Code aus den Beispielen hier auf der Seite? Stammt er vielleicht von mir?
Muss dir kurz was zu erklären. Bei den RC5 FB ist es nicht gut die Taste gedrückt zu halten. Bei einmal drücken wird z.B. der Code 3005 übertragen. Wenn Nibo diesen wert bekommt, fährt es los. Das macht er solange bis nichts mehr geht oder ein anderer Code kommt. Drückst du noch ein mal auf die taste, wird ein Code ausgesandt mit 3805. Wenn du diesen Auswertest kannst du mit einer taste Start und stop machen. In den Beispielen steht ein Testprg um die Nr der FB auszulesen. Dabei kannst diu alle Nummern ausprobieren und die richtige für dich suchen. In den Prg Fahren mit FB werden diese Nr angewendet und Nibo fänrt damit. Hoffe das die Nr stimmen. Mitunter werden auch andere verwendet.
Achim
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Aw: Zurücksetzen des zuletzt empfangenen RC5 Kommandos 12 Jahre 8 Monate her #583

  • PapaNoah
  • PapaNoahs Avatar
  • OFFLINE
  • Junior Boarder
  • Beiträge: 11
Hi Achim,

Vielen Dank für deine Antwort. Ich hatte mir deinen Code sowie den von 'r.isaak' angeschaut. Das mit dem Start und Stop habe ich schon verstanden, jedoch ist das irgendwie nur nützlich wenn man z.B. LED's steuern möchte... Für die Motoren wäre gedrückt halten schon eine feine Sache. Ich habe mich unterdessen ein wenig im Source der Firmware für den Co-Prozessor umgesehen. Es gibt im Buffer, der über SPI an den Hauptprozessor übertragen wird noch ein freies Byte (im Code findet man Andeutungen, dass dieses Byte für einen RC5 Counter vorgesehen ist, diesem wird aber nirgends etwas zugewiesen). Ich habe nun implementiert, dass dieses Byte den Wert 1 hat, wenn ein neues Kommando empfangen wurde (auch wenn es das gleiche war wie beim letzten Empfang) und sonst 0. Dieses Byte kann ich dann in meinem Programm über eine Variable abfragen (copro_rc5_new). Diese Änderung betrifft die Dateien 'comdata.c' (Zuweisung von 0 oder 1 an das Element mit dem Index 22 des SPI-Buffers), 'copro.c' (Neue Variable), 'copro.h' (Deklaration für den Zugang über meine Programme) B)

Nur das Kompilieren ist mühsam, da ich das Makefile auf einer Windows-Maschine nicht ausführen kann. Weiss da jemand Rat?

Gruss PapaNoah

// EDIT: Meine Fernbedienung schickt bei gedrückter Taste immer den gleichen Code. Dieser ändert sich erst, wenn ich die Taste loslasse, und erneut drücke.
Letzte Änderung: 12 Jahre 8 Monate her von PapaNoah.
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Aw: Zurücksetzen des zuletzt empfangenen RC5 Kommandos 12 Jahre 8 Monate her #584

  • achim S.
  • achim S.s Avatar
  • OFFLINE
  • Gold Boarder
  • Beiträge: 441
Hallo PapaNoah
das klingt sehr interessant. Bin leider noch so weit vorgedrungen. Das mit dem Bit kenne ich. Leider sind viele Dinge in diesem Bereich und bei den Befehlen nicht fertig. Bei vielen Sachen fehlen die Befehle oder Beispiele um selber was machen zu können.
Du sprichst da ein sehr Intersante Sache an. Nach der Beschreibung ist ene Kommunikation über den Bus möglich. Finde leider keine Info oder Befehle dazu. Vor längerer Zeit wurde mir schon zugesagt, das etwas zur Temperaturmessung kommt. Doch bis heute nichts. Auf dem Zusatzboard sind ebenfalls E/A (I/O). Doch wie kann ich diese Ansteuern? Bin dir für jede Info dankbar. Leider werden Fragen in diesem Forum manchmal einfach übergangen oder ignoriert. Ist schade um Nibo. Der kleine Kertl hat mehr verdient, als auf dieser Seite zu verstauben.
Achim S.
Der Administrator hat öffentliche Schreibrechte deaktiviert.

Aw: Zurücksetzen des zuletzt empfangenen RC5 Kommandos 12 Jahre 8 Monate her #585

  • PapaNoah
  • PapaNoahs Avatar
  • OFFLINE
  • Junior Boarder
  • Beiträge: 11
Hi Achim,
Wie du schon sagtest, ist auch mir mehr und mehr aufgefallen, dass man in der Firmware zwar Bruchteile für gewisse Dinge findet, diese sind aber nicht fertig gestellt. Zu deiner Frage bezüglich der Anbindung an weitere Ein- bzw. Ausgänge des Co-Prozessors:

Für die Lösung, die ich oben beschrieben habe, musste ich nicht so "tief" in die Firmware. Ich nutzte einfach einen bereits bestehenden, aber nicht genutzten Platz aus, um einen eigenen Wert an den Hauptprozessor zu schicken. Ich bin zwar bis zur Umwandlung der Infrarot-Signale ins RC5-Format vorgedrungen, aber ich muss dir ehrlich sagen, dass dies meine Kenntnisse überschreitet. Ich hatte zwar schon für die Arbeit sehr nahe an der Hardware programmiert, jedoch erst nach einer Menge Vorbereitung bzw. Einarbeitung. Wenn du auf der Ebene programmieren willst, kann ich dir nur empfehlen, dass du dich zuerst mit dem ATMega88 auseinandersetzt (hier würde ich wohl bei den Schaltplänen des Nibo beginnen, und bei Unklarheiten einen Blick ins Handbuch des Mikroprozessors werfen). Ohne mich nun zu weit aus dem Fenster lehnen zu wollen, würde ich sagen, dass du dann anhand der bereits bestehenden Firmware für den Co-Prozessor zusätzliche Funktionen implementieren kannst. Für meine Änderung habe ich einfach den bestehenden Code ein wenig studiert. Ich hoffe, dir damit wenigstens ein bisschen helfen zu können.

Die Verbindung zwischen Haupt- und Co-Prozessor findet über SPI statt. Wirf doch nochmals einen Blick in den Source des Co-Prozessors, ich hatte mich darin relativ schnell zurecht gefunden. Probier mal dich einfach einmal ein wenig durchzukämpfen.


Ich hatte ehrlich gesagt mit wenig Hoffnung auf Antwort diese Frage heute morgen geschrieben, da man ja auf den ersten Blick sieht, dass trotz vielen Bemühungen die Sache hier nicht so richtig in Schwung kommt (obwohl mir unklar ist wieso). Vielleicht kommt ja der grosse Aufstieg noch ;)
Der Administrator hat öffentliche Schreibrechte deaktiviert.
  • Seite:
  • 1
Ladezeit der Seite: 0.052 Sekunden

Werbung