I have a usb stick that communicates with a medical device. I am attempting to decode the communication. I have figured out the basic radio parameters (916.5MHz, ook, bit rate, preamble, sync words), but there is still some encoding I haven't figured out yet.
I can give the USB stick different destination device ids, and can see segments of the short (~12bytes) packet change. In fact, for each character of the 6-digit device id, I see 6 bits change in the packet, with a consistent mapping as follows:
"010101" => "0",
"110001" => "1",
"110010" => "2",
"100011" => "3",
"110100" => "4",
"100101" => "5",
"100110" => "6",
"010110" => "7",
"011010" => "8",
"011001" => "9"
So device id 123456 is encoded as "110001110010100011110100100101100110".
There are some other 6-bit sequences I see in the data as well, like:
001011 => ?
001101 => ?
101010 => ?
101100 => ?
011100 => ?
The second bit in each code seems to be a parity bit for the remaining 5 bits. The first bit seems special in some way as well, but I haven't figured it out. The four bits on the right are standard binary encoding for values 1-6. Those values also have the first bit set, which makes me think that when the first bit is not set, it turns on some alternate encoding for the right four bits.
Any ideas?