I am trying to determine the bluetooth string that is sent when programmatically unloading an app from the Pebble watch. I have unloaded an app (in slot 2) 5 times, and got 5 similar but slightly different strings:
First Payload: 0b ef 2b 00 11 17 70 02 24 b0 a1 e5 f0 b1 44 0d 8e 53 8f 26 68 8a 3f 07 9a
Second Payload: 0b ff 2b 01 00 11 17 70 02 24 b0 a1 e5 f0 b1 44 0d 8e 53 8f 26 68 8a 3f 07 86
Third Payload: 0b ff 2b 02 00 11 17 70 02 24 b0 a1 e5 f0 b1 44 0d 8e 53 8f 26 68 8a 3f 07 86
Fourth Payload: 0b ff 2b 02 00 11 17 70 02 24 b0 a1 e5 f0 b1 44 0d 8e 53 8f 26 68 8a 3f 07 86
Fifth Payload: 0b ff 2b 02 00 11 17 70 02 24 b0 a1 e5 f0 b1 44 0d 8e 53 8f 26 68 8a 3f 07 86
Interestingly, the last 3 payloads were identical, but the first 2 differ from this. The first string much more different (perhaps anomalous, I'm not sure), but the others only have differences in the 4th octet.
What would the best way to proceed with analysing this type of data? I've never done any reverse engineering like this before, but unfortunately Pebble does not provide an API for programmatically unloading apps.
It would appear that the first 3 octets specify the action to be taken (in this case unloading an app), but 3 octets would be a strange size for an instruction (not a power of 2), and so I'm suspicious that this is not correct.
My use case for this is I wish to devise a polymorphic app which maximises use of the memory capacity of the pebble (in this case I can fill the 100K slot completely).