[ do default stuff if no widgets ]

Archive for the ‘Software’ Category

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…



Signed Windows Driver and Updates

Monday, October 29th, 2012

With the release of windows 8, there is an issue with the Flirc drivers because they weren’t signed. Windows 8 doesn’t allow installation of unsigned drivers enforcing you to basically turn all signature recognition off. Although, it just asked me if I wanted to ‘install the driver anyways’, but nonetheless, plenty of people wrote in here.

I created signed drivers and attached them to the bottom of the forum.

I’ll make these official as soon as I get a tad bit of feedback, but they will be incorporated into the installer so you wont have to manually do an installation through device manager.

On the software front I’m still cleaning up, re-vamping my build system. Today I got working a tool called NSIS on OSX. That creates an installer for windows. Why is that awesome? From my new build system and on my mac, not only will everything get compiled and updated, but I will be able to cross compile a windows executable and then even make the installer. I don’t need windows anymore to do any development or deployment, just test.

The hardware front is going smoothly too. I updated the boards to help with yield, as I previously mentioned in my last blog entry. I’m expecting 100 sample boards to get back to test soon.

I mentioned I would follow up with how I planned on improving yield, so I’ll share that as well when I get some more time.

I’m going to make a huge effort to update the blog once a week. I want to do a better job of letting everyone know that I’m still working extremely hard on making this product perfect.

Milestone Achieved – API Done

Thursday, November 24th, 2011

We’ve finally finished our API. A special thanks to Eric who has really helped make hard work materialize into a high standard and an acceptable product.

We haven’t released this publicly for general consumption yet, although the plan is definitely to get this out on the open. I’d certainly like to put the project up on Git, which will be our set of libraries and a small example application written in QT.

Please touch base with me if you would like access to this before the public release (probably very early next year).

I will pick up work on the beta releases of the firmware. I strongly believe that the repeat issue is done, and will be working on the waking up a sleeping PC firmware.

I’m extremely pleased how well everything is maturing, and certainly hope that  it shows in nothing but a beautifully simple and easy to use product.

Wake-up Command Beta FW Released

Wednesday, November 9th, 2011

The forums are live, and pretty hot. I should have done this sooner in retrospect, but I don’t think I could have handled the additional work.

I’ve started a forum, you’ll need to register to try this out, but for those who can’t wake up their machine from sleep, this is a fix. It’s not a solution, but a temporary fix.

This temporary fix will allow you to pair a button on your remote with a special command that will tell flirc to send a ‘wake-up’ signal to the computer which is in hibernation or sleeping. This wont be needed in the future, any button will essentially do this.

Here is the link:

Wake-Up Command Beta Release Forum

Please post in the forum with questions/feedback. Don’t use this comment section of the blog.

Happy beta testing!

What’s Brewing

Tuesday, October 25th, 2011

I’m confident that the v1.0 firmware release has fixed the sleep/cold start issue described in the last post. If anyone is still experiencing this after the firmware upgrade, please, say so.

A special thank you to everyone giving me feedback and testing the non public images. I’m forever grateful for you guys, your patience, and understanding.

Here is what’s on the drawing board for the near future. There are two issues outstanding with the firmware, which I have been making slow and steady progress. Check out this page for past fw release notes, and future firmware feature release notes. This page will get updated with tentative release dates.

I will also be putting together forums. This will bring a social advantage for users to share their setups, post problems, request features, and try/discuss beta firmware releases. This has been a long time coming, but with everything quickly stabilizing, a very important necessity.

But before I start publicly releasing firmware images, I’m going to be taking a break to work on finalizing one of the most important aspects of the project, the API. We will be putting together a C API for users to integrate all of the flirc functionality in their own programs. We will also be releasing source code for a QT GUI which act as an example usage program. All in this time, the public GUI will be updated for better stability.

I will post API news and updates via the blog, as well as share when the forum goes up. Beta firmware releases will all be done in parallel, which will be available to anyone who wants to try them, but I don’t expect to integrate them into the GUI until the API and GUI are stable.

Thanks to all the great customers who make every ounce of effort worth all the hard work.

GUI Version 0.96 and FW 0.8 Released

Tuesday, August 16th, 2011

Windows is lagging a bit behind and will be posted tonight, however, the GUI is now at v v0.96 and firmware is now at v0.08

Both 64 bit Linux and 32 bit Linux were updated too, I know the 64 bit fell behind, but that shouldn’t be an issue anymore.

The GUI now displays the current firmware version as well as helps with a problem where the device can get stuck in DFU (Device Firmware Upgrade).

The latest version of the firmware has been embedded inside the GUI, and will prompt you before upgrading.

We’ve certainly come a long way, and will take the beta name off everything soon enough.


General Updates

Thursday, August 11th, 2011

My initial round of pre-orders shipped on the date promised. The version of firmware that shipped with those is 0.7, newer than what most people have, which is 0.6. Firmware 0.7 had some general enhancements related to the algorithm so that this RC6 protocol would work better. The occasional remote that doesn’t, I believe is because the remote is operating at a different modulation frequency. I’m going to get to the bottom of that soon, and if this is the case, I may add an ordering option for this.

Because the firmware works a bit differently, this may mean that people upgrading from 0.6 to newer will have to reprogram their remotes. Not the biggest deal, but something of which I tried to effortlessly avoid. There is no way to convert a users configuration file because of the how flirc works.

FW 0.8 is what will be shipped to customers via the 0.96 GUI update. However, I don’t have a handle on the bug where flirc is not detected after sleep. I can’t reproduce this problem so it’s a bit harder for me to tackle. On top of this, I’ve been pre-occupied with windows issues.

GUI v0.94 and 0.95 released. These are general stability improvements and all the download links will be at 0.95 shortly, windows will be tonight most likely.

FW 0.9 will solely address the issue where flirc isn’t being detected after a wake on sleep, unless I magically figure out what’s wrong in the next few days. Here is where you can track fw updates.

I found out why wordpress wasn’t emailing me notifications for comments, so expect quicker responses there too.

Sneak Peek at the Next Release of Awesomeness

Monday, July 18th, 2011

Here is a sneak peek on the latest features of the new software. It’s a massive overhaul of awesomeness. The new architecture will allow you to drop your own XML and Graphics file in a directory, they will automatically show up in the GUI allowing you to make new shortcut windows to share with your friends. Eric has thought about this for a while and it’s scalability is amazing and impressive.

Also included in the next release will be firmware version 0.6, nothing new, but a very important update to improve stability.

Intermediate Version Update – v0.92

Tuesday, July 12th, 2011

There was an update posted tonight for linux 32 bit, and OSX which addresses a problem when you save a configuration file. This crashed the application and also happens on windows and linux 64 bit, but those updates are coming soon.

This was a very intermediate update. I wanted to address that issue before the next release which is going to be big, I’ll post about that in a couple of days as it rightfully deserves it’s own article.

Flirc v0.91 Linux 64 bit released

Monday, June 27th, 2011

I’ve updated the 64 bit linux binaries, although you can download the 32 bit deb file and install it just fine on a 64 bit OS.

The reason this would work is because I’ve temporarily given up on static linking. I don’t know why, but for some reason, the static compile of the QT GUI was horribly slow, and created artifacts on the screen. I eventually compiled the libraries again with a bunch more options enabled and got the application to run without the artifacts, but it was still extremely slow. I felt it was not acceptable in the standard of quality I want to set. So I bit the bullet and compiled dynamically adding all the necessary dependencies.

The font also doesn’t look funny in the GUI anymore, so overall, I may just leave it like this. I spent far too much time compiling the QT libraries, and I’ve got more important things to do.

Here is our list of goals:

1. Finish filing patent on proprietary algorithm powering flirc.

2. New version of GUI with more programming views

3. Update video with new GUI on home page.

4. Documentation and Help Section of the Site

5. Firmware wake from suspend support

6. Firmware repeat key detects