<div id="geary-body" dir="auto"><div>Just to lay the blame appropriately, your confusion has nothing to do with RS422 itself, but with the badly documented protocol that happens to use a full-duplex differential physical layer, RS422. As well as being badly documented, it looks like a badly designed protocol, thrown together by amateurs.</div><div><br></div><div>(I feel your pain: my entire career has involved dealing with buggy and badly documented protocols, finding out how to avoid the bugs to get the data I need, then how to massage it into another buggy and badly documented protocol for a different device)</div><div><br></div><div>I don't know your background.</div><div><br></div><div>RS422 is like RS232 except with a differential pair for each of the transmit and receive paths (and no flow hardware flow control lines). Different from RS485 which has only one differential signal path, and the various devices have to decide who is sending.</div><div><br></div><div>My guess about controlling the colours is the same as yours: send 2 bytes of 0xFF as a frame-start marker, then 3 bytes of RGB colour for each tile, with the colours component ranging from 0x00 to 0xFE (not 0xFF, which is used as the frame start marker).</div><div><br></div><div>My guess about receiving the 'interaction' values is that the tiles magically work out how many there are -- perhaps derived from the number of colours that you have sent previously -- and either continuously send the 'interaction' string, or send the 'interaction' string once after you have sent the colour setting string. The interaction string seems to be one byte of 0xFC, one count byte telling you how many tiles, then one byte per tile, either 0x05 if not stepped and 0x0A if stepped on.</div><div><br></div><div>All sent at 115200 baud, presumably 8 data bits, no parity, no flow control. </div><div><br></div><div>Personally, I would wire up an RS422 adapter to one or two tiles, then write a script (Python is my poison) to send the appropriate colour-setting string and capture everything that comes back. See what colours appear, and what gets returned when you press a tile.</div><div><br></div><div>Jaycar sells a USB RS422/RS485 adapter (<a href="https://www.jaycar.co.nz/usb-port-to-rs-485-422-converter-with-automatic-detect-serial-signal-rate/p/XC4136">https://www.jaycar.co.nz/usb-port-to-rs-485-422-converter-with-automatic-detect-serial-signal-rate/p/XC4136</a>), rather expensive at $80, but available now.</div><div><br></div><div>I have an RS422 adapter about to become part of a test jig in the next week or so. I can't let you have it, but I am very happy to meet up and help decode how the tiles work.</div><div><br></div><div>Stephen Irons</div><div><br></div></div><div id="geary-quote" dir="auto"><br>On Tue, Feb 18 2025 at 00:30:13 +13:00:00, andrew dean <nzandydean@gmail.com> wrote:<br><blockquote type="cite"><div class="plaintext" style="white-space: break-spaces;">There are some interactive floor tiles used for games where people run around as the floor changes colours, avoiding red, etc. In our latest escape room we have a room where it would be great to have controllable coloured floor tiles that can sense when people are standing on them. I sent information requests to dozens of manufacturers and this is the closest thing I got that seems to make sense, only, I don˙t think I really get it.
The floor tiles seem to use rs422 to send color commands, with each tablet reading their own data like a ws2811. That kinda made sense to me, but the return data did not. How would all the tiles send back a single serial string with all of their ´stepped onĄ status without some kind of controller collecting all the data? What is your best guess as to what they are saying and how it would/should work?
My end goal would be to bridge the data to mqtt, but I˙ll need to figure out what their hardware does in order to figure out if I can bridge it or not.
Can anybody help? Does it sound to you like you fire off FFFF then the rgb values in order to set the tile colours. How would getting the pressed data from the tiles work? (Out of 20 manufacturers, this is the closest to a meaningful communication I˙ve had, so I˙m trying to decipher it as much as possible before asking followup questions.
Here˙s the protocol document:
<a href="https://devlincross.co.uk/photos/protocol.png">https://devlincross.co.uk/photos/protocol.png</a>
Thanks for any help!
-Andrew
_______________________________________________
Chchrobotics mailing list <a href="mailto:Chchrobotics@lists.ourshack.com">Chchrobotics@lists.ourshack.com</a>
<a href="https://lists.ourshack.com/mailman/listinfo/chchrobotics">https://lists.ourshack.com/mailman/listinfo/chchrobotics</a>
Mail Archives: <a href="http://lists.ourshack.com/pipermail/chchrobotics/">http://lists.ourshack.com/pipermail/chchrobotics/</a>
Meetings usually 3rd Monday each month. See <a href="http://kiwibots.org">http://kiwibots.org</a> for venue, directions and dates.
When replying, please edit your Subject line to reflect new subjects.</div></blockquote></div>