1
0
mirror of https://github.com/taigrr/arduinolibs synced 2025-01-18 04:33:12 -08:00
arduinolibs/ir_dumpir.html
Rhys Weatherley ab1bf9b19b Update docs
2016-01-16 09:47:55 +10:00

292 lines
21 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.6"/>
<title>ArduinoLibs: Dumping Infrared Remote Control Codes</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">ArduinoLibs
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.6 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li class="current"><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">Dumping Infrared Remote Control Codes </div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><p>This example uses the <a class="el" href="classIRreceiver.html" title="Manages the reception of RC-5 commands from an infrared remote control. ">IRreceiver</a> class to dump commands that are received from an infrared remote control that is compatible with the <a href="http://en.wikipedia.org/wiki/RC-5">Philips RC-5 protocol</a>. Commands are dumped to the serial port. The example needs a 3-pin infrared receiver connected to D2, GND, and 5V:</p>
<div class="image">
<img src="irchip.jpg" alt="irchip.jpg"/>
</div>
<p>The full source code for the example follows:</p>
<div class="fragment"><div class="line"><span class="comment">/* This example is placed into the public domain */</span></div>
<div class="line"></div>
<div class="line"><span class="preprocessor">#include &lt;IRreceiver.h&gt;</span></div>
<div class="line"></div>
<div class="line"><a class="code" href="classIRreceiver.html">IRreceiver</a> ir;</div>
<div class="line"></div>
<div class="line"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *systems[32] = {</div>
<div class="line"> <span class="stringliteral">&quot;TV&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;TV2&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;TXT&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;TV_EXT&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;LV&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;VCR&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;VCR2&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;Sys7&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;SAT&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;VCR_EXT&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;SAT2&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;Sys11&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;CD_VIDEO&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;Sys13&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;CD_PHOTO&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;Sys15&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;PREAMP&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;RADIO&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;REC&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;PREAMP2&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;CD&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;COMBI&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;AUDIO_SAT&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;REC2&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;Sys24&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;Sys25&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;CD_R&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;Sys27&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;Sys28&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;Sys29&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;Sys30&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;Sys31&quot;</span></div>
<div class="line">};</div>
<div class="line"></div>
<div class="line"><span class="comment">// Selection of TV, VCR, and CD commands to assist with command identification.</span></div>
<div class="line"><span class="comment">// May not be correct for all system types.</span></div>
<div class="line"><span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *commands[128] = {</div>
<div class="line"> <span class="stringliteral">&quot;0&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;1&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;2&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;3&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;4&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;5&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;6&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;7&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;8&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;9&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;123&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;11&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;STANDBY&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;MUTE&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;PREFERENCES&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;DISPLAY_INFO&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;INC_VOLUME&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;DEC_VOLUME&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;INC_BRIGHTNESS&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;DEC_BRIGHTNESS&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;INC_SATURATION&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;DEC_SATURATION&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;INC_BASS&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;DEC_BASS&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;INC_TREBLE&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;DEC_TREBLE&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;BALANCE_LEFT&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;BALANCE_RIGHT&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;INC_CONTRAST&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;DEC_CONTRAST&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;SEARCH_UP&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;DEC_TINT&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;CHANNEL_UP&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;CHANNEL_DOWN&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;CHANNEL_LAST&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;STEREO_SELECT&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;STEREO_SPATIAL&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;STEREO_TOGGLE&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;SLEEP_TIMER&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;INC_TINT&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;SWITCH_RF&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;STORE&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;TIME&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;INC_SCAN&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;DEC_SCAN&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;TRAY&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;SECONDARY_MENU&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;CLOCK&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;PAUSE&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;ERASE&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;REWIND&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;GOTO&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;WIND&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;PLAY&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;STOP&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;RECORD&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;EXTERNAL_1&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;EXTERNAL_2&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;CLEAR_MEMORY&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;VIEW_DATA&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;12&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;SYSTEM_STANDBY&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;CRISP&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;TRANSMIT_MODE&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;Cmd64&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;Cmd65&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;Cmd66&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;Cmd67&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;Cmd68&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;Cmd69&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;AUDIO_RESPONSE&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;DIM&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;Cmd72&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;Cmd73&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;Cmd74&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;Cmd75&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;Cmd76&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;INC_LINEAR&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;DEC_LINEAR&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;SOUND_FUNCTIONS&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;UP&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;DOWN&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;MENU_ON&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;MENU_OFF&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;AV_STATUS&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;LEFT&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;RIGHT&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;OK&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;PIP&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;PIP_SHIFT&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;PIP_SWAP&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;PIP_STROBE&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;PIP_MULTI_STROBE&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;PIP_FREEZE_MAIN&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;PIP_MULTI_SCAN&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;PIP_SOURCE&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;PIP_MOSAIC&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;PIP_NOISE&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;PIP_STORE&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;PIP_PHOTO_FINISH&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;PIP_RECALL&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;PIP_FREEZE&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;PIP_UP&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;PIP_DOWN&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;PIP_SIZE&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;VERSION_FUNCTIONS&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;COLOR_KEY&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;RED&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;GREEN&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;YELLOW&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;CYAN&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;INDEX&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;NEXT_OPTION&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;PREVIOUS_OPTION&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;Cmd114&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;Cmd115&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;Cmd116&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;Cmd117&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;SUBMODE&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;OPTIONS&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;FADE&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;Cmd121&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;STORE_OPEN_CLOSE&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;CONNECT_EURO&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;DISCONNECT_EURO&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;Cmd125&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;Cmd126&quot;</span>,</div>
<div class="line"> <span class="stringliteral">&quot;Cmd127&quot;</span></div>
<div class="line">};</div>
<div class="line"></div>
<div class="line"><span class="keywordtype">void</span> setup() {</div>
<div class="line"> Serial.begin(9600);</div>
<div class="line">}</div>
<div class="line"></div>
<div class="line"><span class="keywordtype">void</span> loop() {</div>
<div class="line"> <span class="keywordtype">int</span> cmd = ir.<a class="code" href="classIRreceiver.html#a4b021592a2b089dc2f1e138a38506fda">command</a>();</div>
<div class="line"> <span class="keywordflow">if</span> (cmd &gt;= 0) {</div>
<div class="line"> Serial.print(<span class="stringliteral">&quot;IR system=&quot;</span>);</div>
<div class="line"> Serial.print(ir.<a class="code" href="classIRreceiver.html#a19e9334ae97812fa85078507d105478f">system</a>());</div>
<div class="line"> Serial.print(<span class="stringliteral">&quot; (RC5_SYS_&quot;</span>);</div>
<div class="line"> Serial.print(systems[ir.<a class="code" href="classIRreceiver.html#a19e9334ae97812fa85078507d105478f">system</a>()]);</div>
<div class="line"> Serial.print(<span class="stringliteral">&quot;), command=&quot;</span>);</div>
<div class="line"> Serial.print(cmd &amp; 0x7F);</div>
<div class="line"> Serial.print(<span class="stringliteral">&quot; (RC5_&quot;</span>);</div>
<div class="line"> Serial.print(commands[cmd &amp; 0x7F]);</div>
<div class="line"> Serial.print(<span class="stringliteral">&quot;)&quot;</span>);</div>
<div class="line"> <span class="keywordflow">if</span> (cmd &amp; <a class="code" href="classIRreceiver.html#a9c37631cc1291dc47cabcfef2f631cf9">IRreceiver::AUTO_REPEAT</a>)</div>
<div class="line"> Serial.println(<span class="stringliteral">&quot;, auto-repeat&quot;</span>);</div>
<div class="line"> <span class="keywordflow">else</span></div>
<div class="line"> Serial.println();</div>
<div class="line"> }</div>
<div class="line">}</div>
</div><!-- fragment --> </div></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sat Jan 16 2016 09:47:01 for ArduinoLibs by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>
</body>
</html>