Open phistep opened 11 years ago
So evidently the way we're unpacking the installed apps message isn't correct anymore, see lib/pebble/watch.rb#L150.
My Pebble charging cable actually broke a little while ago, so I can't fix and test it myself. I would be very happy to accept a pull request addressing this, though.
The unpack
syntax is quite unreadable. I haven't really looked into it, but do you think moving to bindata
(now that I pulled it in anyway) makes sense?
Where can I find documentation to the messaging/protocol syntax? Did you just extract it from the Python code?
The #unpack
syntax is just as unreadable as anything you don't know yet ;-) I can see how bindata is useful for larger structures like bundles (which I why I let you pull it in), but for smaller blobs with just a small number of values, my vote goes to #unpack
.
Running following code should show me my installed apps:
prints:
The first ones work well, but starting at ID
0
The Strings get all messed up. The app with ID0
has the nameCalendar
, but the first char got lost somewhere. Instead the first char of theauthor
field got at the end of thename
field (William). As a result, the nullbytes did not get stripped. My guess is, that the offsets got wrong as you still read 32 byte.Just for the record: ID
4608
'sname
should be "Glow", theauthor
"dotar" I guess. ID0
(two identical IDs? Maybe something went wrong here, too?) should have thename
"Neolog", and theauthor
is me, "Ps0ke". We're two bytes off by now.