I have both an IR LED and a IR receiver hooked up to my Raspberry Pi Type B which is running Raspbian.
My Air Conditioner
I have a Daikin FTXS25DVMA split system air conditioner with the manufacturers remote (remote model: ARC433A46).
I also have made a home-made oscilloscope of sorts by soldering an IR Phototransistor to a cut headphone cable. This assembly is then connected to the microphone port of my Windows 7 computer. To view the waveforms of the IR signals and their timings I used software available here: www.ostan.cz/IR_protocol_analyzer/.
Types of Remotes
For this question there is an important distinction to be made between types of IR remotes. (I have no idea of their actual names if they have ones)
Button by Button
Firstly there is the common type which I am going to call 'Button by Button' which assigns a unique code or number to each button on the remote control. This code is sent every time that button is pressed (e.g. 'play' might send a code of 01010101 and 'stop' might send a code of 10101010)
Everything at Once
Secondly there is the type used with many air conditioners (like mine) which I am going to call 'Everything at Once'. This remote type sends every single setting on the remote every time a button is pressed. These codes are a lot longer than 'Button by Button' codes.
So here is my question: Does LIRC support 'Everything at Once' remotes? And, if so, how do I go about making a file for it? I can not get the
irrecord command to work with the my air conditioner's remote (my guess is that
irrecord doesn't support 'Everything at Once' remotes).
Receiving Signals from Manufacturers Remote
I have got this side of my project down. I have created a Python script which runs an instance of LIRC's
mode2 command which reads the timings, converts them to binary then extracts the settings using the protocol below.
Sending Signals to Air Conditioner
This is the part I am struggling with. I have written a Python module in C which reads from a binary string then encodes and sends using the IR LED and delays. This however, as fine tuned as I could get it, didn't work when I pointed it at my air conditioner. When I pointed it at my IR receiver above it decoded the message no problem.
So, My thoughts are that my Python module isn't accurate enough and LIRC might be.
You can download my Python module here: onedrive.live.com/redir?resid=C604C49A28DD31D!23508&authkey=!AH_ye0xItEzO6T4&ithint=file%2c.zip. To install it run
python setup.py install. To test it out run
python test.py (default pin is GPIO PIN 4 but can be changed in test.py).
I have posted my finds about the Daikin Protocol here.