<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-gb">
<link rel="self" type="application/atom+xml" href="http://forum.robosavvy.com/feed.php?f=5&amp;t=512" />

<title>RoboSavvy Forum</title>
<subtitle>Robosavvy Forum: The largest online community of Humanoid Robot Builders</subtitle>
<link href="http://forum.robosavvy.com/index.php" />
<updated>2006-08-19T16:34:24+01:00</updated>

<author><name><![CDATA[RoboSavvy Forum]]></name></author>
<id>http://forum.robosavvy.com/feed.php?f=5&amp;t=512</id>
<entry>
<author><name><![CDATA[inaki]]></name></author>
<updated>2006-08-19T16:34:24+01:00</updated>
<published>2006-08-19T16:34:24+01:00</published>
<id>http://forum.robosavvy.com/viewtopic.php?t=512&amp;p=3178#p3178</id>
<link href="http://forum.robosavvy.com/viewtopic.php?t=512&amp;p=3178#p3178"/>
<title type="html"><![CDATA[IR Codes: can you decipher this?]]></title>

<content type="html" xml:base="http://forum.robosavvy.com/viewtopic.php?t=512&amp;p=3178#p3178"><![CDATA[
Here there is the encoding I have found:<br /><br />The signal is compossed of pulses of 800us each.<br />Base frequency or carrier is between 38-40Khz.<br /><br />Ones are indicated by lack of carrier while zeroes are indicated by present carrier. That means that a zero is a sequence of a sinus wave of 40Khz that is ON for about 800us. A one is a lack of signal for about 800us.<br /><br />Each data has 2 bytes (16 bits) of meaningful data, while actually there are 49 bits of data being sent. The structure is the following:<br /><br />A header of 20 bits:<br /><br />00101010110111111111<br /><br />Followed immediately by the following data:<br /><br />A starting bit, that is always zero<br />The low byte of data. BYTE 0. In LSB format. The highest bit is always zero (and is replicated in BYTE 2)<br />Follows a sequence of two bits: 10<br />The high byte of data. BYTE 1. In LSB format. The highest bit is always zero (and is replicated in BYTE 2)<br />Follows a sequence of two bits: 10<br />The third byte. BYTE 2. Or control byte. With the following fomat:<br /><br />Low 4 bits are the inverted sum of low nibbles from BYTE 0 and BYTE 1.<br />For example if the sum is 1001 the result in this nibble is 0110.<br />High 4 bits of check byte, BYTE 2, are encoded as follows:<br />Bit 0 is the inverted 3th bit of the sum of (High Nibble of BYTE 0 + High Nibble of BYTE 1) <br />Bit 1 is the actual bit 7 of BYTE 1<br />Bit 2 is the actual bit 7 of BYTE 0<br />Bit 3 is always zero<br /><br />Examples (20 bits header not shown):<br /><br />Value BYTE 0 BYTE 1  BYTE 2 <br />0000: 0 00000000 10 00000000 10 1111 1000<br />0001: 0 10000000 10 00000000 10 0111 1000<br />0002: 0 01000000 10 00000000 10 1011 1000<br />0003: 0 11000000 10 00000000 10 0011 1000<br />0004: 0 00100000 10 00000000 10 1101 1000<br />0008: 0 00010000 10 00000000 10 1110 1000<br />000F: 0 11110000 10 00000000 10 0000 1000<br />0010: 0 00001000 10 00000000 10 1111 0000<br />0020: 0 00000100 10 00000000 10 1111 1000<br />0040: 0 00000010 10 00000000 10 1111 1000<br />0055: 0 10101010 10 00000000 10 0101 0000<br />0080: 0 00000000 10 00000000 10 1111 1010<br />00AA: 0 01010100 10 00000000 10 1010 1010<br />00FF: 0 11111110 10 00000000 10 0000 0010<br />1000: 0 00000000 10 00001000 10 1111 0000<br />1010: 0 00001000 10 00001000 10 1111 1000<br />0100: 0 00000000 10 10000000 10 0111 1000<br />0101: 0 10000000 10 10000000 10 1011 1000<br />0200: 0 00000000 10 01000000 10 1011 1000<br />8000: 0 00000000 10 00000000 10 1111 1100<br />8080: 0 00000000 10 00000000 10 1111 1110<br />5555: 0 10101010 10 10101010 10 1010 1000<br />FFFF: 0 11111110 10 11111110 10 1000 0110<p>Statistics: Posted by <a href="http://forum.robosavvy.com/memberlist.php?mode=viewprofile&amp;u=8">inaki</a> — Sat Aug 19, 2006 4:34 pm</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[pakkua80]]></name></author>
<updated>2006-08-12T18:44:17+01:00</updated>
<published>2006-08-12T18:44:17+01:00</published>
<id>http://forum.robosavvy.com/viewtopic.php?t=512&amp;p=3058#p3058</id>
<link href="http://forum.robosavvy.com/viewtopic.php?t=512&amp;p=3058#p3058"/>
<title type="html"><![CDATA[IR Codes: can you decipher this?]]></title>

<content type="html" xml:base="http://forum.robosavvy.com/viewtopic.php?t=512&amp;p=3058#p3058"><![CDATA[
I can't make sense of it...<p>Statistics: Posted by <a href="http://forum.robosavvy.com/memberlist.php?mode=viewprofile&amp;u=209">pakkua80</a> — Sat Aug 12, 2006 6:44 pm</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[inaki]]></name></author>
<updated>2006-08-11T16:45:54+01:00</updated>
<published>2006-08-11T16:45:54+01:00</published>
<id>http://forum.robosavvy.com/viewtopic.php?t=512&amp;p=3040#p3040</id>
<link href="http://forum.robosavvy.com/viewtopic.php?t=512&amp;p=3040#p3040"/>
<title type="html"><![CDATA[IR Codes: can you decipher this?]]></title>

<content type="html" xml:base="http://forum.robosavvy.com/viewtopic.php?t=512&amp;p=3040#p3040"><![CDATA[
Here there are some codes sent by AXS1 sensor through IR leds.<br /><br />There are 3 parts, each about 8 bits long. The first and second parts are bytes 0 and 1 in reverse order, sepparated by a 1 bit.<br /><br />The picture shows the pattern for some data in the following order: 0,1,2,4,8,0x88,0x80,0x100,0x200. <br />As you see there are 16 bits of data, the low byte is in first place with bits in reverse order (LSB). Then a ONE bit, then the high byte.<br /><br />After the two data bytes there are one additional byte that contains some sort of checksum or control byte. Are you able to decipher this byte ?<br /><br />Deciphering the third byte it would be easy to send an IR code with any device to our Bioloid AXS1 sensor.<br /><br />Note that although the first bytes seem straightformward to decipher the byte 0x88 is identical to the byte 8 except for the control byte.<br /><br />Looking only at the first bytes (0 to 8, ) the encoding would be:<br /><br />First bits always to zero<br />Bits 1 to 8 correspond to bits 0 to 7 of low byte (in revers order).<br />Then comes a bit that is always to 1.<br />Then comes the high byte, bits 0 to 7 (in reverse order).<br />Then a pattern of two bits that is always the binary value: 10<br />Then a pattern of 8 bits that is some sort of encoding or checksum and that might be (L XOR H)XOR 0xF8, except that it does not match the 0x88 code for example.<br /><br />So the first two questions to solve are:<br /><br />- Why 0x88 is equal to 8, except in the third byte ?<br />- What is the format of the third byte ?<br /><br />Please note that high pulses are zero while blank or low pulses are 1.<br />Each data stream sent has a prefix code that is not shown in the picture because it is always the same.<br /><br /><img src="http://robosavvy.com/Builders/inaki/ir_waves.jpg" alt="Image" /><p>Statistics: Posted by <a href="http://forum.robosavvy.com/memberlist.php?mode=viewprofile&amp;u=8">inaki</a> — Fri Aug 11, 2006 4:45 pm</p><hr />
]]></content>
</entry>
</feed>