IRMP: Protokoll und Kommando per Uart ausgeben

#3209700
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
    }
#3209752
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)
#3209934
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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren