Blog

[ do default stuff if no widgets ]

Archive for November, 2012

Update and Progress

Monday, November 26th, 2012

I failed to update the blog these past couple of weeks and I apologize for that. I thought I would at the very least give a brief update of progress.

Things are going very well and I’ve made tremendous  improvements to the build system. I’ve pretty much solved all technical hurdles I was struggling with and have it about 85% complete. It’s sustainable, scalable, and will allow me to cross build, deploy, and solve all my shared library issues. I have static analyzers as part of the build system and many many more improvements.

I’m at the point now where I can start ripping apart the code and improving on it. It was absolutely necessary that I fixed the build system before continuing development. My git repository was an absolute cluttered and broken mess with branches going no where.

All this time I’ve been mapping out how to restructure the firmware. My goal is to have major releases by the end of the month of both the firmware and the GUI.

I’m also completely out of inventory. I have a sample test batch coming wednesday which took the manufacturers way to long to make. Should those be good, the first 100 pre-orders will go out immediately and I will start the next major build.

On a separate note, does anyone use twitter anymore? I occasionally get new followers and am curious if people actually like twitter as a line of communication. Let me know in the comments. I haven’t used it in quite a while.

Software Progress

Monday, November 5th, 2012

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…