View Single Post
Copernicus's Avatar
Posts: 1,986 | Thanked: 7,698 times | Joined on Dec 2010 @ Dayton, Ohio
#1143
Originally Posted by chewster View Post
The problem in my case of course is that I don't want to touch the N900 (ever). I read through some of the history on this thread and through your documentation. Did you ever get a CLI running?
No, I still have no CLI for Pierogi as yet. My problem has always been "how does the user specify the keyset and key they want to use"?

The LIRC server gets away with this by only loading a single keyset config file at a time, and letting the user match keyname strings against what is written in that file. Unfortunately, Pierogi has something like 700 keysets now, with more than 200 possible keys to be defined within each keyset (not including the many commands that I haven't yet matched up to a key). So, exposing all that information to the user, and doing so in a way that doesn't break their scripts every time I come out with an update, is something of a challenge.

(But yeah, you might want to check out using LIRC -- if you're only interested in controlling a single device, the LIRC already does everything you want, and you can control it completely from the command line.)

That said, I've been picking away at the half-broken Pierogi macro system for the last few days... A macro is really just an automated script telling Pierogi which keys to press; there's no reason you couldn't just specify a macro on the command line. That would allow me to hide all the ugly details where the macro is specified. I'll see if I can't get something working...

I've looked through your source, but I can't wrap my head around how the protocols actually work (Kaseikyo using the PanasonicAudio2 keyset; working flawless on Panasonic SA-AK40).
Ah, well, most of the code involved in one of Pierogi's "protocols" involves setting up a "device" value and a "command" value into a particular sequence (sometimes with a few extra numbers thrown in), which then gets converted to binary values. This lets me store just the actual command values as a keyset.

The LIRC doesn't bother with this, and its config files store the entire string of numbers that get converted to binary, without bothering to try to figure out what part is a device value or a command value or whatever. Easier to wrap your head around what is actually being sent that way, if you prefer...

I'm assuming that if I modprobe the lirc0 device and echo a proper array to it that it would actually transmit?
Indeed! The infrared device driver has gotta be one of the simplest devices ever created. Fun to play with...

EDIT: Well, maybe not a bare array; I suppose you'll still need to make some kind of function call to properly communicate with it. It's still one of the simplest device drivers out there, though.

Lastly, really well done on this app! Not only is it really well designed and implemented, but your commitment to the app and the users is truly amazing and impressive.
Thanks! But, I shall let you in on a little secret: the primary user of Pierogi is me! All you folks out there using it and telling me what does and does not work, are merely allowing me to perfect a single device that can CONTROL EVERYTHING AND TAKE OVER THE WORLD!!! Bwa ha ha ha ha!!!

Ahem. Anyway, I'm glad you're enjoying the app.

Last edited by Copernicus; 2014-04-13 at 18:33.
 

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