Blog

[ do default stuff if no widgets ]

Archive for the ‘Software’ Category

Flircs Shipped and Software Posted

Thursday, December 8th, 2016

Just in time for everyone to get their gorgeous new flircs, the software has been updated to a new major release, v2.0.0

While everything generally will look and feel the same, there are substantial changes under the hood. The GUI and Firmware will be refreshed very frequently, and in doing so, I am looking to hire someone that can help with the front end and push forward new ideas/products.

One of the most exciting new features about the new Flirc is that it we no longer need any windows drivers. No more bullshit with windows and zadig, it’s just going to work. This was done by using a custom HID device and sending data over Report IDs. But it’s so much cooler than that. Months were spent architecting a solution that is abstracted away from the hardware and away from the physical transport. What this means is that we can send packets and data to a device, regardless of weather the physical transport is USB, Bluetooth, Wifi, Serial, I2C, etc. The device just needs a supported stub, and everything just works.

Below is a snippet of some firmware code. This is just awesome. Before, when we wanted to talk to the firmware, we’d have to hijack a bunch of USB crap and everytime we wanted to add a new command, it would be a ton of work on both the host and the device. The below essentially instantiates a command called get version. Every time a new command is received on the device, the handlers are iterated through, and run if found, run. The best part about all of this, is that the code below doesn’t care if the USB packet handler called it, or some other transport. Why this is important will be clear down the line as we release new products.

The new flirc and software fully embraces this philosophy of portable code. The entire firmware is architected using a modular approach. All the code that makes flirc, flirc, is done in ANSI portable C, completely done outside the notion of the hardware that it’s running on. The firmware was over a year of planning and can run on hardware outside the processor chosen. We can switch on a whim’s notice if needed.

I will also be working on solidifying and publishing the API, and fixing up various aspects of the site that have been lagging.
Just a note, that the sparkle self updater on mac is currently broken. I currently believe this is due to an incompatibility in Sierra, and I will need to update the embedded library. I will be looking at this shortly.

Also currently not up to date are the statically compiled linux builds. These will be posted within the next 24 hours. The ubuntu, linux, and mac releases are all the latest. Write in for any trouble here:

http://www.flirc.tv/contact

New Release Candidate, built in Amazon FireTV Controller

Monday, September 15th, 2014

Head over to the forums and try out the latest release. Firmware 3.0 is shaping up nicely, a ton of stuff was fixed, and I’ve got a beautiful amazon firetv controller in the GUI to help you pair your remote to use with the amazon firetv.

Screen Shot 2014-09-15 at 11.32.15 PM

v1.0.0-rc.5 Released For Testing

Monday, November 18th, 2013

Release Notes

Forum

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…

 

 

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.