@fishcrystals The issue I'm referring to is: What if you're at MSB = 1, LSB = 127 (total value = 255), and increment the controller by 1?
Using the tbf way, if the controller sends MSB first, then LSB, then the MSB change will trigger a new value (2*128) + 127 = 383, and then the LSB goes to 0 giving the expected 256.
If the controller sends LSB first, then MSB, then the LSB change will trigger a new value (1*128) + 0 = 128, and then the MSB goes to 2 giving the expected 256.
- Expected: 255 -- 256
- Case 1: 255 -- 383 -- 256
- Case 2: 255 -- 128 -- 256
And there won't be a way in the downstream logic to detect which value is wrong.
The input format is 2 messages for one output value; it's not correct to produce two output values. The purpose of the buddy logic is to make sure you get both incoming bytes before pushing out the value.