Hi,
Trying to read this IMU using a Raspberry Pi 5 via UART. I've been following the manual but not getting readout as I'd expect... I get the following raw output:
b'\xbeUUS1\x18\xff\xbf\xff\xe4\xf3-\x00\x01\x00\x00\xff\xfe\x1b\xa7\x1b\xa7\x1b\xa7\x1b\xa7\xff\xff\x00\x00zEUUS1\x18\xff\xc0\xff\xe5\xf3,\x00\x01\xff\xff\xff\xfe\x1b\xaa\x1b\xaa\x1b\xaa\x1b\xaa\xff\xff\x00\x00\x07\x0cUUS1\x18\xff\xc1\xff\xe7\xf3-\x00\x02\xff\xfe\xff\xfe\x1b\xaa\x1b\xaa\x1b\xaa\x1b\xaa\xff\xff\x00\x00\x98\x0fUUS1\x18\xff\xc2\xff\xe9\xf3,\x00\x04\xff\xfe\xff\xfd\x1b\xab\x1b\xab\x1b\xab\x1b\xab\xff\xff\x00\x00v\xbeUUS1\x18\xff\xc0\xff\xe8\xf3+\x00\x05\xff\xfe\xff\xfd\x1b\xae\x1b\xae\x1b\xae\x1b\xae\xff\xff\x00\x00\xe7\x91UUS1\x18\xff\xbd\xff\xe6\xf3+\x00\x03\xff\xff\xff\xfd\x1b\xae\x1b\xae\x1b\xae\x1b\xae\xff\xff\x00\x00P^UUS1\x18\xff\xbc\xff\xe4\xf3,\x00\x02\xff\xfe\xff\xfe\x1b\xac\x1b\xac\x1b\xac\x1b\xac\xff\xff\x00\x00\x87\x88UUS1\x18\xff\xba\xff\xe1\xf3.\x00\x04\x00\x00\xff\xfd\x1b\xac\x1b\xac\x1b\xac\x1b\xac\xff\xff\x00\x00\xbe\xdeUUS1\x18\xff\xb8\xff\xe1\xf3-\x00\x01\xff\xff\xff\xfe\x1b\xb0\x1b\xb0\x1b\xb0\x1b\xb0\xff\xff\x00\x00ZvUUS1\x18\xff\xba\xff\xe1\xf3-\x00\x00\xff\xfe\xff\xfe\x1b\xb0\x1b\xb0\x1b\xb0\x1b\xb0\xff\xff\x00\x00.~UUS1\x18\xff\xbb\xff\xe1\xf3-\x00\x02\xff\xff\xff\xfc\x1b\xab\x1b\xab\x1b\xab\x1b\xab\xff\xff\x00\x00\x02vUUS1\x18\xff\xbc\xff\xe4\xf3,\x00\x02\xff\xff\xff\xfb\x1b\xab\x1b\xab\x1b\xab\x1b\xab\xff\xff\x00\x00\x8f<UUS1\x18\xff\xbf\xff\xe8\xf3*\x00\x01\xff\xff\xff\xfb\x1b\xae\x1b\xae\x1b\xae\x1b\xae\xff\xff\x00\x00\xf9\xf8UUS1\x18\xff\xc0\xff\xea\xf3*\x00\x01\xff\xff\xff\xfd\x1b\xb3\x1b\xb3\x1b\xb3\x1b\xb3\xff\xff\x00\x00\xe4\x16UUS1\x18\xff\xc0\xff\xe7\xf3,\x00\x01\xff\xff\xff\xfd\x1b\xb7\x1b\xb7\x1b\xb7\x1b\xb7\xff\xff\x00\x00\xf8EUUS1\x18\xff\xc0\xff\xe5\xf3,\x00\x02\xff\xff\xff\xfe\x1b\xaa\x1b\xaa\x1b\xaa\x1b\xaa\xff\xff\x00\x006*UUS1\x18\xff\xc0\xff\xe3\xf3,\x00\x03\xff\xfe\xff\xfe\x1b\xaa\x1b\xaa\x1b\xaa\x1b\xaa\xff\xff\x00\x00TBUUS1\x18\xff\xbd\xff\xe3\xf3-\x00\x02\x00\x00\xff\xfd\x1b\xae\x1b\xae\x1b\xae\x1b\xae\xff\xff\x00\x00|\xfbUUS1\x18\xff\xbb\xff\xe4\xf3.\x00\x00\x00\x00\xff\xfd\x1b\xae\x1b\xae\x1b\xae\x1b\xae\xff\xff\x00\x00h\xa4UUS1\x18\xff\xb9\xff\xe5\xf3-\x00\x00\x00\x00\xff\xfc\x1b\xaf\x1b\xaf\x1b\xaf\x1b\xaf\xff\xff\x00\x00a}UUS1\x18\xff\xb9\xff\xe5\xf3,\x00\x00\x00\x00\xff\xfc\x1b\xab\x1b\xab\x1b\xab\x1b\xab\xff\xff\x00\x00:\n'
Looking at this, I see a few things:
- The "b" at the start denotes it as bytes, not string. I tried running it through UTF-8, UTF-16, ASCII and a few others but I get absolute nonsense.
- UUS1 appears to be a line start of some form. The closest match I can find to this is "User-User Signalling" protocol but I have found nothing of use on how to then decode the following bytes.
- \x would appear to be a byte marker.
This means the text can be formatted as so by using "UUS1" as the line start and removing the "\x":
UUS1 18 ff bf ff e4 f3- 00 01 00 00 ff fe 1b a7 1b a7 1b a7 1b a7 ff ff 00 00zE
UUS1 18 ff c0 ff e5 f3, 00 01 ff ff ff fe 1b aa 1b aa 1b aa 1b aa ff ff 00 00 07 0c
UUS1 18 ff c1 ff e7 f3- 00 02 ff fe ff fe 1b aa 1b aa 1b aa 1b aa ff ff 00 00 98 0f
UUS1 18 ff c2 ff e9 f3, 00 04 ff fe ff fd 1b ab 1b ab 1b ab 1b ab ff ff 00 00v be
UUS1 18 ff c0 ff e8 f3+ 00 05 ff fe ff fd 1b ae 1b ae 1b ae 1b ae ff ff 00 00 e7 91
UUS1 18 ff bd ff e6 f3+ 00 03 ff ff ff fd 1b ae 1b ae 1b ae 1b ae ff ff 00 00P^
UUS1 18 ff bc ff e4 f3, 00 02 ff fe ff fe 1b ac 1b ac 1b ac 1b ac ff ff 00 00 87 88
UUS1 18 ff ba ff e1 f3. 00 04 00 00 ff fd 1b ac 1b ac 1b ac 1b ac ff ff 00 00 be de
UUS1 18 ff b8 ff e1 f3- 00 01 ff ff ff fe 1b b0 1b b0 1b b0 1b b0 ff ff 00 00Zv
UUS1 18 ff ba ff e1 f3- 00 00 ff fe ff fe 1b b0 1b b0 1b b0 1b b0 ff ff 00 00.~
UUS1 18 ff bb ff e1 f3- 00 02 ff ff ff fc 1b ab 1b ab 1b ab 1b ab ff ff 00 00 02v
UUS1 18 ff bc ff e4 f3, 00 02 ff ff ff fb 1b ab 1b ab 1b ab 1b ab ff ff 00 00 8f<
UUS1 18 ff bf ff e8 f3* 00 01 ff ff ff fb 1b ae 1b ae 1b ae 1b ae ff ff 00 00 f9 f8
UUS1 18 ff c0 ff ea f3* 00 01 ff ff ff fd 1b b3 1b b3 1b b3 1b b3 ff ff 00 00 e4 16
UUS1 18 ff c0 ff e7 f3, 00 01 ff ff ff fd 1b b7 1b b7 1b b7 1b b7 ff ff 00 00 f8E
UUS1 18 ff c0 ff e5 f3, 00 02 ff ff ff fe 1b aa 1b aa 1b aa 1b aa ff ff 00 006*
UUS1 18 ff c0 ff e3 f3, 00 03 ff fe ff fe 1b aa 1b aa 1b aa 1b aa ff ff 00 00TB
UUS1 18 ff bd ff e3 f3- 00 02 00 00 ff fd 1b ae 1b ae 1b ae 1b ae ff ff 00 00| fb
UUS1 18 ff bb ff e4 f3. 00 00 00 00 ff fd 1b ae 1b ae 1b ae 1b ae ff ff 00 00h a4
UUS1 18 ff b9 ff e5 f3- 00 00 00 00 ff fc 1b af 1b af 1b af 1b af ff ff 00 00a}
UUS1 18 ff b9 ff e5 f3, 00 00 00 00 ff fc 1b ab 1b ab 1b ab 1b ab ff ff 00 00:\n'
When removed, the text between the \x markers looks to be hex, but converting to ASCII also gives nonsense. I also note some are illegally long...
I find it interesting that the end of the message is closed out with a typical "\n" linebreak... does that mean each line refers to a single character... or what???
I have no clue as to how to proceed with this and the VSCode plugin looks to be broken so can't even give that a go, nor do the Linux instructions match with Raspbian.