[chbot] Anybody understand rs422 enough to decode this for me?
Stephen Irons
stephen at irons.nz
Mon Feb 17 14:28:51 GMT 2025
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.
(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)
I don't know your background.
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.
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).
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.
All sent at 115200 baud, presumably 8 data bits, no parity, no flow
control.
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.
Jaycar sells a USB RS422/RS485 adapter
(<https://www.jaycar.co.nz/usb-port-to-rs-485-422-converter-with-automatic-detect-serial-signal-rate/p/XC4136>),
rather expensive at $80, but available now.
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.
Stephen Irons
On Tue, Feb 18 2025 at 00:30:13 +13:00:00, andrew dean
<nzandydean at gmail.com> wrote:
> 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:
> <https://devlincross.co.uk/photos/protocol.png>
>
> Thanks for any help!
> -Andrew
>
>
>
> _______________________________________________
> Chchrobotics mailing list Chchrobotics at lists.ourshack.com
> <mailto:Chchrobotics at lists.ourshack.com>
> <https://lists.ourshack.com/mailman/listinfo/chchrobotics>
> Mail Archives: <http://lists.ourshack.com/pipermail/chchrobotics/>
> Meetings usually 3rd Monday each month. See http://kiwibots.org
> <http://kiwibots.org/> for venue, directions and dates.
> When replying, please edit your Subject line to reflect new subjects.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ourshack.com/pipermail/chchrobotics/attachments/20250218/aeab1ed7/attachment.html>
More information about the Chchrobotics
mailing list