View Single Post
Copernicus's Avatar
Posts: 1,986 | Thanked: 7,698 times | Joined on Dec 2010 @ Dayton, Ohio
#786
I've once again learned a basic fact of nature -- when you start adding more agressive changes to a large project, yet reduce the total available coding time, things get bogged down. In my attempt to take full control of the keyboard, I started creating my own custom tabbed window class, and started getting bogged down in the details of overriding the Qt virtual methods...

Anyway, the solution to this basic fact of nature is to add more coding time and make less agressive changes. So, I'm doing that now. While I'm taking another look at my keyboard implementation, I've gone ahead and created a new update with a few minor changes. The biggest addition would be the new "Advanced Settings" panel (found in the new "Advanced Settings" tab collection), which allows you to modify the carrier frequency and duty cycle of the protocol currently in use. I've set up the carrier frequency to go between 30000 and 60000 Hz; this is pretty much the range of most consumer IR devices. The duty cycle can vary from 5% to 95% (the device driver doesn't let you choose 0 or 100%, which makes sense).

Let me note that these values are not yet stored persistently; closing Pierogi or switching between keysets will cause them to be reset to the default values. But, at least, you can test out different values to see what their effect will be. (With luck, an appropriately tweaked carrier frequency may fix some of the range problems we've been seeing with certain devices.)

I've only played with the settings a little bit, so far. My Sanyo TV does start to fail to recognize commands when you move a few thousand Hz up or down. (It also doesn't like when you push the duty cycle too high.) On the other hand, my Mac Mini is amazing -- it doesn't seem to give a care what the duty cycle is (from 5% to 95%), and I have to push the carrier frequency all the way up near 60000 Hz before it starts to drop commands. So, some devices are very tolerant of off-spec timing!

I've also added a few more buttons to the Input panel (including the HDD input key), and added the Input panel back to the TV panel collection. (I made room for it by dropping the Adjust panel down to the Video Media collection, even though it really doesn't fit there...) Anyway, I really do need to do some more work cleaning up the panel collections.

And as always, new keysets: I've made a first pass at keysets for Medi@link, Multichoice, and NEC, and added new keysets to ADB, LG, Mitsubishi, and Pioneer. (This includes a collection of projectors, some home theater systems, and a car stereo keyset.)

The update should be in the extras-devel repository soon. Please post or pm me if you find bugs!

Last edited by Copernicus; 2012-10-25 at 05:06. Reason: Gotta get my Hz units straight!
 

The Following 11 Users Say Thank You to Copernicus For This Useful Post: