remote.h
886 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#ifndef _REMOTE_H_
#define _REMOTE_H_
#define REMOTE_NEC_FORMAT
//#define REMOTE_PANASONIC_FORMAT
//#define REMOTE_CONTROL_DEBUG
//#define REMOTE_KEY_VALUE_DEBUG
//#define REMOTE_DEBUG
#define RC_TB_DEN (32 * 1000)
#define RC_TB_NUM (1000 * 1000)
#define RC_TB_VAL (RC_TB_NUM / RC_TB_DEN)
#define REMOTE_TIME_US(xus) ((xus*(RC_TB_DEN/1000)+(RC_TB_NUM/1000)/2)/(RC_TB_NUM/1000))
#define UP_TH(x,percents) ((x*(100+percents)+99)/100)
#define DOWN_TH(x,percents) (x*(100-percents)/100)
// State of the remote key decoder
#define RC_IDLE 0
#define RC_LEADER_ON 1
#define RC_LEADER_OFF 2
#define RC_DATA 3
#define RC_DATA_END 4
extern volatile U32 remote_data;
extern volatile U32 remote_key;
extern U8 remote_key_state;
extern volatile U8 remote_state;
extern volatile U8 remote_repeat_valid;
void Remote_Init(void);
void app_ir_keypress(U32 key_val);
#endif //_REMOTE_H_