Dies ist eine alte Version des Dokuments!
irmp
VOR
AAA
pinning/hardware/pollin_evalboard_addon.m4
NOTOC
Menuconfig
│ │ Load a Default Configuration ---> │ │ General Setup ---> │ │ [*] Status LEDs ---> │ │ [*] Status LED (Received) │ │ [-] RFM12 RX │ │ [ ] ZBUS RX │ │ [*] IRMP RX │ │ I/O ---> │ │ [*] IR Receivers ---> │ │ [*] IRMP IR ---> │ │ [*] Receive IR-codes │ │ [*] Send 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 │ │ [ ] NIKON │ │ --- Debugging Flags │ │ [ ] IRMP Debug
Infos
Testcpu: m644<br> Board: etherrape<br>
(vorsicht, protokoll ist dezimal, adresse hexadezimal in der ausgabe)
Modifikationen
Datei: pinning/hardware/etherrape.m4<br>
ifdef(`conf_IRMP', `dnl pin(IRMP_RX, PD2) #define IRMP_USE_TIMER2 #define IRMP_RX_LOW_ACTIVE #undef IRMP_RX_LED_LOW_ACTIVE pin(IRMP_TX, PD7) dnl OC2/OC2A #undef IRMP_TX_LED_LOW_ACTIVE ')
Befehle ecmd
<source lang=„text“>
</source>
Control6 Scripte
'Funktion:
' Via IR tasten die stella kanäle steuern. anfang 0 bis 255, kein überlauf wenn 255 erreicht.
–> http://paste2.org/p/1181590
oder
C6_HEADER(`/* This will be in control6.h */')
CONTROL_START THREAD(blink)
ON IRMP_READ > 0 DO if(IRMP_PROTOCOL==8 && IRMP_ADDRESS==0x0002 && IRMP_COMMAND==0x0268) {
PIN_SET(LED1); break;
} if(IRMP_PROTOCOL==8 && IRMP_ADDRESS==0x0002 && IRMP_COMMAND==0x0068) {
PIN_CLEAR(LED1); break;
}
END THREAD_END(blink) THREAD_START(blink) CONTROL_END
oder
C6_HEADER(`/* This will be in control6.h */')
CONTROL_START THREAD(blink)
ON IRMP_READ > 0 DO
if(IRMP_PROTOCOL==8 && IRMP_ADDRESS==0x0002 && IRMP_COMMAND==0x0268) ESEND(192.168.123.51, „channel 0 255 f\n“);
if(IRMP_PROTOCOL==8 && IRMP_ADDRESS==0x0002 && IRMP_COMMAND==0x0068) ESEND(192.168.123.51, „channel 0 0 f\n“);
END
THREAD_END(blink) THREAD_START(blink) CONTROL_END
oder (nicht getestet)
ON IRMP_READ>0 DO
if(IRMP_PROTOCOL==meinprotokoll && IRMP_ADDRESS==0xmeineadresse) switch(IRMP_COMMAND) { case 0x268: PIN_TOGGLE(pin_irgendwas); break; }
END
Steuern von Stella/Pins durch IR-Zeichen
<source lang=„text“> C6_HEADER(`/* This will be in control6.h */') #include „services/stella/stella.h“ CONTROL_START
THREAD(control_stella) ON IRMP_READ > 0 DO
if(IRMP_PROTOCOL==8 && IRMP_ADDRESS==0x0002) { switch(IRMP_COMMAND) { case 0x0268: stella_setValue(STELLA_SET_IMMEDIATELY, 0, 255); break;
case 0x0068: stella_setValue(STELLA_SET_IMMEDIATELY, 0, 0); break; } }
END THREAD_END(control_stella)
ON STARTUP DO
THREAD_START(control_stella);
END
CONTROL_END </source>
Das Script schaltet den Stella Channel 0 auf 255 oder auf 0, die Fernbedienung ist hier eine Denon (Protocol 8). Mit include
wurde dem Script der Zugriff auf die Stellasourcen gestattet.<br>
Statt „stella_setValue(STELLA_SET_IMMEDIATELY, 0, 255);“
kann auch „PIN_SET(LED)“
und „PIN_CLEAR(LED)“
verwendet werden (Named_PIN|Named PIN).