PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : NIBO2 - IR-Sendefkt nicht korrekt - "copro_TransmitRC5(uint16_t code)"



Hero_123
26.12.2011, 14:08
Hallo

Tests mit dem UCOM-IR2 Modul und der Routine "copro_TransmitRC5(uint16_t code)" ergaben sehr viele Fehler - es wurde das file "rc5test.c" aus der aktuellen NiboLib 2.11 (Ordner "examples2") genommen und mittels hterm die vom NIBO2 erzeugten Codes angezeigt (Einstellungen von hterm/UCOM-IR => WIKI):

1.) Mittels Fernbedienung (FB) RC5-Codes an den UCOM-IR2 geschickt (Anzeige per hterm) - es werden reproduzierbar immer die gleichen Werte für die gleiche Taste angezeigt, keine fehlerhaften Telegramme (Test wurde 10 mal wiederholt mit den Tasten 1 - 9):
Anzeige hterm z.B für Taste 1:
*BbDbBbBbBbBbBbBbBbBbBbBdB~* (Taste 1 das 1.mal gedrückt => 3001)
*BbBbDbBbBbBbBbBbBbBbBbBdB~* (Taste 1 das 2.mal gedrückt => 3801)

2.) Diese RC5-Codes (z.B *BbDbBbBbBbBbBbBbBbBbBbBdB~*) dann per hterm an den NIBO2 geschickt, es wurden die korrekten Werte für die RC-Codes am NIBO2-Display angezeigt (reproduzierbar, RC5-Werte geschickt => Codes 3001 - 3009 bzw 3801 - 3809 angezeigt), es gab keine fehlerhaften Anzeigen/Telegramme.

3.) bei der FB die Tasten 1 - 9 gedrückt (FB sendet an NIBO2), es werden die Codes 3001 - 3009 bzw 3801 -3809 angezeigt = korrekte Anzeige.

4.) Wurden Werte vom NIBO2 erzeugt (siehe "rc5test.c" per S3) wurden zwar die Werte auf dem NIBO2 Display (3500 - 3509 z.B)angezeigt, aber die Anzeige auf hterm war beim gleichen Code (z.b 3501) jedesmal anders:
Anzeige hterm z.B. für 3501:
*BbDdDdDbBbA.,bBbBbBbBbB~*
*BbDdDdDbBbB.,bBbBbBbBbB~*
Es wurden die Codes per Tastendruck S3 von 3500 - 3509 erzeugt, dann der NIBO2 per S2 resettet, dann wieder ein Durchlauf von 3500- 3509 gemacht - insgesamt 10 mal) => das heißt für mich, dass die Wandlung oder das Senden nicht korrekt fkt, die Empfansgroutine scheint korrekt zu sein, da hier keine Fehler feststellbar waren.

Fazit:

das UCOM-IR2 Bauteil fkt (was das Senden und Empfangen angeht)
beim NIBO2 fkt das Empfangen der Daten
beim NIBO2 fkt das Senden mittels "copro_TransmitRC5(uint16_t code)" nicht korrekt


Können auch andere NIBO2-User dieses Verhalten bestätigen?

mfg

Hero_123

setle
26.12.2011, 19:43
Bestätigen kann ich das leider noch nicht, da mein nibo noch nicht zusammengebaut ist ;)

Hast du schon mal ne andere lib ausprobiert?
Mit welcher Lib arbeitest du denn? und welche header datei includest du? denn die routinen in irco.h und coro.h werden durch verschieden allte dateien ausgeführt!!
irco von 2010, copro 2011

Die Routienen stehen in der ir_RC5.
Hab da aber noch nicht weiter draufgeschaut ;)

Ich hoffe ich kommte damit schonmal weiter helfen ;)
... wie gesagt ausprobieren geht leider noch nicht!


MfG

Stefan

Hero_123
26.12.2011, 21:18
Hallo Stefan

Also ich verwende die derzeit neueste Lib - die NiboLib Version 2.11, und wie schon im Beitrag erwähnt verwende ich das Originalfile "rc5test.c", das sich nach der Installation der NiboLib im Unterordner "src/examples2" befindet.
Modifziert habe ich dieses File nicht (keine header usw - ist ja auch nicht nötig!!), außer daß ich mir noch den eigenen erzeugten Code anzeigen lasse auf dem Display. Die irco.h wird doch beim NIBO2 überhaupt nicht verwendet, die ist für den NIBO1 und wie schon im Titel steht, ist dieser Beitrag für den NIBO2...:rolleyes:

Eine andere Lib nutzen würde bedeuten, dass ich ein anderes initializer2.hex flashen müßte und auch die Bodensensoren neu kalibrieren müßte (=> das wirst Du noch machen müssen, wenn Dein NIBO neu ist - siehe Tutorial!!) - und die stop-fkt des Nibo würde auch nicht mehr korrekt fkt usw...da diese Fkt ( "copro_TransmitRC5(uint16_t code)" nicht geändert wurde in der neuen Lib, ist eine ältere Lib nicht unbedingt zielführend ;)

Welchen NIBO hast DU denn? So wie ich Dich verstehe, hast Du Dir den NIBO erst gegönnt, oder? Ich rate Dir dringend, beim Zusammenbau speziell das Kapitel3 der Bauanleitung (Inbetriebnahme!!) und nach dem Zusammenbau das Programmiertutorial durchzuackern.

Wie willst Du denn den NIBO programmieren - mit C und dem AVRStudio? Ich programmier mit C und dem AVRStudio4 (Version 4.18 Build 700 von Atmel - ist ganz gut)

mfg

Hero_123

setle
26.12.2011, 21:58
Sorry Ich wusste nicht, das die irco gar nicht mehr beim Nibo2 verwedet wird :rolleyes:

Ja habe den Nibo2 grade erst neu, aber mein Lötkolben ist leider nicht grade in der Nähe, deswegen die langeweile ;) ... und die Unwissenheit.

Programmieren willte ich dann mitm AVRStudio 4 Version 4.19 Build 730 schon installiert und ein paar Programme kompiliert, aber leider noch nicht testen können :(

In welcher lib kann ich denn die ganzen Prozedurden/Funktionen,... einsehen?

Ich dachte in /scr/copro und /scr/motco ,... wären die aktuellen libs

Hero_123
26.12.2011, 22:21
Hallo

No worries, mate ! Das mit dem AVRStudio ist ok, nehme an, Du programmierst in "C" ...

Also der sourcecode ist in "../src/nibo/.." - da sind die files für die ganzen Routinen für den ATMega128; das directory "../src/ copro/.." ist für den ATMega88 (das ist unser Coprozesser, den wir NICHT(!!) programmieren können, da die ISP-Schnitstelle nur für den ATMega128 ist => wir programmieren nur den ATMega128; das Directory ".../src/motco" ist NUR FÜR DEN NIBO1!!

Nachdem Du schon Programme mit dem AVTStudio compiliert hast, müßte auch alles im AVRStudio korrekt eingestellt sein - gratuliere!

Wenn Du den NIBO2 lötest - verbrutzel den Kerl nicht! Und pass bei den IR-LEDS für die Abstandsmessung auf - wenn der Schrumpfschlauch zu lang ist, fkt die Erkennung nicht so toll ;)

viel Spass

mfg

Hero_123

Georg B.
12.03.2012, 08:24
Hallo

Tests mit dem UCOM-IR2 Modul und der Routine "copro_TransmitRC5(uint16_t code)" ergaben sehr viele Fehler - es wurde das file "rc5test.c" aus der aktuellen NiboLib 2.11 (Ordner "examples2") genommen und mittels hterm die vom NIBO2 erzeugten Codes angezeigt (Einstellungen von hterm/UCOM-IR => WIKI):

1.) Mittels Fernbedienung (FB) RC5-Codes an den UCOM-IR2 geschickt (Anzeige per hterm) - es werden reproduzierbar immer die gleichen Werte für die gleiche Taste angezeigt, keine fehlerhaften Telegramme (Test wurde 10 mal wiederholt mit den Tasten 1 - 9):
Anzeige hterm z.B für Taste 1:
*BbDbBbBbBbBbBbBbBbBbBbBdB~* (Taste 1 das 1.mal gedrückt => 3001)
*BbBbDbBbBbBbBbBbBbBbBbBdB~* (Taste 1 das 2.mal gedrückt => 3801)

2.) Diese RC5-Codes (z.B *BbDbBbBbBbBbBbBbBbBbBbBdB~*) dann per hterm an den NIBO2 geschickt, es wurden die korrekten Werte für die RC-Codes am NIBO2-Display angezeigt (reproduzierbar, RC5-Werte geschickt => Codes 3001 - 3009 bzw 3801 - 3809 angezeigt), es gab keine fehlerhaften Anzeigen/Telegramme.

3.) bei der FB die Tasten 1 - 9 gedrückt (FB sendet an NIBO2), es werden die Codes 3001 - 3009 bzw 3801 -3809 angezeigt = korrekte Anzeige.

4.) Wurden Werte vom NIBO2 erzeugt (siehe "rc5test.c" per S3) wurden zwar die Werte auf dem NIBO2 Display (3500 - 3509 z.B)angezeigt, aber die Anzeige auf hterm war beim gleichen Code (z.b 3501) jedesmal anders:
Anzeige hterm z.B. für 3501:
*BbDdDdDbBbA.,bBbBbBbBbB~*
*BbDdDdDbBbB.,bBbBbBbBbB~*
Es wurden die Codes per Tastendruck S3 von 3500 - 3509 erzeugt, dann der NIBO2 per S2 resettet, dann wieder ein Durchlauf von 3500- 3509 gemacht - insgesamt 10 mal) => das heißt für mich, dass die Wandlung oder das Senden nicht korrekt fkt, die Empfansgroutine scheint korrekt zu sein, da hier keine Fehler feststellbar waren.

Fazit:

das UCOM-IR2 Bauteil fkt (was das Senden und Empfangen angeht)
beim NIBO2 fkt das Empfangen der Daten
beim NIBO2 fkt das Senden mittels "copro_TransmitRC5(uint16_t code)" nicht korrekt


Können auch andere NIBO2-User dieses Verhalten bestätigen?

mfg

Hero_123

Hallo Hero_123,

ich kann Dein Fazit bestätigen.

mfg
Georg