I have written a Manchester Signal Processor with an associated RC6 and RC5 decoder. The software is written in C# and runs on a Netduino Plus 2. The code is largely focused on interpreting the RC6 Mode 6 IR pulse codes sent by an SKY+ IR remote control - however it should work with minimal adaptation to interpreting the pulses sent by any RC5 or RC6 Philips TV IR remote control.
Capabilities
- The IR pulses, suitably decoded from the 38KHz carrier, are input as digital square wave pulses of varying widths on a standard Netduino Plus 2 GPIO pin.
- A software based Manchester signal decoder reads the pulses and records the rising and falling edges of the pulses as time intervals.
- Software decoders are implemented to interpret the time interval array and detect the presence of RC6 and RC5 signals within it.
- Once detected, the bits within the RC5 or RC6 signal are resolved and made publicly available to other routines.
- The full content of the transmitted RC5 and RC6 pulses is contained in a 4 byte Int32 value.
- All control, device, mode, trailer and information field content in the IR signal including the protocol type (RC5 or RC6) is present in the four output bytes.
- All processing is done within an interrupt into static fields. No objects are routinely created and destroyed to process the signal, hence overheads such as garbage collection are minimized.
- The code is written to be quite efficient in both memory and cpu requirements.
- The IRSky software can handle intermixed RC5 and RC6 signals.
- Tested on a Netduino Plus 2.
- The software is written in C#. A Visual Studio 2010 solution and project are included with the source code.
- The PC requires the Microsoft Micro Framework 4.2 to be installed.
The software is offered as open source code under the terms of the MIT License.
http://www.OfItselfS...IRSky/IRSky.php