====== IR Learner Protocol ====== Full documentation of the IR Learner protocol is available in this Google Doc:\\ https://docs.google.com/document/d/1BMRwD9RlUYtf4VeJNXgRwo6-lkkSAIVo8tczrynJ7CU/preview?pli=1 The CommandFusion IR Learner sends out an IR string after learning, in the following ascii format: * Bytes 1-4: Frequency Divisor (eg. 0066) * Bytes 5-X: IR Code in string format. The Frequency divisor is used to calculate the IR frequency (kHz): * Frequency = 4145.146 / Frequency Divisor Given a frequency divisor string of 0066: * Frequency = 4145.146 / \x66 * Frequency = 4145.146 / 102 * Frequency = 40.63 kHz The IR Code string following the Frequency Divisor is in the following format: * LPLPLPLP..... (repeating set of L and P) * L = Logic 01 (ON) or 00 (OFF) (two digits) * P = Period in µs (microseconds, two digits) * For the exact period, multiply the P value with 25 to get the final µs value. * eg. 016100160119 = ON for 2425µs, OFF for 550µs, ON for 625µs * The length of this string defines the length of the IR code.