Dies ist eine alte Version des Dokuments!


irmp

VOR AAA pinning/hardware/pollin_evalboard_addon.m4

NOTOC

│ │          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).

Ethersex