http://wiki.linuxmce.org/index.php?title=TOAD_vs_Discrete_Codes&feed=atom&action=historyTOAD vs Discrete Codes - Revision history2024-03-29T08:03:27ZRevision history for this page on the wikiMediaWiki 1.24.1http://wiki.linuxmce.org/index.php?title=TOAD_vs_Discrete_Codes&diff=29376&oldid=prevKlanmce at 20:40, 21 January 20122012-01-21T20:40:31Z<p></p>
<table class='diff diff-contentalign-left'>
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr style='vertical-align: top;'>
<td colspan='2' style="background-color: white; color:black; text-align: center;">←Older revision</td>
<td colspan='2' style="background-color: white; color:black; text-align: center;">Revision as of 20:40, 21 January 2012</td>
</tr><tr><td colspan="2" class="diff-lineno">Line 22:</td>
<td colspan="2" class="diff-lineno">Line 22:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>Note that this worked for my TV (Panasonic PT-52LCX66).  I'm not sure if this capability of handling combined IR codes like this is specific to the hardware, so please update this article if your experience differs.</div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div>Note that this worked for my TV (Panasonic PT-52LCX66).  I'm not sure if this capability of handling combined IR codes like this is specific to the hardware, so please update this article if your experience differs.</div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; 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;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; 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;"><div><ins style="font-weight: bold; text-decoration: none;"><p></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; 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;"><div><ins style="font-weight: bold; text-decoration: none;">'''Edit January 21st 2012'''</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; 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;"><div><ins style="font-weight: bold; text-decoration: none;"></p></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; 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;"><div><ins style="font-weight: bold; text-decoration: none;"><p></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; 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;"><div><ins style="font-weight: bold; text-decoration: none;">Manufactures that do have a value assigned to the third word which is the length of the One Time Burst, this value needs to be doubled when combining the codes, experienced with a Toshiba 24SL410U</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; 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;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; 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;"><div><ins style="font-weight: bold; text-decoration: none;">This fix was provided by phenigma on the forum to a topic opened</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; 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;"><div><ins style="font-weight: bold; text-decoration: none;">[http://forum.linuxmce.org/index.php/topic,12294.0.html]</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; 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;"><div><ins style="font-weight: bold; text-decoration: none;"></p></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; 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;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; 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;"><div><ins style="font-weight: bold; text-decoration: none;"><p></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; 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;"><div><ins style="font-weight: bold; text-decoration: none;">Original Code</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; 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;"><div><ins style="font-weight: bold; text-decoration: none;"></p></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; 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;"><div><ins style="font-weight: bold; text-decoration: none;"><pre></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; 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;"><div><ins style="font-weight: bold; text-decoration: none;">[Input]:  0000 006D 0022 0002 0156 00AB ... (lots more) ... 0056 0015 0E4E</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; 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;"><div><ins style="font-weight: bold; text-decoration: none;">[4]:      0000 006D 0022 0002 0156 00AB ... (lots more) ... 0056 0015 0E51</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; 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;"><div><ins style="font-weight: bold; text-decoration: none;"></pre></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; 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;"><div><ins style="font-weight: bold; text-decoration: none;"><p></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; 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;"><div><ins style="font-weight: bold; text-decoration: none;">Thus combining, would require doubling the third (3) group and the fourth (4) group, thus the new code will read</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; 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;"><div><ins style="font-weight: bold; text-decoration: none;">Combined</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; 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;"><div><ins style="font-weight: bold; text-decoration: none;"></p></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; 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;"><div><ins style="font-weight: bold; text-decoration: none;"><pre></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; 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;"><div><ins style="font-weight: bold; text-decoration: none;">[Input 4]: 0000 006D 0044 0004 0156 00AB ... (lots more) ... 0056 0015 0E4E 0156 00AB ... (lots more) ... 0056 0015 0E51</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; 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;"><div><ins style="font-weight: bold; text-decoration: none;"></pre></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; 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;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; 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;"><div><ins style="font-weight: bold; text-decoration: none;"><p></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; 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;"><div><ins style="font-weight: bold; text-decoration: none;">This worked for a Toshiba 24SL410U</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; 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;"><div><ins style="font-weight: bold; text-decoration: none;"></p></ins></div></td></tr>
</table>Klanmcehttp://wiki.linuxmce.org/index.php?title=TOAD_vs_Discrete_Codes&diff=21547&oldid=prevJthodges at 03:02, 30 October 20092009-10-30T03:02:48Z<p></p>
<table class='diff diff-contentalign-left'>
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr style='vertical-align: top;'>
<td colspan='2' style="background-color: white; color:black; text-align: center;">←Older revision</td>
<td colspan='2' style="background-color: white; color:black; text-align: center;">Revision as of 03:02, 30 October 2009</td>
</tr><tr><td colspan="2" class="diff-lineno">Line 6:</td>
<td colspan="2" class="diff-lineno">Line 6:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div><p>If your device does not recognize discrete codes, it is referred to in the industry as a TOAD (Toggle Only Analog Device).  It just recognizes commands that toggle it's state, such as the input or power.  LinuxMCE will still control these devices but due to their nature, it is impossible to control them perfectly.  For example, you will need to go to the A/V Properties page and list all the inputs that your device has in the right order.  LinuxMCE will then 'remember' what input it last left the device on, and send the appropriate number of toggle commands.  If LinuxMCE last turned the device to Input #1, and you now want to watch something on Input #4, LinuxMCE will send the input select command 3 times.  This is not a perfect system.  If someone manually changed the input, or if the device ever didn't recognize a code, it could get out of sync.  LinuxMCE may think it's on one input when it's really on another.</p></div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div><p>If your device does not recognize discrete codes, it is referred to in the industry as a TOAD (Toggle Only Analog Device).  It just recognizes commands that toggle it's state, such as the input or power.  LinuxMCE will still control these devices but due to their nature, it is impossible to control them perfectly.  For example, you will need to go to the A/V Properties page and list all the inputs that your device has in the right order.  LinuxMCE will then 'remember' what input it last left the device on, and send the appropriate number of toggle commands.  If LinuxMCE last turned the device to Input #1, and you now want to watch something on Input #4, LinuxMCE will send the input select command 3 times.  This is not a perfect system.  If someone manually changed the input, or if the device ever didn't recognize a code, it could get out of sync.  LinuxMCE may think it's on one input when it's really on another.</p></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div><p>The same thing is true for the power.  If your device has only a toggle power button, LinuxMCE will remember if you left the device on or off so it knows when to send the toggle power command.  But if LinuxMCE gets out of sync, it could be turning the TV off when it really thinks it's turning it on.  For the power setting, at least, your LinuxMCE Pro dealer has lots of tricks they can use to work around this problem.  There are sensors that LinuxMCE can read to determine if the TV is on or off, for example.</p></div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div><p>The same thing is true for the power.  If your device has only a toggle power button, LinuxMCE will remember if you left the device on or off so it knows when to send the toggle power command.  But if LinuxMCE gets out of sync, it could be turning the TV off when it really thinks it's turning it on.  For the power setting, at least, your LinuxMCE Pro dealer has lots of tricks they can use to work around this problem.  There are sensors that LinuxMCE can read to determine if the TV is on or off, for example.</p></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; 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;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; 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;"><div><ins style="font-weight: bold; text-decoration: none;">== Semi-Discrete Inputs ==</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; 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;"><div><ins style="font-weight: bold; text-decoration: none;"><p></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; 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;"><div><ins style="font-weight: bold; text-decoration: none;">There is a common type of input that is almost a hybrid of these two, which I will call semi-discrete for lack of a better term.  For example, a TV may require that you press the input button and then press [2] to reach the Component 1 input (while continuing to press input may start to toggle through inputs).  In this scenario, you may be able to combine the IR codes to achieve discrete inputs.  To do this, you will need the two IR codes you want to combine (e.g., [Input] and [4] codes).  Here are some example snippets:</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; 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;"><div><ins style="font-weight: bold; text-decoration: none;"></p></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; 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;"><div><ins style="font-weight: bold; text-decoration: none;"><pre></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; 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;"><div><ins style="font-weight: bold; text-decoration: none;">[Input]:  0000 006F 0000 0032 0081 0041 ... (lots more)</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; 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;"><div><ins style="font-weight: bold; text-decoration: none;">[4]:      0000 0071 0000 0032 0080 003f ... (lots more)</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; 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;"><div><ins style="font-weight: bold; text-decoration: none;"></pre></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; 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;"><div><ins style="font-weight: bold; text-decoration: none;"><p>There is a lot more information at [http://www.remotecentral.com/features/irdisp3.htm this] article, but the important thing is that the first four groups (words) in each code is essentially a header, and the rest is the data.  Specifically, the fourth word is the size of the data section, so to combine these you would use one of the headers (updating the size) and both of the data portions.  In the examples above, the size field for both codes is 0x32 (50 in decimal), so the new size would be 0x64 (100 decimal).  Your resulting code would look like this:</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; 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;"><div><ins style="font-weight: bold; text-decoration: none;"></p></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; 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;"><div><ins style="font-weight: bold; text-decoration: none;"><pre></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; 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;"><div><ins style="font-weight: bold; text-decoration: none;">[Input 4]: 0000 006F 0000 0064 0081 0041 ... (lots more) ... 0080 003f ... (lots more)</ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; 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;"><div><ins style="font-weight: bold; text-decoration: none;"></pre></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; 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;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; 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;"><div><ins style="font-weight: bold; text-decoration: none;">Note that this worked for my TV (Panasonic PT-52LCX66).  I'm not sure if this capability of handling combined IR codes like this is specific to the hardware, so please update this article if your experience differs.</ins></div></td></tr>
</table>Jthodgeshttp://wiki.linuxmce.org/index.php?title=TOAD_vs_Discrete_Codes&diff=21028&oldid=prevRay N at 12:22, 25 August 20092009-08-25T12:22:15Z<p></p>
<table class='diff diff-contentalign-left'>
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr style='vertical-align: top;'>
<td colspan='2' style="background-color: white; color:black; text-align: center;">←Older revision</td>
<td colspan='2' style="background-color: white; color:black; text-align: center;">Revision as of 12:22, 25 August 2009</td>
</tr><tr><td colspan="2" class="diff-lineno">Line 1:</td>
<td colspan="2" class="diff-lineno">Line 1:</td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color:black; 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;"><div><ins style="font-weight: bold; text-decoration: none;">[[Category: Documentation]]</ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div><p>The goal of LinuxMCE media is to let the homeowner press 1 button, such as 'watch tv', and have LinuxMCE automatically turn on all the necessary a/v equipment and adjust all the settings automatically.  Sometimes the manufacturers of a/v equipment had the foresight to build into their products a mechanism for a smart home system, like LinuxMCE, to control their devices automatically.  These devices have a computer connection like RS232 or Ethernet.  They will always work exceptionally well in a LinuxMCE home.  LinuxMCE can command the a/v to do anything.</p></div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div><p>The goal of LinuxMCE media is to let the homeowner press 1 button, such as 'watch tv', and have LinuxMCE automatically turn on all the necessary a/v equipment and adjust all the settings automatically.  Sometimes the manufacturers of a/v equipment had the foresight to build into their products a mechanism for a smart home system, like LinuxMCE, to control their devices automatically.  These devices have a computer connection like RS232 or Ethernet.  They will always work exceptionally well in a LinuxMCE home.  LinuxMCE can command the a/v to do anything.</p></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div><p>Very few a/v manufacturers put this type of control in their devices, and therefore LinuxMCE must control the equipment by sending infrared codes just like you do when you hit the button on your remote control.  The problem is that some a/v devices were designed in such a way that only a human operator can control them.  For example, to select an input on many TV's the operator must press an 'input select' button on the remote control and watch the display on the TV until they see the input they want.  If LinuxMCE needs to set your TV to 'INPUT #3', it's impossible for LinuxMCE to 'watch' the screen and know when the TV is at the right input.  Fortunately, some manufacturers added what are called 'discrete codes' to their TV.  This means that there is an infrared command that will cause the TV to go directly to Input #3, for example, no matter what input it is currently on.  There may not be a button for Input #3 on the remote--you may still have to use the toggle 'input select' button--but the TV has a special code that will cause it to go directly to that input.  Sony brand TV's are an example.  Even though there is only a toggle 'input select' button on the remote, there are infrared commands that LinuxMCE can send to make the TV go directly to the desired input.  These are called 'discrete codes'.</p></div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div><p>Very few a/v manufacturers put this type of control in their devices, and therefore LinuxMCE must control the equipment by sending infrared codes just like you do when you hit the button on your remote control.  The problem is that some a/v devices were designed in such a way that only a human operator can control them.  For example, to select an input on many TV's the operator must press an 'input select' button on the remote control and watch the display on the TV until they see the input they want.  If LinuxMCE needs to set your TV to 'INPUT #3', it's impossible for LinuxMCE to 'watch' the screen and know when the TV is at the right input.  Fortunately, some manufacturers added what are called 'discrete codes' to their TV.  This means that there is an infrared command that will cause the TV to go directly to Input #3, for example, no matter what input it is currently on.  There may not be a button for Input #3 on the remote--you may still have to use the toggle 'input select' button--but the TV has a special code that will cause it to go directly to that input.  Sony brand TV's are an example.  Even though there is only a toggle 'input select' button on the remote, there are infrared commands that LinuxMCE can send to make the TV go directly to the desired input.  These are called 'discrete codes'.</p></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div><p>The same thing is true with turning the device on and off.  Some remote controls have dedicated 'on' and 'off' buttons.  But others have only a 'power' button that toggles the state, and the manufacturer expects you, the user, to watch what's on the TV and decide if it's on or off.</p></div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div><p>The same thing is true with turning the device on and off.  Some remote controls have dedicated 'on' and 'off' buttons.  But others have only a 'power' button that toggles the state, and the manufacturer expects you, the user, to watch what's on the TV and decide if it's on or off.</p></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div><p>If you are going to buy new a/v equipment we recommend that you only buy devices that have computer-type controls, like RS232, or, at least, recognize discrete codes.  There are several web sites like http://www.remotecentral.com that have a lot of information on this subject and recommendations for equipment that have discrete codes.</p></div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div><p>If you are going to buy new a/v equipment we recommend that you only buy devices that have computer-type controls, like RS232, or, at least, recognize discrete codes.  There are several web sites like http://www.remotecentral.com that have a lot of information on this subject and recommendations for equipment that have discrete codes.</p></div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; 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;"><div><p>If your device does not recognize discrete codes, it is referred to in the industry as a TOAD<del class="diffchange diffchange-inline">--toggle only analog device</del>.  It just recognizes commands that toggle it's state, such as the input or power.  LinuxMCE will still control these devices but due to their nature, it is impossible to control them perfectly.  For example, you will need to go to the A/V Properties page and list all the inputs that your device has in the right order.  LinuxMCE will then 'remember' what input it last left the device on, and send the appropriate number of toggle commands.  If LinuxMCE last turned the device to Input #1, and you now want to watch something on Input #4, LinuxMCE will send the input select command 3 times.  This is not a perfect system.  If someone manually changed the input, or if the device ever didn't recognize a code, it could get out of sync.  LinuxMCE may think it's on one input when it's really on another.</p></div></td><td class='diff-marker'>+</td><td style="color:black; 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;"><div><p>If your device does not recognize discrete codes, it is referred to in the industry as a TOAD <ins class="diffchange diffchange-inline">(Toggle Only Analog Device)</ins>.  It just recognizes commands that toggle it's state, such as the input or power.  LinuxMCE will still control these devices but due to their nature, it is impossible to control them perfectly.  For example, you will need to go to the A/V Properties page and list all the inputs that your device has in the right order.  LinuxMCE will then 'remember' what input it last left the device on, and send the appropriate number of toggle commands.  If LinuxMCE last turned the device to Input #1, and you now want to watch something on Input #4, LinuxMCE will send the input select command 3 times.  This is not a perfect system.  If someone manually changed the input, or if the device ever didn't recognize a code, it could get out of sync.  LinuxMCE may think it's on one input when it's really on another.</p></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div><p>The same thing is true for the power.  If your device has only a toggle power button, LinuxMCE will remember if you left the device on or off so it knows when to send the toggle power command.  But if LinuxMCE gets out of sync, it could be turning the TV off when it really thinks it's turning it on.  For the power setting, at least, your LinuxMCE Pro dealer has lots of tricks they can use to work around this problem.  There are sensors that LinuxMCE can read to determine if the TV is on or off, for example.</p></div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div><p>The same thing is true for the power.  If your device has only a toggle power button, LinuxMCE will remember if you left the device on or off so it knows when to send the toggle power command.  But if LinuxMCE gets out of sync, it could be turning the TV off when it really thinks it's turning it on.  For the power setting, at least, your LinuxMCE Pro dealer has lots of tricks they can use to work around this problem.  There are sensors that LinuxMCE can read to determine if the TV is on or off, for example.</p></div></td></tr>
</table>Ray Nhttp://wiki.linuxmce.org/index.php?title=TOAD_vs_Discrete_Codes&diff=16450&oldid=prevAfkpuz at 04:01, 3 December 20082008-12-03T04:01:21Z<p></p>
<table class='diff diff-contentalign-left'>
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr style='vertical-align: top;'>
<td colspan='2' style="background-color: white; color:black; text-align: center;">←Older revision</td>
<td colspan='2' style="background-color: white; color:black; text-align: center;">Revision as of 04:01, 3 December 2008</td>
</tr><tr><td colspan="2" class="diff-lineno">Line 4:</td>
<td colspan="2" class="diff-lineno">Line 4:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div><p>If you are going to buy new a/v equipment we recommend that you only buy devices that have computer-type controls, like RS232, or, at least, recognize discrete codes.  There are several web sites like http://www.remotecentral.com that have a lot of information on this subject and recommendations for equipment that have discrete codes.</p></div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div><p>If you are going to buy new a/v equipment we recommend that you only buy devices that have computer-type controls, like RS232, or, at least, recognize discrete codes.  There are several web sites like http://www.remotecentral.com that have a lot of information on this subject and recommendations for equipment that have discrete codes.</p></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div><p>If your device does not recognize discrete codes, it is referred to in the industry as a TOAD--toggle only analog device.  It just recognizes commands that toggle it's state, such as the input or power.  LinuxMCE will still control these devices but due to their nature, it is impossible to control them perfectly.  For example, you will need to go to the A/V Properties page and list all the inputs that your device has in the right order.  LinuxMCE will then 'remember' what input it last left the device on, and send the appropriate number of toggle commands.  If LinuxMCE last turned the device to Input #1, and you now want to watch something on Input #4, LinuxMCE will send the input select command 3 times.  This is not a perfect system.  If someone manually changed the input, or if the device ever didn't recognize a code, it could get out of sync.  LinuxMCE may think it's on one input when it's really on another.</p></div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div><p>If your device does not recognize discrete codes, it is referred to in the industry as a TOAD--toggle only analog device.  It just recognizes commands that toggle it's state, such as the input or power.  LinuxMCE will still control these devices but due to their nature, it is impossible to control them perfectly.  For example, you will need to go to the A/V Properties page and list all the inputs that your device has in the right order.  LinuxMCE will then 'remember' what input it last left the device on, and send the appropriate number of toggle commands.  If LinuxMCE last turned the device to Input #1, and you now want to watch something on Input #4, LinuxMCE will send the input select command 3 times.  This is not a perfect system.  If someone manually changed the input, or if the device ever didn't recognize a code, it could get out of sync.  LinuxMCE may think it's on one input when it's really on another.</p></div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; 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;"><div><p>The same thing is true for the power.  If your device has only a toggle power button, LinuxMCE will remember if you <del class="diffchange diffchange-inline">last </del>the device on or off so it knows when to send the toggle power command.  But if LinuxMCE gets out of sync, it could be turning the TV off when it really thinks it's turning it on.  For the power setting, at least, your LinuxMCE Pro dealer has lots of tricks they can use to work around this problem.  There are sensors that LinuxMCE can read to determine if the TV is on or off, for example.</p></div></td><td class='diff-marker'>+</td><td style="color:black; 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;"><div><p>The same thing is true for the power.  If your device has only a toggle power button, LinuxMCE will remember if you <ins class="diffchange diffchange-inline">left </ins>the device on or off so it knows when to send the toggle power command.  But if LinuxMCE gets out of sync, it could be turning the TV off when it really thinks it's turning it on.  For the power setting, at least, your LinuxMCE Pro dealer has lots of tricks they can use to work around this problem.  There are sensors that LinuxMCE can read to determine if the TV is on or off, for example.</p></div></td></tr>
</table>Afkpuzhttp://wiki.linuxmce.org/index.php?title=TOAD_vs_Discrete_Codes&diff=3585&oldid=prevJerry finn at 09:33, 19 March 20072007-03-19T09:33:10Z<p></p>
<table class='diff diff-contentalign-left'>
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr style='vertical-align: top;'>
<td colspan='2' style="background-color: white; color:black; text-align: center;">←Older revision</td>
<td colspan='2' style="background-color: white; color:black; text-align: center;">Revision as of 09:33, 19 March 2007</td>
</tr><tr><td colspan="2" class="diff-lineno">Line 1:</td>
<td colspan="2" class="diff-lineno">Line 1:</td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; 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;"><div><del class="diffchange diffchange-inline"><table width="100%"> <tr><td bgcolor="#FFCFCF">This page was written by Pluto and imported with their permission when LinuxMCE branched off in February, 2007.  In general any information should apply to LinuxMCE.  However, this page should be edited to reflect changes to LinuxMCE and remove old references to Pluto.</td></tr> </table></del><p>The goal of <del class="diffchange diffchange-inline">Pluto </del>media is to let the homeowner press 1 button, such as 'watch tv', and have <del class="diffchange diffchange-inline">Pluto </del>automatically turn on all the necessary a/v equipment and adjust all the settings automatically.  Sometimes the manufacturers of a/v equipment had the foresight to build into their products a mechanism for a smart home system, like <del class="diffchange diffchange-inline">Pluto</del>, to control their devices automatically.  These devices have a computer connection like RS232 or Ethernet.  They will always work exceptionally well in a <del class="diffchange diffchange-inline">Pluto </del>home.  <del class="diffchange diffchange-inline">Pluto </del>can command the a/v to do anything.</p></div></td><td class='diff-marker'>+</td><td style="color:black; 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;"><div><p>The goal of <ins class="diffchange diffchange-inline">LinuxMCE </ins>media is to let the homeowner press 1 button, such as 'watch tv', and have <ins class="diffchange diffchange-inline">LinuxMCE </ins>automatically turn on all the necessary a/v equipment and adjust all the settings automatically.  Sometimes the manufacturers of a/v equipment had the foresight to build into their products a mechanism for a smart home system, like <ins class="diffchange diffchange-inline">LinuxMCE</ins>, to control their devices automatically.  These devices have a computer connection like RS232 or Ethernet.  They will always work exceptionally well in a <ins class="diffchange diffchange-inline">LinuxMCE </ins>home.  <ins class="diffchange diffchange-inline">LinuxMCE </ins>can command the a/v to do anything.</p></div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; 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;"><div><p>Very few a/v manufacturers put this type of control in their devices, and therefore <del class="diffchange diffchange-inline">Pluto </del>must control the equipment by sending infrared codes just like you do when you hit the button on your remote control.  The problem is that some a/v devices were designed in such a way that only a human operator can control them.  For example, to select an input on many TV's the operator must press an 'input select' button on the remote control and watch the display on the TV until they see the input they want.  If <del class="diffchange diffchange-inline">Pluto </del>needs to set your TV to 'INPUT #3', it's impossible for <del class="diffchange diffchange-inline">Pluto </del>to 'watch' the screen and know when the TV is at the right input.  Fortunately, some manufacturers added what are called 'discrete codes' to their TV.  This means that there is an infrared command that will cause the TV to go directly to Input #3, for example, no matter what input it is currently on.  There may not be a button for Input #3 on the remote--you may still have to use the toggle 'input select' button--but the TV has a special code that will cause it to go directly to that input.  Sony brand TV's are an example.  Even though there is only a toggle 'input select' button on the remote, there are infrared commands that <del class="diffchange diffchange-inline">Pluto </del>can send to make the TV go directly to the desired input.  These are called 'discrete codes'.</p></div></td><td class='diff-marker'>+</td><td style="color:black; 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;"><div><p>Very few a/v manufacturers put this type of control in their devices, and therefore <ins class="diffchange diffchange-inline">LinuxMCE </ins>must control the equipment by sending infrared codes just like you do when you hit the button on your remote control.  The problem is that some a/v devices were designed in such a way that only a human operator can control them.  For example, to select an input on many TV's the operator must press an 'input select' button on the remote control and watch the display on the TV until they see the input they want.  If <ins class="diffchange diffchange-inline">LinuxMCE </ins>needs to set your TV to 'INPUT #3', it's impossible for <ins class="diffchange diffchange-inline">LinuxMCE </ins>to 'watch' the screen and know when the TV is at the right input.  Fortunately, some manufacturers added what are called 'discrete codes' to their TV.  This means that there is an infrared command that will cause the TV to go directly to Input #3, for example, no matter what input it is currently on.  There may not be a button for Input #3 on the remote--you may still have to use the toggle 'input select' button--but the TV has a special code that will cause it to go directly to that input.  Sony brand TV's are an example.  Even though there is only a toggle 'input select' button on the remote, there are infrared commands that <ins class="diffchange diffchange-inline">LinuxMCE </ins>can send to make the TV go directly to the desired input.  These are called 'discrete codes'.</p></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div><p>The same thing is true with turning the device on and off.  Some remote controls have dedicated 'on' and 'off' buttons.  But others have only a 'power' button that toggles the state, and the manufacturer expects you, the user, to watch what's on the TV and decide if it's on or off.</p></div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div><p>The same thing is true with turning the device on and off.  Some remote controls have dedicated 'on' and 'off' buttons.  But others have only a 'power' button that toggles the state, and the manufacturer expects you, the user, to watch what's on the TV and decide if it's on or off.</p></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div><p>If you are going to buy new a/v equipment we recommend that you only buy devices that have computer-type controls, like RS232, or, at least, recognize discrete codes.  There are several web sites like http://www.remotecentral.com that have a lot of information on this subject and recommendations for equipment that have discrete codes.</p></div></td><td class='diff-marker'> </td><td style="background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;"><div><p>If you are going to buy new a/v equipment we recommend that you only buy devices that have computer-type controls, like RS232, or, at least, recognize discrete codes.  There are several web sites like http://www.remotecentral.com that have a lot of information on this subject and recommendations for equipment that have discrete codes.</p></div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; 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;"><div><p>If your device does not recognize discrete codes, it is referred to in the industry as a TOAD--toggle only analog device.  It just recognizes commands that toggle it's state, such as the input or power.  <del class="diffchange diffchange-inline">Pluto </del>will still control these devices but due to their nature, it is impossible to control them perfectly.  For example, you will need to go to the A/V Properties page and list all the inputs that your device has in the right order.  <del class="diffchange diffchange-inline">Pluto </del>will then 'remember' what input it last left the device on, and send the appropriate number of toggle commands.  If <del class="diffchange diffchange-inline">Pluto </del>last turned the device to Input #1, and you now want to watch something on Input #4, <del class="diffchange diffchange-inline">Pluto </del>will send the input select command 3 times.  This is not a perfect system.  If someone manually changed the input, or if the device ever didn't recognize a code, it could get out of sync.  <del class="diffchange diffchange-inline">Pluto </del>may think it's on one input when it's really on another.</p></div></td><td class='diff-marker'>+</td><td style="color:black; 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;"><div><p>If your device does not recognize discrete codes, it is referred to in the industry as a TOAD--toggle only analog device.  It just recognizes commands that toggle it's state, such as the input or power.  <ins class="diffchange diffchange-inline">LinuxMCE </ins>will still control these devices but due to their nature, it is impossible to control them perfectly.  For example, you will need to go to the A/V Properties page and list all the inputs that your device has in the right order.  <ins class="diffchange diffchange-inline">LinuxMCE </ins>will then 'remember' what input it last left the device on, and send the appropriate number of toggle commands.  If <ins class="diffchange diffchange-inline">LinuxMCE </ins>last turned the device to Input #1, and you now want to watch something on Input #4, <ins class="diffchange diffchange-inline">LinuxMCE </ins>will send the input select command 3 times.  This is not a perfect system.  If someone manually changed the input, or if the device ever didn't recognize a code, it could get out of sync.  <ins class="diffchange diffchange-inline">LinuxMCE </ins>may think it's on one input when it's really on another.</p></div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; 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;"><div><p>The same thing is true for the power.  If your device has only a toggle power button, <del class="diffchange diffchange-inline">Pluto </del>will remember if you last the device on or off so it knows when to send the toggle power command.  But if <del class="diffchange diffchange-inline">Pluto </del>gets out of sync, it could be turning the TV off when it really thinks it's turning it on.  For the power setting, at least, your <del class="diffchange diffchange-inline">Pluto </del>Pro dealer has lots of tricks they can use to work around this problem.  There are sensors that <del class="diffchange diffchange-inline">Pluto </del>can read to determine if the TV is on or off, for example.</p></div></td><td class='diff-marker'>+</td><td style="color:black; 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;"><div><p>The same thing is true for the power.  If your device has only a toggle power button, <ins class="diffchange diffchange-inline">LinuxMCE </ins>will remember if you last the device on or off so it knows when to send the toggle power command.  But if <ins class="diffchange diffchange-inline">LinuxMCE </ins>gets out of sync, it could be turning the TV off when it really thinks it's turning it on.  For the power setting, at least, your <ins class="diffchange diffchange-inline">LinuxMCE </ins>Pro dealer has lots of tricks they can use to work around this problem.  There are sensors that <ins class="diffchange diffchange-inline">LinuxMCE </ins>can read to determine if the TV is on or off, for example.</p></div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color:black; 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;"><div> </div></td><td class='diff-marker'>+</td><td style="color:black; 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;"><div></div></td></tr>
</table>Jerry finnhttp://wiki.linuxmce.org/index.php?title=TOAD_vs_Discrete_Codes&diff=1993&oldid=prevWikiadmin: Imported document2006-06-05T16:46:04Z<p>Imported document</p>
<p><b>New page</b></p><div><table width="100%"> <tr><td bgcolor="#FFCFCF">This page was written by Pluto and imported with their permission when LinuxMCE branched off in February, 2007. In general any information should apply to LinuxMCE. However, this page should be edited to reflect changes to LinuxMCE and remove old references to Pluto.</td></tr> </table><p>The goal of Pluto media is to let the homeowner press 1 button, such as 'watch tv', and have Pluto automatically turn on all the necessary a/v equipment and adjust all the settings automatically. Sometimes the manufacturers of a/v equipment had the foresight to build into their products a mechanism for a smart home system, like Pluto, to control their devices automatically. These devices have a computer connection like RS232 or Ethernet. They will always work exceptionally well in a Pluto home. Pluto can command the a/v to do anything.</p><br />
<p>Very few a/v manufacturers put this type of control in their devices, and therefore Pluto must control the equipment by sending infrared codes just like you do when you hit the button on your remote control. The problem is that some a/v devices were designed in such a way that only a human operator can control them. For example, to select an input on many TV's the operator must press an 'input select' button on the remote control and watch the display on the TV until they see the input they want. If Pluto needs to set your TV to 'INPUT #3', it's impossible for Pluto to 'watch' the screen and know when the TV is at the right input. Fortunately, some manufacturers added what are called 'discrete codes' to their TV. This means that there is an infrared command that will cause the TV to go directly to Input #3, for example, no matter what input it is currently on. There may not be a button for Input #3 on the remote--you may still have to use the toggle 'input select' button--but the TV has a special code that will cause it to go directly to that input. Sony brand TV's are an example. Even though there is only a toggle 'input select' button on the remote, there are infrared commands that Pluto can send to make the TV go directly to the desired input. These are called 'discrete codes'.</p><br />
<p>The same thing is true with turning the device on and off. Some remote controls have dedicated 'on' and 'off' buttons. But others have only a 'power' button that toggles the state, and the manufacturer expects you, the user, to watch what's on the TV and decide if it's on or off.</p><br />
<p>If you are going to buy new a/v equipment we recommend that you only buy devices that have computer-type controls, like RS232, or, at least, recognize discrete codes. There are several web sites like http://www.remotecentral.com that have a lot of information on this subject and recommendations for equipment that have discrete codes.</p><br />
<p>If your device does not recognize discrete codes, it is referred to in the industry as a TOAD--toggle only analog device. It just recognizes commands that toggle it's state, such as the input or power. Pluto will still control these devices but due to their nature, it is impossible to control them perfectly. For example, you will need to go to the A/V Properties page and list all the inputs that your device has in the right order. Pluto will then 'remember' what input it last left the device on, and send the appropriate number of toggle commands. If Pluto last turned the device to Input #1, and you now want to watch something on Input #4, Pluto will send the input select command 3 times. This is not a perfect system. If someone manually changed the input, or if the device ever didn't recognize a code, it could get out of sync. Pluto may think it's on one input when it's really on another.</p><br />
<p>The same thing is true for the power. If your device has only a toggle power button, Pluto will remember if you last the device on or off so it knows when to send the toggle power command. But if Pluto gets out of sync, it could be turning the TV off when it really thinks it's turning it on. For the power setting, at least, your Pluto Pro dealer has lots of tricks they can use to work around this problem. There are sensors that Pluto can read to determine if the TV is on or off, for example.</p><br />
</div>Wikiadmin