Loading...
Searching...
No Matches
infrared_protocol_rc6_i.h
1#pragma once
2
3#include "../common/infrared_common_i.h"
4
5#define INFRARED_RC6_CARRIER_FREQUENCY 36000
6#define INFRARED_RC6_DUTY_CYCLE 0.33
7
8#define INFRARED_RC6_PREAMBLE_MARK 2666
9#define INFRARED_RC6_PREAMBLE_SPACE 889
10#define INFRARED_RC6_BIT 444 // half of time-quant for 1 bit
11#define INFRARED_RC6_PREAMBLE_TOLERANCE 200 // us
12#define INFRARED_RC6_BIT_TOLERANCE 120 // us
13/* protocol allows 2700 silence, but it is hard to send 1 message without repeat */
14#define INFRARED_RC6_SILENCE (2700 * 10)
15#define INFRARED_RC6_MIN_SPLIT_TIME 2700
16#define INFRARED_RC6_REPEAT_COUNT_MIN 1
17
18extern const InfraredCommonProtocolSpec infrared_protocol_rc6;
19
20bool infrared_decoder_rc6_interpret(InfraredCommonDecoder* decoder);
21InfraredStatus infrared_decoder_rc6_decode_manchester(
22 InfraredCommonDecoder* decoder,
23 bool level,
24 uint32_t timing);
25InfraredStatus infrared_encoder_rc6_encode_manchester(
26 InfraredCommonEncoder* encoder_ptr,
27 uint32_t* duration,
28 bool* polarity);
Definition infrared_common_i.h:42
Definition infrared_common_i.h:55
Definition infrared_common_i.h:18