I'm currently adding support for a transmitter to the WinLirc port of
Lirc. I'm having a small timing problem. It seems that the timing is
different for sending and receiving. When I learn commands from my remote
I get a config file, but when I send it to my CD player, it doesn't work.
I found timings on a website for a similar device (measured with an
oscilloscope). When I used these numbers, it worked well, for both sending
and receiving. I looked at the contributed remotes, and it seems that
other people's devices are learning the codes in a similiar manner to mine.
Is this normal? If so has anyone figured out a way to calculate what the
actual codes should be?
I assume that this problem is caused by the detector module having having
a risetime that differs from its falltime. Of course its also possible
that I have a bug. My transmitter isn't powerful enough (Yet) for me to
learn the code with my learning remote, so I haven't been able to compare
my transmitter to the remote. I'm using the serial port, with the radio
shack detector module, and an ir_led for a transmitter (soft carrier).
This is an old Sony CD player remote. I'm sending the codes three times,
because that's what my remote does. (I guess my fingers aren't as fast as
some people here). At any rate the Sony CD player only responds when a
code is sent at least twice in a row, although the space between the two
codes can be very long, and it'll still work. (this is irrelevent to this
topic but should answer some other people's questions).
Here are the parameters that I learned with LIRC:
header 2503 419
one 680 485
zero 1287 485
These are the ones which work for sending and receiving:
header 2500 700
one 700 700
zero 1300 700
contributed remotes seem to have space lengths of around 550 or 600.
I'd guess from this that the falltime (pulse->space) is slower than the
risetime(space->pulse), and that additionally the timer used on my computer
when detecting signals is a bit slow (or being truncated).
Anyway I'd be interested to here your comments. Also if anyone would like
to help, please let me know.