byte bytes[] = {0x04,0x08,0x0F,0x66,(byte)0x99,0x41,0x52,0x43,0x55,(byte)0xAA};
ch.setValue(bytes);
If I log the output of this array I get (note the negative values):
[4, 8, 15, 102, -103, 65, 82, 67, 85, -86]
But in theory this should only be java's representation of the values and shouldn't affect the perceived values when they hit the Bluetooth device but this doesn't seem to be the case
These values are required by the manufacturer so cannot be changed, however, 2 of the values are out of the range of an unsigned byte/int and it appears that this is the reason the device isn't recognizing the command.
When I write this command to the characteristic I get a success. But the device doesn't act upon the command.
So, my question is, am I sending this in the correct way, or should I be formatting/processing the byte array in order to maintain the perceived values contained within?
Any advice greatly appreciated!!!