<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://www.ethersex.de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Sauttefk</id>
		<title>Ethersex_Wiki - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="http://www.ethersex.de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Sauttefk"/>
		<link rel="alternate" type="text/html" href="http://www.ethersex.de/index.php/Special:Contributions/Sauttefk"/>
		<updated>2026-05-25T04:58:44Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://www.ethersex.de/index.php?title=IRMP&amp;diff=328</id>
		<title>IRMP</title>
		<link rel="alternate" type="text/html" href="http://www.ethersex.de/index.php?title=IRMP&amp;diff=328"/>
				<updated>2012-01-03T00:15:50Z</updated>
		
		<summary type="html">&lt;p&gt;Sauttefk: quelltextpassagen korrigiert&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{i18n|IRMP}}&lt;br /&gt;
{{Module&lt;br /&gt;
|NAME=IRMP&lt;br /&gt;
|MENUCONFIG={{I/O}}-&amp;gt;IR Receivers-&amp;gt;IRMP&lt;br /&gt;
|STATUS={{stable}}&lt;br /&gt;
|PINNING=yes&lt;br /&gt;
|ECMD={{has_ecmd}}&lt;br /&gt;
|CONTROL6={{has_control6}}&lt;br /&gt;
|DEPENDS=[[ECMD]]&lt;br /&gt;
|REQUIRES= -&lt;br /&gt;
|CODE=[https://github.com/ethersex/ethersex/tree/master/hardware/ir/irmp https://github.com/ethersex/ethersex/tree/master/hardware/ir/irmp]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
IRMP is a port of the [http://www.mikrocontroller.net/articles/IRMP infrared multi-protocol decoder] for [[Ethersex]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Connection ==&lt;br /&gt;
&lt;br /&gt;
The reception of IR signals is performed by a receiver TSOP1736 type (or similar). This may be connected to any pin. The interrogation of the pins and the decoding of the IR protocol is done in an ISR, which occupies one 8-bit timer of the ATmegas.&lt;br /&gt;
&lt;br /&gt;
When sending the signal with the carrier frequency of the respective IR Protocol is [[PWM]] modulated. This is another 8-bit timer of the ATmegas (OC0/OC2) is demonstrated. On the [[Etherrape]] board takes a [[NE555]] this function, ie the option ''Use external modulator for the transmitter'' is activated. It saves a timer on the [[AVR]] is set at a carrier frequency.&lt;br /&gt;
&lt;br /&gt;
Example of a ATMega32 from: ''pinning/hardware/pollin_evalboard_addon.m4''&lt;br /&gt;
&lt;br /&gt;
  ifdef(`conf_IRMP', `dnl&lt;br /&gt;
    pin(IRMP_RX, PD2)&lt;br /&gt;
  #define IRMP_USE_TIMER2&lt;br /&gt;
  #define IRMP_RX_LOW_ACTIVE&lt;br /&gt;
  #undef IRMP_RX_LED_LOW_ACTIVE&lt;br /&gt;
    pin(IRMP_TX, PD7) dnl OC2/OC2A&lt;br /&gt;
  #undef IRMP_TX_LED_LOW_ACTIVE&lt;br /&gt;
  ')&lt;br /&gt;
&lt;br /&gt;
Meaning:&lt;br /&gt;
&lt;br /&gt;
* IRMP_RX - pin the IR receiver is connected to&lt;br /&gt;
* IRMP_USE_TIMER2 - use Timer2 for receiver, Timer0 for sender (undef = reversed)&lt;br /&gt;
* IRMP_RX_LOW_ACTIVE - the IR receiver is low-active (undef = high-active)&lt;br /&gt;
* IRMP_RX_LED_LOW_ACTIVE - the control LED of the receiver is switched to USS (undef = switched to GND)&lt;br /&gt;
* IRMP_TX - pin the IR sender is connected to (=output of Timer0 or Timer2, see IRMP_USE_TIMER2)&amp;lt;br&amp;gt;'''Caution: 0A to 2A if MCU with A / B channel'''&lt;br /&gt;
* IRMP_TX_LED_LOW_ACTIVE - the control LED of the sender is switched to USS (undef = switched to GND)&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
&lt;br /&gt;
Each supported IR protocol occupies memory of code. Therefore, one should select only the required protocols. A detailed overview of the protocols are the [http://www.mikrocontroller.net/articles/IRMP#Die_IR-Protokolle_im_Detail article in the mikrocontroller forum].&lt;br /&gt;
&lt;br /&gt;
  │ │          Load a Default Configuration  ---&amp;gt;&lt;br /&gt;
  │ │          General Setup  ---&amp;gt;&lt;br /&gt;
  │ │              [*] Status LEDs  ---&amp;gt;&lt;br /&gt;
  │ │                  [*] Status LED (Received)&lt;br /&gt;
  │ │                  [-]    RFM12 RX&lt;br /&gt;
  │ │                  [ ]    ZBUS RX&lt;br /&gt;
  │ │                  [*]    IRMP RX&lt;br /&gt;
  ...&lt;br /&gt;
  │ │          Network ---&amp;gt;&lt;br /&gt;
  │ │          I/O ---&amp;gt; &lt;br /&gt;
  ...&lt;br /&gt;
  │ │              [*] IR Receivers ---&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
  │ │                  [ ] RC5 IR  ---&amp;gt;&lt;br /&gt;
  │ │                  [*] IRMP IR ---&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
  │ │                      [*] Receive IR-codes&lt;br /&gt;
  │ │                      [*] Send IR-codes&lt;br /&gt;
  │ │                      [ ] Use external modulator for sender&lt;br /&gt;
  │ │                      [*] IRMP ecmd&lt;br /&gt;
  │ │                      --- Protocols&lt;br /&gt;
  │ │                      [ ] SIRCS&lt;br /&gt;
  │ │                      [*] NEC&lt;br /&gt;
  │ │                      [ ] NEC16&lt;br /&gt;
  │ │                      [ ] NEC42&lt;br /&gt;
  │ │                      [ ] JVC&lt;br /&gt;
  │ │                      [ ] SAMSUNG&lt;br /&gt;
  │ │                      [ ] MATSUSHITA&lt;br /&gt;
  │ │                      [ ] KASEIKYO&lt;br /&gt;
  │ │                      [*] DENON&lt;br /&gt;
  │ │                      [ ] RECS80&lt;br /&gt;
  │ │                      [ ] RECS80EXT&lt;br /&gt;
  │ │                      [*] RC5(X)&lt;br /&gt;
  │ │                      [ ] RC6&lt;br /&gt;
  │ │                      [ ] NUBERT&lt;br /&gt;
  │ │                      [*] BANG&amp;amp;OLUFSEN&lt;br /&gt;
  │ │                      [*] GRUNDIG&lt;br /&gt;
  │ │                      [ ] NOKIA&lt;br /&gt;
  │ │                      [*] SIEMENS&lt;br /&gt;
  │ │                      [ ] FDC&lt;br /&gt;
  │ │                      [ ] RCCAR&lt;br /&gt;
  │ │                      [ ] NIKON&lt;br /&gt;
  │ │                      [ ] RUWIDO&lt;br /&gt;
  │ │                      [ ] IR60&lt;br /&gt;
  │ │                      [ ] KATHREIN&lt;br /&gt;
  │ │                      [ ] NETBOX&lt;br /&gt;
  │ │                      [ ] LEGO&lt;br /&gt;
  │ │                      [ ] THOMSON&lt;br /&gt;
  │ │                      --- Debugging Flags&lt;br /&gt;
  │ │                      [ ] IRMP Debug&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
IRMP also decodes the RC5 protocol, so that the separately [[Ethersex]] contained [[RC5]] decoder is not needed any longer.&lt;br /&gt;
&lt;br /&gt;
== [[ECMD]] ==&lt;br /&gt;
&lt;br /&gt;
IRMP implements a [[ECMD]] interface for reading received and decoded IR commands and send IR commands. See [[ECMD_Reference|ECMD reference]].&lt;br /&gt;
&lt;br /&gt;
== [[Control6|Control6]] ==&lt;br /&gt;
&lt;br /&gt;
=== Output received characters via [[SYSLOG|Syslog]] ===&lt;br /&gt;
&lt;br /&gt;
 CONTROL_START&lt;br /&gt;
 &lt;br /&gt;
 THREAD(read_irmp)&lt;br /&gt;
 ON IRMP_READ &amp;gt; 0 DO&lt;br /&gt;
   SYSLOG(&amp;quot;IRMP %02hhd:%04hX:%04hX:%02hhX\n&amp;quot;,&lt;br /&gt;
         IRMP_PROTOCOL, IRMP_ADDRESS, IRMP_COMMAND, IRMP_FLAGS);&lt;br /&gt;
 END&lt;br /&gt;
 THREAD_END(read_irmp)&lt;br /&gt;
 &lt;br /&gt;
 ON STARTUP DO&lt;br /&gt;
   THREAD_START(read_irmp);&lt;br /&gt;
 END&lt;br /&gt;
 &lt;br /&gt;
 CONTROL_END&lt;br /&gt;
&lt;br /&gt;
IRMP_READ checks for received IR code and stores it in the variables IRMP_PROTOCOL, IRMP_ADDRESS, and IRMP_COMMAND IRMP_FLAGS. Return values ​​greater than zero indicate the validity of the variables. If IRMP_FLAGS = 1 it is a repetition.&lt;br /&gt;
&lt;br /&gt;
=== Control of [[Stella_Light)|Stella]]/Pins by IR commands ===&lt;br /&gt;
&lt;br /&gt;
 C6_HEADER(`/* This will be in control6.h */')&lt;br /&gt;
 #include &amp;quot;services/stella/stella.h&amp;quot;&lt;br /&gt;
 CONTROL_START&lt;br /&gt;
 &lt;br /&gt;
 THREAD(control_stella)&lt;br /&gt;
 ON IRMP_READ &amp;gt; 0 DO&lt;br /&gt;
   if(IRMP_PROTOCOL==8 &amp;amp;&amp;amp; IRMP_ADDRESS==0x0002)&lt;br /&gt;
   {&lt;br /&gt;
     switch(IRMP_COMMAND)&lt;br /&gt;
     {&lt;br /&gt;
        case 0x0268:&lt;br /&gt;
           stella_setValue(STELLA_SET_IMMEDIATELY, 0, 255);&lt;br /&gt;
           break;&lt;br /&gt;
 &lt;br /&gt;
        case 0x0068:&lt;br /&gt;
           stella_setValue(STELLA_SET_IMMEDIATELY, 0, 0);&lt;br /&gt;
           break;&lt;br /&gt;
     }&lt;br /&gt;
   }&lt;br /&gt;
 END&lt;br /&gt;
 THREAD_END(control_stella)&lt;br /&gt;
 &lt;br /&gt;
 ON STARTUP DO&lt;br /&gt;
   THREAD_START(control_stella);&lt;br /&gt;
 END&lt;br /&gt;
 &lt;br /&gt;
 CONTROL_END&lt;br /&gt;
&lt;br /&gt;
The script switches the Stella channel 0 to 255 or 0, the remote control is a Denon (Protocol 8). With ''include'' access to the Stella sources granted.&amp;lt;br&amp;gt;&lt;br /&gt;
Instead of ''&amp;quot;stella_setValue (STELLA_SET_IMMEDIATELY, 0, 255);&amp;quot;'' ''&amp;quot;PIN_SET (LED)&amp;quot;'' and ''&amp;quot;PIN_CLEAR (LED)&amp;quot;'' can be used ([[Named_PIN|named pin]]).&lt;br /&gt;
|Named PIN]]).&lt;br /&gt;
&lt;br /&gt;
=== Send IR commands ===&lt;br /&gt;
&lt;br /&gt;
 dnl 01 = SIRCS&lt;br /&gt;
 dnl 02 = NEC&lt;br /&gt;
 dnl 03 = SAMSUNG&lt;br /&gt;
 dnl 04 = MATSUSHITA&lt;br /&gt;
 dnl 05 = KASEIKYO&lt;br /&gt;
 dnl 06 = RECS80&lt;br /&gt;
 dnl 07 = RC5(x)&lt;br /&gt;
 dnl 08 = DENON&lt;br /&gt;
 dnl 09 = RC6&lt;br /&gt;
 dnl 10 = SAMSUNG32&lt;br /&gt;
 dnl 11 = APPLE&lt;br /&gt;
 dnl 12 = RECS80EXT&lt;br /&gt;
 dnl 13 = NUBERT&lt;br /&gt;
 dnl 14 = BANG&amp;amp;OLUFSEN&lt;br /&gt;
 dnl 15 = GRUNDIG&lt;br /&gt;
 dnl 16 = NOKIA&lt;br /&gt;
 dnl 17 = SIEMENS&lt;br /&gt;
 dnl 18 = FDC&lt;br /&gt;
 dnl 19 = RCCAR&lt;br /&gt;
 dnl 20 = JVC&lt;br /&gt;
 dnl 21 = RC6A&lt;br /&gt;
 dnl 22 = NIKON&lt;br /&gt;
 dnl 23 = RUWIDO    * no tx support yet&lt;br /&gt;
 dnl 24 = IR60      * no tx support yet&lt;br /&gt;
 dnl 25 = KATHREIN  * no tx support yet&lt;br /&gt;
 dnl 26 = NETBOX    * no tx support yet&lt;br /&gt;
 dnl 27 = NEC16&lt;br /&gt;
 dnl 28 = NEC42&lt;br /&gt;
 dnl 29 = LEGO&lt;br /&gt;
 dnl 30 = THOMSON   * no tx support yet&lt;br /&gt;
 &lt;br /&gt;
 IRMP_PROTOCOL = 2;&lt;br /&gt;
 IRMP_ADDRESS = 1234;&lt;br /&gt;
 IRMP_COMMAND = 5678;&lt;br /&gt;
 IRMP_FLAGS = 1;&lt;br /&gt;
 &lt;br /&gt;
 IRMP_WRITE;&lt;br /&gt;
&lt;br /&gt;
Command 5678 to device 1234 will be send with one repetition using the NEC protocol.&lt;/div&gt;</summary>
		<author><name>Sauttefk</name></author>	</entry>

	<entry>
		<id>http://www.ethersex.de/index.php?title=IRMP_(Deutsch)&amp;diff=327</id>
		<title>IRMP (Deutsch)</title>
		<link rel="alternate" type="text/html" href="http://www.ethersex.de/index.php?title=IRMP_(Deutsch)&amp;diff=327"/>
				<updated>2012-01-03T00:11:36Z</updated>
		
		<summary type="html">&lt;p&gt;Sauttefk: quelltext passagen korrigiert&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{i18n|IRMP}}&lt;br /&gt;
{{Module&lt;br /&gt;
|NAME=IRMP&lt;br /&gt;
|MENUCONFIG={{I/O}}-&amp;gt;IR Receivers-&amp;gt;IRMP&lt;br /&gt;
|STATUS={{stable}}&lt;br /&gt;
|PINNING=yes&lt;br /&gt;
|ECMD={{has_ecmd}}&lt;br /&gt;
|CONTROL6={{has_control6}}&lt;br /&gt;
|DEPENDS=[[ECMD]]&lt;br /&gt;
|REQUIRES= -&lt;br /&gt;
|CODE=[https://github.com/ethersex/ethersex/tree/master/hardware/ir/irmp https://github.com/ethersex/ethersex/tree/master/hardware/ir/irmp]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
IRMP ist eine Portierung des [http://www.mikrocontroller.net/articles/IRMP Infrarot-Multiprotokoll-Decoders] nach [[Ethersex]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Anschluss ==&lt;br /&gt;
&lt;br /&gt;
Der Empfang der IR-Signale erfolgt durch einen Empfänger vom Typ TSOP1736 (oder ähnlich). Dieser kann an einem 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.&lt;br /&gt;
&lt;br /&gt;
Beim Senden wird das Signal mit der Trägerfrequenz des jeweiligen IR-Protokolls über [[PWM_(Deutsch)|PWM]] moduliert. Dazu wird ein weiterer 8-Bit Timer des ATMEGAs (OC0/OC2) belegt. Auf dem '''[[Etherape_(Deutsch)|Etherrape]]'''-Board übernimmt ein [[NE555_(Deutsch)|NE555]] diese Funktion, d.h. die Option ''Use external modulator for sender'' ist zu aktivieren. Man spart einen Timer des [[AVR_(Deutsch)|AVR]] und ist auf eine Trägerfrequenz festgelegt.&lt;br /&gt;
&lt;br /&gt;
Beispiel für einen ATMega32 aus: ''pinning/hardware/pollin_evalboard_addon.m4''&lt;br /&gt;
&lt;br /&gt;
  ifdef(`conf_IRMP', `dnl&lt;br /&gt;
    pin(IRMP_RX, PD2)&lt;br /&gt;
  #define IRMP_USE_TIMER2&lt;br /&gt;
  #define IRMP_RX_LOW_ACTIVE&lt;br /&gt;
  #undef IRMP_RX_LED_LOW_ACTIVE&lt;br /&gt;
    pin(IRMP_TX, PD7) dnl OC2/OC2A&lt;br /&gt;
  #undef IRMP_TX_LED_LOW_ACTIVE&lt;br /&gt;
  ')&lt;br /&gt;
&lt;br /&gt;
Bedeutung:&lt;br /&gt;
&lt;br /&gt;
* IRMP_RX - Pin an dem der IR-Empfänger angeschlossen ist&lt;br /&gt;
* IRMP_USE_TIMER2 - benutze Timer2 für den Empfang, Timer0 für das Senden (undef = umgekehrt)&lt;br /&gt;
* IRMP_RX_LOW_ACTIVE - der IR-Empfänger ist Low-Aktiv (undef = High-aktiv)&lt;br /&gt;
* IRMP_RX_LED_LOW_ACTIVE - die Kontroll-LED des Empfängers ist gegen USS geschaltet (undef = gegen GND geschaltet)&lt;br /&gt;
* IRMP_TX - Pin an dem der IR-Sender angschlossen ist (=Ausgang des Timer0 oder Timer2, vgl. IRMP_USE_TIMER2)&amp;lt;br&amp;gt;'''Achtung: 0A bzw 2A bei MCU mit A/B Kanal'''&lt;br /&gt;
* IRMP_TX_LED_LOW_ACTIVE - die Kontroll-LED des Senders ist gegen USS geschaltet (undef = gegen GND geschaltet)&lt;br /&gt;
&lt;br /&gt;
== Konfiguration ==&lt;br /&gt;
&lt;br /&gt;
Jedes unterstützte IR-Protokoll &amp;quot;verbrät&amp;quot; Speicher an Code. Deshalb sollte man nur die benötigten Protokolle auswählen. Eine detailierte Übersicht über die Protokolle gibt der [http://www.mikrocontroller.net/articles/IRMP#Die_IR-Protokolle_im_Detail Artikel im Mikrocontroller Forum].&lt;br /&gt;
&lt;br /&gt;
  │ │          Load a Default Configuration  ---&amp;gt;&lt;br /&gt;
  │ │          General Setup  ---&amp;gt;&lt;br /&gt;
  │ │              [*] Status LEDs  ---&amp;gt;&lt;br /&gt;
  │ │                  [*] Status LED (Received)&lt;br /&gt;
  │ │                  [-]    RFM12 RX&lt;br /&gt;
  │ │                  [ ]    ZBUS RX&lt;br /&gt;
  │ │                  [*]    IRMP RX&lt;br /&gt;
  ...&lt;br /&gt;
  │ │          Network ---&amp;gt;&lt;br /&gt;
  │ │          I/O ---&amp;gt; &lt;br /&gt;
  ...&lt;br /&gt;
  │ │              [*] IR Receivers ---&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
  │ │                  [ ] RC5 IR  ---&amp;gt;&lt;br /&gt;
  │ │                  [*] IRMP IR ---&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
  │ │                      [*] Receive IR-codes&lt;br /&gt;
  │ │                      [*] Send IR-codes&lt;br /&gt;
  │ │                      [ ] Use external modulator for sender&lt;br /&gt;
  │ │                      [*] IRMP ecmd&lt;br /&gt;
  │ │                      --- Protocols&lt;br /&gt;
  │ │                      [ ] SIRCS&lt;br /&gt;
  │ │                      [*] NEC&lt;br /&gt;
  │ │                      [ ] NEC16&lt;br /&gt;
  │ │                      [ ] NEC42&lt;br /&gt;
  │ │                      [ ] JVC&lt;br /&gt;
  │ │                      [ ] SAMSUNG&lt;br /&gt;
  │ │                      [ ] MATSUSHITA&lt;br /&gt;
  │ │                      [ ] KASEIKYO&lt;br /&gt;
  │ │                      [*] DENON&lt;br /&gt;
  │ │                      [ ] RECS80&lt;br /&gt;
  │ │                      [ ] RECS80EXT&lt;br /&gt;
  │ │                      [*] RC5(X)&lt;br /&gt;
  │ │                      [ ] RC6&lt;br /&gt;
  │ │                      [ ] NUBERT&lt;br /&gt;
  │ │                      [*] BANG&amp;amp;OLUFSEN&lt;br /&gt;
  │ │                      [*] GRUNDIG&lt;br /&gt;
  │ │                      [ ] NOKIA&lt;br /&gt;
  │ │                      [*] SIEMENS&lt;br /&gt;
  │ │                      [ ] FDC&lt;br /&gt;
  │ │                      [ ] RCCAR&lt;br /&gt;
  │ │                      [ ] NIKON&lt;br /&gt;
  │ │                      [ ] RUWIDO&lt;br /&gt;
  │ │                      [ ] IR60&lt;br /&gt;
  │ │                      [ ] KATHREIN&lt;br /&gt;
  │ │                      [ ] NETBOX&lt;br /&gt;
  │ │                      [ ] LEGO&lt;br /&gt;
  │ │                      [ ] THOMSON&lt;br /&gt;
  │ │                      --- Debugging Flags&lt;br /&gt;
  │ │                      [ ] IRMP Debug&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
IRMP dekodiert auch das RC5-Protokoll, so dass der separat in [[Ethersex_(Deutsch)|Ethersex]] enthaltene [[RC5_(Deutsch)|RC5]]-Dekoder nicht länger benötigt wird.&lt;br /&gt;
&lt;br /&gt;
== [[ECMD_(Deutsch)|ECMD]] ==&lt;br /&gt;
&lt;br /&gt;
IRMP implementiert eine [[ECMD_(Deutsch)|ECMD]] Schnittestelle zum Auslesen empfangener und dekodierter IR-Kommandos und zum Senden von IR-Kommandos. Siehe [[ECMD_Reference|ECMD Referenz]].&lt;br /&gt;
&lt;br /&gt;
== [[Control6_(Deutsch)|Control6]] ==&lt;br /&gt;
&lt;br /&gt;
=== Ausgabe empfangener IR-Zeichen via [[SYSLOG_(Deutsch)|Syslog]] ===&lt;br /&gt;
&lt;br /&gt;
  CONTROL_START&lt;br /&gt;
  &lt;br /&gt;
  THREAD(read_irmp)&lt;br /&gt;
  ON IRMP_READ &amp;gt; 0 DO&lt;br /&gt;
    SYSLOG(&amp;quot;IRMP %02hhd:%04hX:%04hX:%02hhX\n&amp;quot;,&lt;br /&gt;
         IRMP_PROTOCOL, IRMP_ADDRESS, IRMP_COMMAND, IRMP_FLAGS);&lt;br /&gt;
  END&lt;br /&gt;
  THREAD_END(read_irmp)&lt;br /&gt;
  &lt;br /&gt;
  ON STARTUP DO&lt;br /&gt;
    THREAD_START(read_irmp);&lt;br /&gt;
  END&lt;br /&gt;
  &lt;br /&gt;
  CONTROL_END&lt;br /&gt;
&lt;br /&gt;
Mit IRMP_READ wird auf empfangenen IR-Code geprüft und dieser in die Variablen IRMP_PROTOCOL, IRMP_ADDRESS, IRMP_COMMAND und IRMP_FLAGS gespeichert. Rückgabewerte größer Null signalisieren die Gültigkeit der Variablen. Bei IRMP_FLAGS=1 handelt es sich um eine Wiederholung.&lt;br /&gt;
&lt;br /&gt;
=== Steuern von [[Stella_Light_(Deutsch)|Stella]]/Pins durch IR-Zeichen ===&lt;br /&gt;
&lt;br /&gt;
  C6_HEADER(`/* This will be in control6.h */')&lt;br /&gt;
  #include &amp;quot;services/stella/stella.h&amp;quot;&lt;br /&gt;
  CONTROL_START&lt;br /&gt;
  &lt;br /&gt;
  THREAD(control_stella)&lt;br /&gt;
  ON IRMP_READ &amp;gt; 0 DO&lt;br /&gt;
    if(IRMP_PROTOCOL==8 &amp;amp;&amp;amp; IRMP_ADDRESS==0x0002)&lt;br /&gt;
    {&lt;br /&gt;
      switch(IRMP_COMMAND)&lt;br /&gt;
      {&lt;br /&gt;
        case 0x0268:&lt;br /&gt;
          stella_setValue(STELLA_SET_IMMEDIATELY, 0, 255);&lt;br /&gt;
          break;&lt;br /&gt;
      &lt;br /&gt;
        case 0x0068:&lt;br /&gt;
          stella_setValue(STELLA_SET_IMMEDIATELY, 0, 0);&lt;br /&gt;
          break;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  END&lt;br /&gt;
  THREAD_END(control_stella)&lt;br /&gt;
  &lt;br /&gt;
  ON STARTUP DO&lt;br /&gt;
    THREAD_START(control_stella);&lt;br /&gt;
  END&lt;br /&gt;
  &lt;br /&gt;
  CONTROL_END&lt;br /&gt;
&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
Statt ''&amp;quot;stella_setValue(STELLA_SET_IMMEDIATELY, 0, 255);&amp;quot;'' kann auch ''&amp;quot;PIN_SET(LED)&amp;quot;'' und ''&amp;quot;PIN_CLEAR(LED)&amp;quot;'' verwendet werden ([[Named_PIN_(Deutsch)|Named PIN]]).&lt;br /&gt;
&lt;br /&gt;
=== Senden von IR-Zeichen ===&lt;br /&gt;
&lt;br /&gt;
  dnl 01 = SIRCS&lt;br /&gt;
  dnl 02 = NEC&lt;br /&gt;
  dnl 03 = SAMSUNG&lt;br /&gt;
  dnl 04 = MATSUSHITA&lt;br /&gt;
  dnl 05 = KASEIKYO&lt;br /&gt;
  dnl 06 = RECS80&lt;br /&gt;
  dnl 07 = RC5(x)&lt;br /&gt;
  dnl 08 = DENON&lt;br /&gt;
  dnl 09 = RC6&lt;br /&gt;
  dnl 10 = SAMSUNG32&lt;br /&gt;
  dnl 11 = APPLE&lt;br /&gt;
  dnl 12 = RECS80EXT&lt;br /&gt;
  dnl 13 = NUBERT&lt;br /&gt;
  dnl 14 = BANG&amp;amp;OLUFSEN&lt;br /&gt;
  dnl 15 = GRUNDIG&lt;br /&gt;
  dnl 16 = NOKIA&lt;br /&gt;
  dnl 17 = SIEMENS&lt;br /&gt;
  dnl 18 = FDC&lt;br /&gt;
  dnl 19 = RCCAR&lt;br /&gt;
  dnl 20 = JVC&lt;br /&gt;
  dnl 21 = RC6A&lt;br /&gt;
  dnl 22 = NIKON&lt;br /&gt;
  dnl 23 = RUWIDO    * no tx support yet&lt;br /&gt;
  dnl 24 = IR60      * no tx support yet&lt;br /&gt;
  dnl 25 = KATHREIN  * no tx support yet&lt;br /&gt;
  dnl 26 = NETBOX    * no tx support yet&lt;br /&gt;
  dnl 27 = NEC16&lt;br /&gt;
  dnl 28 = NEC42&lt;br /&gt;
  dnl 29 = LEGO&lt;br /&gt;
  dnl 30 = THOMSON   * no tx support yet&lt;br /&gt;
  &lt;br /&gt;
  IRMP_PROTOCOL = 2;&lt;br /&gt;
  IRMP_ADDRESS = 1234;&lt;br /&gt;
  IRMP_COMMAND = 5678;&lt;br /&gt;
  IRMP_FLAGS = 1;&lt;br /&gt;
  &lt;br /&gt;
  IRMP_WRITE;&lt;br /&gt;
&lt;br /&gt;
Kommando 5678 an Gerät 1234 wird mit einer Wiederholung im NEC-Protokoll gesendet.&lt;/div&gt;</summary>
		<author><name>Sauttefk</name></author>	</entry>

	</feed>