IRMP

Aus Ethersex_Wiki
Wechseln zu: Navigation, Suche

IRMP ist eine Portierung des Infrarot-Multiprotokoll-Decoders nach Ethersex.


Anschluss

Der Empfang der IR-Signale erfolgt durch einen Empfänger vom Typ TSOP1736 (oder ähnlich). Dieser kann an einen beliebigen Pin angeschlossen werden. Die Abfrage des Pins und die Dekodierung des IR-Protokolls erfolgt in einer ISR, die einen 8-Bit-Timer des ATMEGAs belegt.

Beim Senden wird das Signal mit der Trägerfrequenz des jeweiligen IR-Protokolls über PWM moduliert. Dazu wird ein weiterer 8-Bit Timer ATMEGAs (OC0/OC2) belegt.

Beispiel für m32 aus: pinning/hardware/pollin_evalboard.m4

 ifdef(`conf_IRMP', `dnl
   pin(IRMP_RX, PD2)
 #define IRMP_USE_TIMER0
 #define IRMP_RX_LOW_ACTIVE
 #undef IRMP_RX_LED_LOW_ACTIVE
   pin(IRMP_TX, PD7) dnl OC2
 ')

Bedeutung:

  • IRMP_RX - Pin an dem der IR-Empfänger angeschlossen ist
  • IRMP_USE_TIMER0 - benutzer Timer0 für den Empfang, Timer2 für das Senden (undef = umgekehrt)
  • IRMP_RX_LOW_ACTIVE - der IR-Empfänger ist Low-Akriv (undef = High-aktiv)
  • IRMP_RX_LED_LOW_ACTIVE - die Kontroll-LED des Empfängers ist gegen USS geschaltet (undef = gegen GND geschaltet)
  • IRMP_TX - Pin an dem der IR-Sender angschlossen is (=Ausgang des Timer0 oder Timer2, vgl. IRMP_USE_TIMER0)

Konfiguration

 │ │              Load a Default Configuration  --->
 │ │              General Setup  --->
 │ │              Network --->
 │ │              I/O ---> 
 ...
 │ │                  [*] IR Receivers --->
 ...
 │ │                      [*] IRMP IR --->
 ...
 │ │                      [*] Send IRMP IR-codes
 │ │                      [*] IRMP ecmd
 │ │                      --- Protocols
 │ │                      [ ] SIRCS
 │ │                      [*] NEC
 │ │                      [ ] JVC
 │ │                      [ ] SAMSUNG
 │ │                      [ ] MATSUSHITA
 │ │                      [ ] KASEIKYO
 │ │                      [*] DENON
 │ │                      [ ] RECS80
 │ │                      [ ] RECS80EXT
 │ │                      [*] RC5(X)
 │ │                      [ ] RC6
 │ │                      [ ] NUBERT
 │ │                      [*] BANG&OLUFSEN
 │ │                      [*] GRUNDIG
 │ │                      [ ] NOKIA
 │ │                      [*] SIEMENS
 │ │                      [ ] FDC
 │ │                      [ ] RCCAR
 │ │                      --- Debugging Flags
 │ │                      [*] IRMP Debug

ECMD

Control6