Thursday, 29 September 2011

Metawatch Firmware Hacking

So I got a new watch.....

And I do what anyone does when they get a new piece of technology....

Improve it! First I fixed it so the date and time were shown in the correct format.
Then added a menu item to allow configuring of this.

Now adding this menu item was quite tricky. The code does lots of message passing and has a custom message for each item. I decided to rewrite the menuing system and made life alot easier(in my opinion)[1], I've since added items for the Day/Month ordering (Although why anyone would want to change this is beyond me ;-) ) and am currently trying out sub menu organisation. The new system makes it very easy to reorder the menus. I've stuck with the current menu design but may experiment with others and possibly add dynamic menus that can be added by applications on the phone (A common request)

Then of course I moved onto the next stage. Writing "Space invaders" for it. (Less encumbered than Xtris) This is the screen.

You can move left and right. But I need to rethink the design and how it fits with the watch architecture. I'd like to split out all the idle screens to separate pluggable entities from the code that handles the LCD. This would make it easer to swap functionality in and out. I'm having to think about how a app can take control from the watch safely and fast. All this source is available on git hub.

No comments:

Post a Comment