Blog

[ do default stuff if no widgets ]

Archive for the ‘Updates’ Category

Firmware, GUI, Company Updates

Friday, June 16th, 2017

It’s been a very busy, exciting, and challenging year. I’ll give some broad updates and focus on some of the smaller details. I’m trying to be a bit better at what I’m working on, so I’m actively updating a new status board page.

Highlights

  • We welcomed our beautiful new daughter Lily Coco Kotzin into the Flirc family and team.
  • I moved the business out of the home and into an office. We’re in a great location, and it’s got plenty of room to grow.
  • Had a booth at Maker Faire in the bay area.
  • Flirc Gen2 has had a number of fixes and improvements (more later)
  • GUI Updates
  • Finally Wrote a Manual.
  • Backend Website improvements for our new product we hope to release later this year
  • Flirc Raspberry Pi Gen2 Case should be arriving to headquarters soon

All of these things within itself were major feats. I especially want to give a loving thank you to my amazing wife, who made Maker Faire possible, and without, there would be no Flirc. She gives me constant encouragement in the hardest of times, which grow in difficulty as the company grows in size.

All these release notes can be found on the Downloads Page under What’s New.

Firmware Updates

Since the release of Flirc Gen2, there have been countless challenges. A number of issues have come up that are rare, and nearly impossible to reproduce. Rather than focusing on firmware features, I’ve been hard at work solving some of the most technically challenging problems I’ve faced. If you haven’t gotten the new firmware, please do, it’s a must. Since the release, here are the main updates

  • Fixed a rare issue on windows that wouldn’t wake up the machine
  • Performance improvements
  • Algorithm improvements
  • Bug fixes
  • Fixed stuck keys
  • Fixed NEC repeats
  • Fixes for button already exists issues
  • Will wake up the machine in S2 and S3 states now too
  • Windows media center support fixes
  • Working on PS3/PS4 fixes

Things are looking good with the current release. So I’m back to working on architecture, and feature planning. To help solve customer related issues, I’m working on some improvements to save all IR signals in your room. The intention is to basically record everything that’s seen in your room in the infrared spectrum, and then reproduce it in the office so I can get to the bottom of why our unit might not be working. Right now, I basically have to buy your remote. I wont need to do that anymore. One of the resulting features that comes from this is the IR transmitter on Flirc. Work has begun on that, and I’m excited where it’s going.

Inteset

I’m also fully engaged trying to bake in Flirc support on Inteset remotes. Flirc has it’s own special IR protocol, which will guarantee not to conflict with anything else in your living room. This infact will be the same protocol the harmony remotes use.

New Built In Protocols

I’m working with both inteset and harmony to beef up the current profiles. I’d like them to add the following:

  • NVIDIA Shield
  • Plex
  • PS3/PS4
  • WMCE
  • XBox

Because the protocols are my own, I wrote some code to generate all the key codes needed. So in fact, I will release a firmware update before them that will add these devices to everyone’s flirc, and they will be supported once logitech and inteset add the codes to their databases.

Algorithm Improvements

Huge improvements were made to the algorithm today that baked in a 10x hashing performance. This is huge, and a much needed and welcome addition. Since I do my hashes in interrupt context, I needed to speed this up. This was actually a needed addition before I add remote buddy support.

GUI Updates

  • Fixed issue where firmware can be stuck in bootloader
  • Fixed a lot of issues which would cause device to show up as ‘disconnected’
  • Advanced window for gen2, shows device sku
  • Gen2 can now do ‘force upgrade’ in advanced (Good for testing out firmware and reverting back to Stable)
  • GUI intelligently shows firmware update release notes
  • Major bug fixes
  • Controller updates (WMCE)
  • Many many more (see the release notes)

One of the biggest issues I face is letting users know of new firmware updates. I have a couple ideas to fix this.

I’ll be a bit better at blog updates, and try and post bi-weekly.

Here is a pic of the family at Maker Faire, Thanks to everyone who stopped by. It’s always a pleasure and treat when someone walks by the booth, does a double take, and says, “hey! I have one of those!”


GUI and Firmware Updates

Monday, February 13th, 2017

Been pretty busy fixing bugs and pushing updates.

It’s pretty important at this point to grab the latest version of the GUI and update your second generation flircs. I’ve fixed a number of bugs, as listed below

Firmware

  • fix stuck key syndrome
  • Better NEC repeat support
  • fixes issue when host wakes from sleep (still needs work)

GUI

  • ability to show firmware differences between version_x and version_y.
  • NVIDIA Shield addition
  • XBOX remote should not have go button
  • New OS icons
  • fixed an issue with windows upgrades
  • fixed very rare occurrence of firmware getting stuck in the bootloader
  • disable advanced settings for gen2 devices, not supported yet
  • better support for semantic firmware versioning
  • better logging
  • support for loading gen1 configs on gen2 devices
  • lots of bug fixes

Updates are coming regularly. As soon as I solve the last firmware bug, which is the present on waking up from sleep, I should be on to the new features. Make sure you sign up to the news letter or follow us on twitter for announcement to those.

One more thing, Fuck Donald Trump, his corrupt cabinet, and every fucking republican defending him. They look incredibly stupid, keep doing it. I can’t wait until the traitor gets impeached.

Happy Flirc’ing.

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.

int getversion(pkt_t *request, pkt_t *response, struct dev_t *dev)
{
        ((struct version_t *)response->data)->major_version = 3;
        ((struct version_t *)response->data)->minor_version = 3;
        ((struct version_t *)response->data)->patch_version = 0;
        ((struct version_t *)response->data)->scm_hash = SCMSHORT;

        strcpy((char *)&((struct version_t *)response->data)->type,
                        build_type);
        return 0;
}
DECLARE_PKT_HANDLER(getversion);

int checkapp(pkt_t *request, pkt_t *response, struct dev_t *dev)
{
        if (dev->check_app() != 0) {
                return BOOTLOADER_RESPONSE_STATUS_FAIL;
        }

        return 0;
}
DECLARE_PKT_HANDLER(checkapp);

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

New 3.0 Beta FW

Saturday, August 23rd, 2014

I wanted to make a short announcement that I have a very stable 3.0 firmware release available to try. I’m extremely comfortable with the stability. I’ve re-written nearly everything, abstracted functions away from hardware, have a new algorithm that suppresses noise, support MCE remotes (finally), and more.

Anyone who’s eager to try it can visit the related forum page: http://forum.flirc.tv/index.php?/forum/73-firmware-30/

Or wait a week or so until it’s public. You’ll need to be a community member, any and all feedback is welcome and appreciated.

fw v2.4 released

Wednesday, April 9th, 2014

The firmware is packaged into the GUI, please download the latest release and go to advance->force firmware upgrade.

The firmware updated includes the following:

  • fixed possible stuck key or endless repeats.
  • general cleanup

Please feel free to send in feedback regarding this release.

Media Keys and Suspend Support Released

Wednesday, January 15th, 2014

The next version of the firmware has been released, v2.2 which is part of GUI v1.1.6

This new firmware supports pairing of the media keys:

pause/play, next track previous track, etc.

You can also pair the suspend key which will put your computer to sleep. This was widely requested.

There is no official pairing in the GUI as of yet, you’ll have to use the commandline which ships with the GUI on every OS.

v1.0.0-rc.5 Released For Testing

Monday, November 18th, 2013

Release Notes

Forum

v1.0.0-rc.4 Released For Testing

Thursday, August 29th, 2013

Major GUI Changes:

  • mac is now a universal binary
  • added a windows application icon
  • added windows install/uninstall icons

Most of these changes are only with the GUI stability and support. There will be at least two more releases until the final version.

Adding universal binary support was a pain. I needed to compile QT libraries again with different architecture options.  A number of issues came up which involved a few patches. Then it was a matter of elegantly getting this into the build system.

Head over to the forums to grab it, you need to register: http://forum.flirc.tv/index.php?/topic/679-download-here/

One More Thing…. We’ve got an XBMC Plugin!

Tuesday, June 25th, 2013

This was the next step into the evolution of flirc and what I had envisioned on day one. Programming flirc just got easier because the same intuitive interface is now done in a beautiful xbmc addon. The shortcuts are right there for you to pair against and customize with your remote, and you don’t need a second machine if your running openelec (example).

Head on over to our github page for the download

This is a beta release and supports all versions of firmware, please leave your feedback here.

Thank you so much Sean Poyser for writing this. He did an amazing job.

**EDIT** You can install the repo from the following URL within XBMC: http://xbmc.flirc.tv

XBMC Screeny 1

XBMC Screeny 2