Software Progress
As promised, I wanted to give everyone an update.
Not a big one today, I’m still working on the software build system, which isn’t done. Getting stuck on a technical problem, I took a break from that and am working on firmware development.
I’m re-structuring all my code so I can solve these bugs with sleep, sticky buttons, and long presses. I’ve begun strengthening my algorithm to better support other remotes and so you don’t have to record keys twice with the RC6 protocol. I’ve also completely revamped things a bit so the firmware works differently. Previously, the firmware would set an interrupt back to the host on the event of a button being recorded. Anyone familiar with libusb, set_interrupt(), this function blocking. Which means that in order to write the host side software, I needed a separate thread to wait in set_interrupt. This isn’t good and made my API terrible, confusing, and easy to get wrong when I release the software.
Now, the flirc firmware uses a state machine for recording. The host PC can ask flirc the current ‘state’ in a polled mode, which means that I don’t need a separate thread.
This doesn’t mean much for customers other than it’s the beginning of me getting back into firmware development. For developers looking to integrate flirc into products, this actually means a lot.
I’ve also begun working on something ultra cool, and I’ve got some of that up and running. Hopefully I can make an announcement in a couple of weeks.
Until next week…
November 5th, 2012 at 10:24 am
Nice to hear stuff from “behind the scenes”
November 5th, 2012 at 11:20 am
Thanks for the update, very appreciated!
November 6th, 2012 at 3:43 pm
Firmware! My favorite code to write–glad to hear you’re cleaning it up to make it easier for the future.
November 7th, 2012 at 7:32 am
Thanks for the update!
As a software engineer I appreciate the nerdy details 🙂