remote.h 886 Bytes
#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_