Forum: Compiler & IDEs IRMP: Protokoll und Kommando per Uart ausgeben


von M. H. (dbzwerg)


Lesenswert?

Hallo,

ich habe in meinem Projekt die irmp lib eingebunden und wollte das 
Protokoll und Kommando per uart ausgeben, allerdings funktioniert meine 
bisher verwendete uartlib von fleury nicht,da offenbar die irmp lib 
eigene uart routinen nutzt.
Kann mir jemand sagen wie ich die kommandos mit der irmp eigenen uart 
routine anzeigen lassen kann oder wie ich die lib auf die fleury lib 
umbaue?

P.S. Generell funktioniert die irmp, d.h. wenn ich ein kommando per 
Fernbedienung schicke wird die irmp_get_data ausgeführt und setzt mir 
aktuell einen Test-LED

anbei die nicht funktionierende uart ausgabe
1
        if (irmp_get_data (&irmp_data))
2
    
3
        {
4
              PORTB |=(1<<PB3);
5
        _delay_ms(500);
6
        PORTB &=~(1<<PB3);
7
      // ir signal decoded, do something here...
8
            // irmp_data.protocol is the protocol, see irmp.h
9
      uart_puts("\n\rProtokoll");
10
      send_int_uart(irmp_data.protocol);
11
            // irmp_data.address is the address/manufacturer code of ir sender
12
            // irmp_data.command is the command code
13
            // irmp_protocol_names[irmp_data.protocol] is the protocol name (if enabled, see irmpconfig.h)
14
        }
15
    }

von Karl H. (kbuchegg)


Lesenswert?

Sollte eigentlich nicht so sein.
Der IRMP Code betreibt auf Anforderung ein Logging der empfangenen Daten 
mittels UART.

Derfaultmässig ist dieses Logging aber abgeschaltet und wenn das korrekt 
gemacht ist (habs nicht kontrolliert), sollte da vom UART Code nichts 
mehr übrig bleiben.

Der entsprechende Schalter sitzt in der irmpconfig.h und heisst
1
#define IRMP_LOGGING    0

wenn er so wie hier 0 ist (ist der Download-Default), dann ist Logging 
abgeschaltet und du hast die UART ganz für dich alleine. (bzw. für die 
Fleury Lib)

von M. H. (dbzwerg)


Lesenswert?

Das Logging war abgeschaltet, trotzdem gabs keine Uart ausgabe... wie 
gesagt ich würde auch die lib eigen uart routine nutzen, wenn mir jemand 
die syntax dafür gibt und bestenfalls ein beispiel wie ich z.b. den 
empfangenen protokollnamen ausgebe..

von Karl H. (kbuchegg)


Lesenswert?

Zeig halt mal dein main() komplett her.

Denn wie gesagt: Wenn der IRMP Code noch so ist, wie er aus dem Zip-File 
kommt, dann ist da keine UART aktiv. Die wird gar nicht mitkompiliert.

Ergo ...
musst du irgendwo in deinem main() einen Fehler beim Einbinden der 
Fleury UART haben.


> wie gesagt ich würde auch die lib eigen uart routine nutzen, wenn mir jemand die 
syntax dafür gibt

Das hab ich jetzt mal überhört. Du wirst ja wohl noch in der Lage sein 
ein C-File aufzumachen und dort mal ein bischen rumzuscrollen, bis du 
auf eine offensichtliche Logging-Ausgabe stösst und dir dort mal 
anzusehen, wie das benutzt wird, bzw. die UART Basisfunktionen da 
drinnen zu finden.
Aber wie gesagt: das ist alles nicht aktiv und wird nicht mitkompiliert, 
solange das bewusste Präproc-Makro auf 0 steht.

von Karl H. (kbuchegg)


Lesenswert?

Hast du denn die Fleury UART schon mal für sich alleine getestet?

von M. H. (dbzwerg)


Lesenswert?

Ok hat sich erledigt... der Code ist von nem Kollegen und der hatte die 
fleury lib nicht richtig eingebunden... Danke vielmals für eure 
Antworten!!

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.