A project log for The ides of DEFCON: An Unofficial Electronic Badge

A wearable hardware badge, featuring blinky lights, sound, a sub-1Ghz radio, games, and more. Based on the Freescale KW01.

John AdamsJohn Adams 11/28/2016 at 19:260 Comments

Hope everyone had a good Thanksgiving.

Over the holiday break, we've made quite a bit of software progress. Huge, huge progress.

We integrated the Orchard events system with ugfx events, which gave us access back to all of ugfx's widgets (which we really don't want to rewrite.) We can read and write user state to the KW01's flash, and changes made to the device fully restore on reboot.

Getting UGFX events back was huge, because nowe we can make complex setup pages like these that respond correctly to touch. I think this is the first DEFCON badge I've seen that has a fully working color touch screen (not counting the Ninja Phone, which was a phone...)

Another big fix was getting access back to the launcher system. Adding new applications is as easy as creating a new app-XXX.c file and code. Orchard's init, start, event, exit application pipeline makes it easy to run any app we want while still being able to receive events from the radio, timers, and touch screen. Background threads keep our LEDs blinking, while the event system's callbacks ensure that we can clean up after ourselves when apps terminate.

So, as you can see above, font rendering in ugfx is simply awful. I've gone through about 15 fonts so far trying to find something that looks a) Roman/Old, b) is highly readable, c) doesn't look like a bitmap. As cool as retro-bitmap is, why should we waste this gorgeous screen?

In the Art Department, it looks like Matt Harris is going to help us draw our characters. I've already seen a couple (I'm not going to let you see them yet!) but he's made some awesome bitmap art that appears to load quickly on our boards.

We've refactored the image loading system so it's easier for me to drop images in, and are pretty much at a point where the game development can really begin. I'm very excited to see this thing come to life!