<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://wiki.analysir.com/index.php?action=history&amp;feed=atom&amp;title=KIR_Infrared_Tx.ino</id>
	<title>KIR Infrared Tx.ino - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.analysir.com/index.php?action=history&amp;feed=atom&amp;title=KIR_Infrared_Tx.ino"/>
	<link rel="alternate" type="text/html" href="https://wiki.analysir.com/index.php?title=KIR_Infrared_Tx.ino&amp;action=history"/>
	<updated>2026-06-15T10:02:35Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.40.0</generator>
	<entry>
		<id>https://wiki.analysir.com/index.php?title=KIR_Infrared_Tx.ino&amp;diff=637&amp;oldid=prev</id>
		<title>AnalysIR at 18:44, 10 December 2019</title>
		<link rel="alternate" type="text/html" href="https://wiki.analysir.com/index.php?title=KIR_Infrared_Tx.ino&amp;diff=637&amp;oldid=prev"/>
		<updated>2019-12-10T18:44:50Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en-GB&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 11:44, 10 December 2019&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l6&quot;&gt;Line 6:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 6:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;KIR_sendRC5&amp;#039;&amp;#039; - here we extend the IRremote function sendRC5 to manage the toggle bit of the RC5 signal using toggleFlag.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;KIR_sendRC5&amp;#039;&amp;#039; - here we extend the IRremote function sendRC5 to manage the toggle bit of the RC5 signal using toggleFlag.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;KIR_sendRC6&amp;#039;&amp;#039; - here we extend the IRremote function sendRC6 to manage the toggle bit of the RC6 signal using toggleFlag.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;KIR_sendRC6&amp;#039;&amp;#039; - here we extend the IRremote function sendRC6 to manage the toggle bit of the RC6 signal using toggleFlag.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &#039;&#039;KIR_sendMSRC6&#039;&#039; - Here  we implement full support for sending Microsoft MCE RC6 signals. This function shows how to implement a full protocol not supported by IRremote and making use of our approach with KIR_sigTime for more accurate/better performance. You may also note that we only pass an 8 bit value to this function. This is because MSRC6 signals can be created from a unique 8 bit value and we build the full 36 bit value from that 8 bits within the function. This results in Flash and SRAM savings elsewhere in the firmware (using 8 bits instead of 36+ bits per defined signal).&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &#039;&#039;KIR_sendMSRC6&#039;&#039; - Here  we implement full support for sending Microsoft MCE RC6 signals. This function shows how to implement a full protocol not supported by IRremote and making use of our approach with KIR_sigTime for more accurate/better performance. You may also note that we only pass an 8 bit value to this function&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;, instead of 36 bits&lt;/ins&gt;. This is because MSRC6 &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;36 bit &lt;/ins&gt;signals can be created from a unique 8 bit value and we build the full 36 bit value from that 8 bits within the function. This results in Flash and SRAM savings elsewhere in the firmware (using 8 bits instead of 36+ bits per defined signal).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &#039;&#039;KIR_sendNEC&#039;&#039; - here we use the IRremote function sendNEC to send the NEC signal. You could of course just use the IRremote function directly in the code. As most NEC signals are 32 bits, we avoid passing the bit count values with each signal defined and thus save Flash and SRAM elsewhere in the firmware. However, there are many signals used that are variants of NEC and you could customise this &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;funtion &lt;/del&gt;for your own variants.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &#039;&#039;KIR_sendNEC&#039;&#039; - here we use the IRremote function sendNEC to send the NEC signal. You could of course just use the IRremote function directly in the code. As most NEC signals are 32 bits, we avoid passing the bit count values with each signal defined and thus save Flash and SRAM elsewhere in the firmware. However, there are many signals used that are variants of NEC and you could customise this &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;function &lt;/ins&gt;for your own variants.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &#039;&#039;KIR_sendSamsung&#039;&#039; - Here we use the IRremote function to send the &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;samsung &lt;/del&gt;signal, but only pass 8 &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;biits &lt;/del&gt;instead of 32. This results in savings of Flash and SRAM elsewhere in the firmware where the signals are defined. (8 bits vs 32 bits). This is made &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;possibleby &lt;/del&gt;the nature of this particular Samsung device &amp;amp; may need to be adjusted for other Samsung devices.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &#039;&#039;KIR_sendSamsung&#039;&#039; - Here we use the IRremote function to send the &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Samsung &lt;/ins&gt;signal, but only pass 8 &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;bits &lt;/ins&gt;instead of 32. This results in savings of Flash and SRAM elsewhere in the firmware where the signals are defined. (8 bits vs 32 bits). This is made &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;possible by &lt;/ins&gt;the nature of this particular Samsung device &amp;amp; may need to be adjusted for other Samsung devices.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &#039;&#039;KIR_mark&#039;&#039; - &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Thsi &lt;/del&gt;is an improved mark function, which makes use of KIR_sigTime to ensure there are no extra delays introduced into the signal due to code execution time etc. &#039;&#039;Note the carrier is left ON on exit and needs to be turned off with a space at the end of the signal.&#039;&#039;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &#039;&#039;KIR_mark&#039;&#039; - &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;This &lt;/ins&gt;is an improved mark function, which makes use of KIR_sigTime to ensure there are no extra delays introduced into the signal due to code execution time &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;or Arduino timer granularity &lt;/ins&gt;etc. &#039;&#039;Note the carrier is left ON on exit and needs to be turned off with a space at the end of the signal.&#039;&#039;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &#039;&#039;KIR_space&#039;&#039; - &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Thsi &lt;/del&gt;is an improved space function, which makes use of KIR_sigTime to ensure there are no extra delays introduced into the signal due to code execution time etc.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &#039;&#039;KIR_space&#039;&#039; - &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;This &lt;/ins&gt;is an improved space function, which makes use of KIR_sigTime to ensure there are no extra delays introduced into the signal due to code execution time &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;or Arduino timer granularity &lt;/ins&gt;etc.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>AnalysIR</name></author>
	</entry>
	<entry>
		<id>https://wiki.analysir.com/index.php?title=KIR_Infrared_Tx.ino&amp;diff=590&amp;oldid=prev</id>
		<title>AnalysIR at 11:32, 11 November 2019</title>
		<link rel="alternate" type="text/html" href="https://wiki.analysir.com/index.php?title=KIR_Infrared_Tx.ino&amp;diff=590&amp;oldid=prev"/>
		<updated>2019-11-11T11:32:43Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en-GB&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 04:32, 11 November 2019&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l11&quot;&gt;Line 11:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 11:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;KIR_mark&amp;#039;&amp;#039; - Thsi is an improved mark function, which makes use of KIR_sigTime to ensure there are no extra delays introduced into the signal due to code execution time etc. &amp;#039;&amp;#039;Note the carrier is left ON on exit and needs to be turned off with a space at the end of the signal.&amp;#039;&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;KIR_mark&amp;#039;&amp;#039; - Thsi is an improved mark function, which makes use of KIR_sigTime to ensure there are no extra delays introduced into the signal due to code execution time etc. &amp;#039;&amp;#039;Note the carrier is left ON on exit and needs to be turned off with a space at the end of the signal.&amp;#039;&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;KIR_space&amp;#039;&amp;#039; - Thsi is an improved space function, which makes use of KIR_sigTime to ensure there are no extra delays introduced into the signal due to code execution time etc.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;KIR_space&amp;#039;&amp;#039; - Thsi is an improved space function, which makes use of KIR_sigTime to ensure there are no extra delays introduced into the signal due to code execution time etc.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* &#039;&#039;KIR_MacroX&#039;&#039; - Although we are not using macros within this reference firmware, we do show how to define macros(commented out), for use within KontroLIR. Macros will typically involve sending a series of different signals and protocols with defined timing gaps between each signal. You are  free to name the macros as you wish, but we suggest sticking to our naming convention or something very similar to identify them as macros.&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>AnalysIR</name></author>
	</entry>
	<entry>
		<id>https://wiki.analysir.com/index.php?title=KIR_Infrared_Tx.ino&amp;diff=493&amp;oldid=prev</id>
		<title>AnalysIR at 18:00, 9 October 2019</title>
		<link rel="alternate" type="text/html" href="https://wiki.analysir.com/index.php?title=KIR_Infrared_Tx.ino&amp;diff=493&amp;oldid=prev"/>
		<updated>2019-10-09T18:00:17Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en-GB&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 11:00, 9 October 2019&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l9&quot;&gt;Line 9:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 9:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;KIR_sendNEC&amp;#039;&amp;#039; - here we use the IRremote function sendNEC to send the NEC signal. You could of course just use the IRremote function directly in the code. As most NEC signals are 32 bits, we avoid passing the bit count values with each signal defined and thus save Flash and SRAM elsewhere in the firmware. However, there are many signals used that are variants of NEC and you could customise this funtion for your own variants.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;KIR_sendNEC&amp;#039;&amp;#039; - here we use the IRremote function sendNEC to send the NEC signal. You could of course just use the IRremote function directly in the code. As most NEC signals are 32 bits, we avoid passing the bit count values with each signal defined and thus save Flash and SRAM elsewhere in the firmware. However, there are many signals used that are variants of NEC and you could customise this funtion for your own variants.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;KIR_sendSamsung&amp;#039;&amp;#039; - Here we use the IRremote function to send the samsung signal, but only pass 8 biits instead of 32. This results in savings of Flash and SRAM elsewhere in the firmware where the signals are defined. (8 bits vs 32 bits). This is made possibleby the nature of this particular Samsung device &amp;amp; may need to be adjusted for other Samsung devices.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;KIR_sendSamsung&amp;#039;&amp;#039; - Here we use the IRremote function to send the samsung signal, but only pass 8 biits instead of 32. This results in savings of Flash and SRAM elsewhere in the firmware where the signals are defined. (8 bits vs 32 bits). This is made possibleby the nature of this particular Samsung device &amp;amp; may need to be adjusted for other Samsung devices.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &#039;&#039;KIR_mark&#039;&#039; - Thsi is an improved mark function, which makes use of KIR_sigTime to ensure there are no extra delays introduced into the signal due to code execution time etc. Note the carrier is left ON on exit and &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;need &lt;/del&gt;to be turned off with a space at the end of the signal.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &#039;&#039;KIR_mark&#039;&#039; - Thsi is an improved mark function, which makes use of KIR_sigTime to ensure there are no extra delays introduced into the signal due to code execution time etc. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;&#039;&lt;/ins&gt;Note the carrier is left ON on exit and &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;needs &lt;/ins&gt;to be turned off with a space at the end of the signal.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;&#039;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;KIR_space&amp;#039;&amp;#039; - Thsi is an improved space function, which makes use of KIR_sigTime to ensure there are no extra delays introduced into the signal due to code execution time etc.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;KIR_space&amp;#039;&amp;#039; - Thsi is an improved space function, which makes use of KIR_sigTime to ensure there are no extra delays introduced into the signal due to code execution time etc.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;KIR_MacroX&amp;#039;&amp;#039; - Although we are not using macros within this reference firmware, we do show how to define macros(commented out), for use within KontroLIR. Macros will typically involve sending a series of different signals and protocols with defined timing gaps between each signal. You are  free to name the macros as you wish, but we suggest sticking to our naming convention or something very similar to identify them as macros.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;KIR_MacroX&amp;#039;&amp;#039; - Although we are not using macros within this reference firmware, we do show how to define macros(commented out), for use within KontroLIR. Macros will typically involve sending a series of different signals and protocols with defined timing gaps between each signal. You are  free to name the macros as you wish, but we suggest sticking to our naming convention or something very similar to identify them as macros.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>AnalysIR</name></author>
	</entry>
	<entry>
		<id>https://wiki.analysir.com/index.php?title=KIR_Infrared_Tx.ino&amp;diff=492&amp;oldid=prev</id>
		<title>AnalysIR at 17:57, 9 October 2019</title>
		<link rel="alternate" type="text/html" href="https://wiki.analysir.com/index.php?title=KIR_Infrared_Tx.ino&amp;diff=492&amp;oldid=prev"/>
		<updated>2019-10-09T17:57:31Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en-GB&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 10:57, 9 October 2019&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l6&quot;&gt;Line 6:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 6:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;KIR_sendRC5&amp;#039;&amp;#039; - here we extend the IRremote function sendRC5 to manage the toggle bit of the RC5 signal using toggleFlag.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;KIR_sendRC5&amp;#039;&amp;#039; - here we extend the IRremote function sendRC5 to manage the toggle bit of the RC5 signal using toggleFlag.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;KIR_sendRC6&amp;#039;&amp;#039; - here we extend the IRremote function sendRC6 to manage the toggle bit of the RC6 signal using toggleFlag.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;KIR_sendRC6&amp;#039;&amp;#039; - here we extend the IRremote function sendRC6 to manage the toggle bit of the RC6 signal using toggleFlag.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* KIR_sendMSRC6 - Here  we implement full support for sending Microsoft MCE RC6 signals. This function shows how to implement a full protocol not supported by IRremote and making use of our approach with KIR_sigTime for more accurate/better performance. You may also note that we only pass an 8 bit value to this function. This is because MSRC6 signals can be created from a unique 8 bit value and we build the full 36 bit value from that 8 bits within the function. This results in Flash and SRAM savings elsewhere in the firmware (using 8 bits instead of 36+ bits per defined signal).&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;&#039;&lt;/ins&gt;KIR_sendMSRC6&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;&#039; &lt;/ins&gt;- Here  we implement full support for sending Microsoft MCE RC6 signals. This function shows how to implement a full protocol not supported by IRremote and making use of our approach with KIR_sigTime for more accurate/better performance. You may also note that we only pass an 8 bit value to this function. This is because MSRC6 signals can be created from a unique 8 bit value and we build the full 36 bit value from that 8 bits within the function. This results in Flash and SRAM savings elsewhere in the firmware (using 8 bits instead of 36+ bits per defined signal).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;KIR_sendNEC&amp;#039;&amp;#039; - here we use the IRremote function sendNEC to send the NEC signal. You could of course just use the IRremote function directly in the code. As most NEC signals are 32 bits, we avoid passing the bit count values with each signal defined and thus save Flash and SRAM elsewhere in the firmware. However, there are many signals used that are variants of NEC and you could customise this funtion for your own variants.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;KIR_sendNEC&amp;#039;&amp;#039; - here we use the IRremote function sendNEC to send the NEC signal. You could of course just use the IRremote function directly in the code. As most NEC signals are 32 bits, we avoid passing the bit count values with each signal defined and thus save Flash and SRAM elsewhere in the firmware. However, there are many signals used that are variants of NEC and you could customise this funtion for your own variants.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* &#039;&#039;KIR_sendSamsung&#039;&#039; - Here we use the IRremote function to send the samsung signal, but only pass 8 biits instead of 32. This results in savings of Flash and SRAM elsewhere in the firmware where the signals are defined. (8 bits vs 32 bits). This is made possibleby the nature of this particular Samsung device &amp;amp; may need to be adjusted for other Samsung devices.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* &#039;&#039;KIR_mark&#039;&#039; - Thsi is an improved mark function, which makes use of KIR_sigTime to ensure there are no extra delays introduced into the signal due to code execution time etc. Note the carrier is left ON on exit and need to be turned off with a space at the end of the signal.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* &#039;&#039;KIR_space&#039;&#039; - Thsi is an improved space function, which makes use of KIR_sigTime to ensure there are no extra delays introduced into the signal due to code execution time etc.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* &#039;&#039;KIR_MacroX&#039;&#039; - Although we are not using macros within this reference firmware, we do show how to define macros(commented out), for use within KontroLIR. Macros will typically involve sending a series of different signals and protocols with defined timing gaps between each signal. You are  free to name the macros as you wish, but we suggest sticking to our naming convention or something very similar to identify them as macros.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>AnalysIR</name></author>
	</entry>
	<entry>
		<id>https://wiki.analysir.com/index.php?title=KIR_Infrared_Tx.ino&amp;diff=491&amp;oldid=prev</id>
		<title>AnalysIR at 17:45, 9 October 2019</title>
		<link rel="alternate" type="text/html" href="https://wiki.analysir.com/index.php?title=KIR_Infrared_Tx.ino&amp;diff=491&amp;oldid=prev"/>
		<updated>2019-10-09T17:45:06Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en-GB&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 10:45, 9 October 2019&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l7&quot;&gt;Line 7:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 7:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;KIR_sendRC6&amp;#039;&amp;#039; - here we extend the IRremote function sendRC6 to manage the toggle bit of the RC6 signal using toggleFlag.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;KIR_sendRC6&amp;#039;&amp;#039; - here we extend the IRremote function sendRC6 to manage the toggle bit of the RC6 signal using toggleFlag.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* KIR_sendMSRC6 - Here  we implement full support for sending Microsoft MCE RC6 signals. This function shows how to implement a full protocol not supported by IRremote and making use of our approach with KIR_sigTime for more accurate/better performance. You may also note that we only pass an 8 bit value to this function. This is because MSRC6 signals can be created from a unique 8 bit value and we build the full 36 bit value from that 8 bits within the function. This results in Flash and SRAM savings elsewhere in the firmware (using 8 bits instead of 36+ bits per defined signal).&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* KIR_sendMSRC6 - Here  we implement full support for sending Microsoft MCE RC6 signals. This function shows how to implement a full protocol not supported by IRremote and making use of our approach with KIR_sigTime for more accurate/better performance. You may also note that we only pass an 8 bit value to this function. This is because MSRC6 signals can be created from a unique 8 bit value and we build the full 36 bit value from that 8 bits within the function. This results in Flash and SRAM savings elsewhere in the firmware (using 8 bits instead of 36+ bits per defined signal).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* &#039;&#039;KIR_sendNEC&#039;&#039; - here we use the IRremote function sendNEC to send the NEC signal. You could of course just use the IRremote function directly in the code. As most NEC signals are 32 bits, we avoid passing the bit count values with each signal defined and thus save Flash and SRAM elsewhere in the firmware. However, there are many signals used that are variants of NEC and you could customise this funtion for your own variants.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>AnalysIR</name></author>
	</entry>
	<entry>
		<id>https://wiki.analysir.com/index.php?title=KIR_Infrared_Tx.ino&amp;diff=490&amp;oldid=prev</id>
		<title>AnalysIR at 17:40, 9 October 2019</title>
		<link rel="alternate" type="text/html" href="https://wiki.analysir.com/index.php?title=KIR_Infrared_Tx.ino&amp;diff=490&amp;oldid=prev"/>
		<updated>2019-10-09T17:40:20Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en-GB&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 10:40, 9 October 2019&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l6&quot;&gt;Line 6:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 6:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;KIR_sendRC5&amp;#039;&amp;#039; - here we extend the IRremote function sendRC5 to manage the toggle bit of the RC5 signal using toggleFlag.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;KIR_sendRC5&amp;#039;&amp;#039; - here we extend the IRremote function sendRC5 to manage the toggle bit of the RC5 signal using toggleFlag.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;KIR_sendRC6&amp;#039;&amp;#039; - here we extend the IRremote function sendRC6 to manage the toggle bit of the RC6 signal using toggleFlag.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;KIR_sendRC6&amp;#039;&amp;#039; - here we extend the IRremote function sendRC6 to manage the toggle bit of the RC6 signal using toggleFlag.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* KIR_sendMSRC6 - Here  we implement full support for sending Microsoft MCE RC6 signals. This function shows how to implement a full protocol not supported by  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* KIR_sendMSRC6 - Here  we implement full support for sending Microsoft MCE RC6 signals. This function shows how to implement a full protocol not supported by &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;IRremote and making use of our approach with KIR_sigTime for more accurate/better performance. You may also note that we only pass an 8 bit value to this function. This is because MSRC6 signals can be created from a unique 8 bit value and we build the full 36 bit value from that 8 bits within the function. This results in Flash and SRAM savings elsewhere in the firmware (using 8 bits instead of 36+ bits per defined signal).&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>AnalysIR</name></author>
	</entry>
	<entry>
		<id>https://wiki.analysir.com/index.php?title=KIR_Infrared_Tx.ino&amp;diff=489&amp;oldid=prev</id>
		<title>AnalysIR: Created page with &quot;&#039;&#039;&#039;&#039;&#039;&gt; KontroLIR Home &gt; back&#039;&#039;&#039;&#039;&#039;  This file contains functions related to sendin I...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.analysir.com/index.php?title=KIR_Infrared_Tx.ino&amp;diff=489&amp;oldid=prev"/>
		<updated>2019-10-09T17:33:34Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;gt; &lt;a href=&quot;/index.php?title=KontroLIR_-_Arduino_compatible_IR_remote_control&quot; title=&quot;KontroLIR - Arduino compatible IR remote control&quot;&gt;KontroLIR Home&lt;/a&gt; &amp;gt; &lt;a href=&quot;/index.php?title=Customizing_the_KontroLIR_Firmware&quot; title=&quot;Customizing the KontroLIR Firmware&quot;&gt;back&lt;/a&gt;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;  This file contains functions related to sendin I...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;gt; [[KontroLIR - Arduino compatible IR remote control|KontroLIR Home]] &amp;gt; [[Customizing the KontroLIR Firmware|back]]&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This file contains functions related to sendin IR signals either directly or with IRremote or a mix of both.&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;KIR_sendRAW_Flash&amp;#039;&amp;#039; - supports sending RAW IR signals from FLASH. Refer to file KIR_RAW_Signals for the storage format and the examples used in Mode5. We also make use of KIR_sigTime to keep track of the elapsed time of each mark/space for improved performance.&lt;br /&gt;
* &amp;#039;&amp;#039;KIR_sendRC5&amp;#039;&amp;#039; - here we extend the IRremote function sendRC5 to manage the toggle bit of the RC5 signal using toggleFlag.&lt;br /&gt;
* &amp;#039;&amp;#039;KIR_sendRC6&amp;#039;&amp;#039; - here we extend the IRremote function sendRC6 to manage the toggle bit of the RC6 signal using toggleFlag.&lt;br /&gt;
* KIR_sendMSRC6 - Here  we implement full support for sending Microsoft MCE RC6 signals. This function shows how to implement a full protocol not supported by &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;gt; [[KontroLIR - Arduino compatible IR remote control|KontroLIR Home]] &amp;gt; [[Customizing the KontroLIR Firmware|back]]&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&lt;/div&gt;</summary>
		<author><name>AnalysIR</name></author>
	</entry>
</feed>