changed tag definition in ac decoding algorithms
w
This commit is contained in:
@@ -3,7 +3,7 @@ Filename: irda_parse_forbidden_info.h
|
||||
Revised: Date: 2016-10-05
|
||||
Revision: Revision: 1.0
|
||||
|
||||
Description: This file provides algorithms for IR decode for TAG 1002
|
||||
Description: This file provides algorithms for forbidden area of AC code
|
||||
|
||||
Revision log:
|
||||
* 2016-10-05: created by strawmanbobi
|
||||
@@ -14,8 +14,8 @@ Revision log:
|
||||
*/
|
||||
#include "irda_decode.h"
|
||||
|
||||
#ifndef _IRDA_PARSE_PARSE_150X_H_
|
||||
#define _IRDA_PARSE_PARSE_150X_H_
|
||||
#ifndef _IRDA_PARSE_PARSE_H_
|
||||
#define _IRDA_PARSE_PARSE_H_
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
@@ -33,11 +33,11 @@ extern "C"
|
||||
/*
|
||||
* public function declaration
|
||||
*/
|
||||
extern INT8 parse_nmode_150x(struct tag_head *tag, ac_n_mode index);
|
||||
extern INT8 parse_nmode(struct tag_head *tag, ac_n_mode index);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif // _IRDA_PARSE_PARSE_150X_H_
|
||||
#endif // _IRDA_PARSE_PARSE_H_
|
||||
|
||||
|
||||
@@ -33,23 +33,23 @@ extern "C"
|
||||
/*
|
||||
* public function declaration
|
||||
*/
|
||||
extern INT8 parse_bootcode_300(struct tag_head *tag);
|
||||
extern INT8 parse_bootcode(struct tag_head *tag);
|
||||
|
||||
extern INT8 parse_zero_301(struct tag_head *tag);
|
||||
extern INT8 parse_zero(struct tag_head *tag);
|
||||
|
||||
extern INT8 parse_one_302(struct tag_head *tag);
|
||||
extern INT8 parse_one(struct tag_head *tag);
|
||||
|
||||
extern INT8 parse_delaycode_303(struct tag_head *tag);
|
||||
extern INT8 parse_delaycode(struct tag_head *tag);
|
||||
|
||||
extern INT8 parse_framelen_304(struct tag_head *tag, UINT16 len);
|
||||
extern INT8 parse_framelen(struct tag_head *tag, UINT16 len);
|
||||
|
||||
extern INT8 parse_endian_306(struct tag_head *tag);
|
||||
extern INT8 parse_endian(struct tag_head *tag);
|
||||
|
||||
extern INT8 parse_lastbit_307(struct tag_head *tag);
|
||||
extern INT8 parse_lastbit(struct tag_head *tag);
|
||||
|
||||
extern INT8 parse_repeat_times_1508(struct tag_head *tag);
|
||||
extern INT8 parse_repeat_times(struct tag_head *tag);
|
||||
|
||||
extern INT8 parse_bitnum_1509(struct tag_head *tag);
|
||||
extern INT8 parse_bitnum(struct tag_head *tag);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
||||
@@ -36,35 +36,35 @@ extern "C"
|
||||
|
||||
extern INT8 parse_common_ac_parameter(t_tag_head *tag, tag_comp *comp_data, UINT8 with_end, UINT8 type);
|
||||
|
||||
extern INT8 parse_defaultcode_1002(struct tag_head *tag, ac_hex *default_code);
|
||||
extern INT8 parse_defaultcode(struct tag_head *tag, ac_hex *default_code);
|
||||
|
||||
extern INT8 parse_power_1_1001(struct tag_head *tag, power_1 *power1);
|
||||
extern INT8 parse_power_1(struct tag_head *tag, power_1 *power1);
|
||||
|
||||
extern INT8 parse_temp_1_1003(struct tag_head *tag, temp_1 *temp1);
|
||||
extern INT8 parse_temp_1(struct tag_head *tag, temp_1 *temp1);
|
||||
|
||||
extern INT8 parse_mode_1_1004(struct tag_head *tag, mode_1 *mode1);
|
||||
extern INT8 parse_mode_1(struct tag_head *tag, mode_1 *mode1);
|
||||
|
||||
extern INT8 parse_speed_1_1005(struct tag_head *tag, speed_1 *speed1);
|
||||
extern INT8 parse_speed_1(struct tag_head *tag, speed_1 *speed1);
|
||||
|
||||
extern INT8 parse_swing_1_1007(struct tag_head *tag, swing_1 *swing1, UINT16 swing_count);
|
||||
extern INT8 parse_swing_1(struct tag_head *tag, swing_1 *swing1, UINT16 swing_count);
|
||||
|
||||
extern INT8 parse_checksum_1008(struct tag_head *tag, tchecksum *checksum);
|
||||
extern INT8 parse_checksum(struct tag_head *tag, tchecksum *checksum);
|
||||
|
||||
extern INT8 parse_function_1_1010(struct tag_head *tag, function_1 *function1);
|
||||
extern INT8 parse_function_1_tag29(struct tag_head *tag, function_1 *function1);
|
||||
|
||||
extern INT8 parse_temp_2_1011(struct tag_head *tag, temp_2 *temp2);
|
||||
extern INT8 parse_temp_2(struct tag_head *tag, temp_2 *temp2);
|
||||
|
||||
extern INT8 parse_mode_2_1012(struct tag_head *tag, mode_2 *mode2);
|
||||
extern INT8 parse_mode_2(struct tag_head *tag, mode_2 *mode2);
|
||||
|
||||
extern INT8 parse_speed_2_1013(struct tag_head *tag, speed_2 *speed2);
|
||||
extern INT8 parse_speed_2(struct tag_head *tag, speed_2 *speed2);
|
||||
|
||||
extern INT8 parse_swing_2_1015(struct tag_head *tag, swing_2 *swing2, UINT16 swing_count);
|
||||
extern INT8 parse_swing_2(struct tag_head *tag, swing_2 *swing2, UINT16 swing_count);
|
||||
|
||||
extern INT8 parse_function_2_1016(struct tag_head *tag, function_2 *function2);
|
||||
extern INT8 parse_function_2_tag34(struct tag_head *tag, function_2 *function2);
|
||||
|
||||
extern INT8 parse_swing_info_1506(struct tag_head *tag, swing_info *si);
|
||||
extern INT8 parse_swing_info(struct tag_head *tag, swing_info *si);
|
||||
|
||||
extern INT8 parse_solo_code_1009(struct tag_head *tag, solo_code *sc);
|
||||
extern INT8 parse_solo_code(struct tag_head *tag, solo_code *sc);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
||||
@@ -14,22 +14,19 @@ Revision log:
|
||||
#include <stdio.h>
|
||||
#include "irda_defs.h"
|
||||
|
||||
#define TAG_COUNT_FOR_PROTOCOL 29
|
||||
#define TAG_COUNT_FOR_BC_PROTOCOL 20
|
||||
#define TAG_COUNT_FOR_PROTOCOL 29
|
||||
|
||||
#define KEY_COUNT 15
|
||||
#define EXPECTED_MEM_SIZE 1024
|
||||
|
||||
#define EXPECTED_MEM_SIZE 1024
|
||||
#define TAG_INVALID 0xffff
|
||||
#define MAX_DELAYCODE_NUM 16
|
||||
#define MAX_BITNUM 16
|
||||
|
||||
#define TAG_INVALID 0xffff
|
||||
#define MAX_DELAYCODE_NUM 16
|
||||
#define MAX_BITNUM 16
|
||||
#define IR_DECODE_FAILED (-1)
|
||||
#define IR_DECODE_SUCCEEDED (0)
|
||||
|
||||
#define IR_DECODE_FAILED (-1)
|
||||
#define IR_DECODE_SUCCEEDED (0)
|
||||
|
||||
#define AC_PARAMETER_TYPE_1 0
|
||||
#define AC_PARAMETER_TYPE_2 1
|
||||
#define AC_PARAMETER_TYPE_1 0
|
||||
#define AC_PARAMETER_TYPE_2 1
|
||||
|
||||
typedef enum
|
||||
{
|
||||
@@ -161,65 +158,65 @@ typedef struct _tag_comp_type_1
|
||||
UINT8 *segment;
|
||||
} tag_comp;
|
||||
|
||||
typedef struct _tag_1506_swing_info
|
||||
typedef struct _tag_swing_info
|
||||
{
|
||||
swing_type type;
|
||||
UINT8 mode_count;
|
||||
UINT8 dir_index;
|
||||
} swing_info;
|
||||
|
||||
typedef struct _tag_1001_power_1
|
||||
typedef struct _tag_power_1
|
||||
{
|
||||
UINT8 len;
|
||||
tag_comp comp_data[AC_POWER_MAX];
|
||||
} power_1;
|
||||
|
||||
typedef struct _tag_1003_temp_1
|
||||
typedef struct _tag_temp_1
|
||||
{
|
||||
UINT8 len;
|
||||
UINT8 type;
|
||||
tag_comp comp_data[AC_TEMP_MAX];
|
||||
} temp_1;
|
||||
|
||||
typedef struct tag_1004_mode_1
|
||||
typedef struct tag_mode_1
|
||||
{
|
||||
UINT8 len;
|
||||
tag_comp comp_data[AC_MODE_MAX];
|
||||
} mode_1;
|
||||
|
||||
typedef struct tag_1005_speed_1
|
||||
typedef struct tag_speed_1
|
||||
{
|
||||
UINT8 len;
|
||||
tag_comp comp_data[AC_WS_MAX];
|
||||
} speed_1;
|
||||
|
||||
typedef struct tag_1007_swing_1
|
||||
typedef struct tag_swing_1
|
||||
{
|
||||
UINT8 len;
|
||||
UINT16 count;
|
||||
tag_comp *comp_data;
|
||||
} swing_1;
|
||||
|
||||
typedef struct tag_1011_temp_2
|
||||
typedef struct tag_temp_2
|
||||
{
|
||||
UINT8 len;
|
||||
UINT8 type;
|
||||
tag_comp comp_data[AC_TEMP_MAX];
|
||||
} temp_2;
|
||||
|
||||
typedef struct tag_1012_mode_2
|
||||
typedef struct tag_mode_2
|
||||
{
|
||||
UINT8 len;
|
||||
tag_comp comp_data[AC_MODE_MAX];
|
||||
} mode_2;
|
||||
|
||||
typedef struct tag_1013_speed_2
|
||||
typedef struct tag_speed_2
|
||||
{
|
||||
UINT8 len;
|
||||
tag_comp comp_data[AC_WS_MAX];
|
||||
} speed_2;
|
||||
|
||||
typedef struct tag_1015_swing_2
|
||||
typedef struct tag_swing_2
|
||||
{
|
||||
UINT8 len;
|
||||
UINT16 count;
|
||||
@@ -227,7 +224,7 @@ typedef struct tag_1015_swing_2
|
||||
} swing_2;
|
||||
|
||||
#if defined SUPPORT_HORIZONTAL_SWING
|
||||
typedef struct tag_1006_horiswing_1
|
||||
typedef struct tag_horiswing_1
|
||||
{
|
||||
UINT16 len;
|
||||
tag_comp comp_data[AC_HORI_SWING_MAX];
|
||||
@@ -384,43 +381,41 @@ typedef struct REMOTE_AC_STATUS
|
||||
// function polymorphism
|
||||
typedef INT8 (*lp_apply_ac_parameter) (remote_ac_status_t ac_status, UINT8 function_code);
|
||||
|
||||
#define TAG_AC_POWER_1 1001
|
||||
#define TAG_AC_DEFAULT_CODE 1002
|
||||
#define TAG_AC_TEMP_1 1003
|
||||
#define TAG_AC_MODE_1 1004
|
||||
#define TAG_AC_SPEED_1 1005
|
||||
#define TAG_AC_SWING_1 1007
|
||||
|
||||
#define TAG_AC_CHECKSUM_TYPE 1008
|
||||
|
||||
#define TAG_AC_TEMP_2 1011
|
||||
#define TAG_AC_MODE_2 1012
|
||||
#define TAG_AC_SPEED_2 1013
|
||||
#define TAG_AC_SWING_2 1015
|
||||
|
||||
#define TAG_AC_SOLO_FUNCTION 1009
|
||||
#define TAG_AC_BOOT_CODE 1
|
||||
#define TAG_AC_ZERO 2
|
||||
#define TAG_AC_ONE 3
|
||||
#define TAG_AC_DELAY_CODE 4
|
||||
#define TAG_AC_FRAME_LENGTH 5
|
||||
#define TAG_AC_ENDIAN 6
|
||||
#define TAG_AC_LASTBIT 7
|
||||
|
||||
#define TAG_AC_FUNCTION_1 1010
|
||||
#define TAG_AC_FUNCTION_2 1016
|
||||
#define TAG_AC_POWER_1 21
|
||||
#define TAG_AC_DEFAULT_CODE 22
|
||||
#define TAG_AC_TEMP_1 23
|
||||
#define TAG_AC_MODE_1 24
|
||||
#define TAG_AC_SPEED_1 25
|
||||
#define TAG_AC_SWING_1 26
|
||||
#define TAG_AC_CHECKSUM_TYPE 27
|
||||
#define TAG_AC_SOLO_FUNCTION 28
|
||||
#define TAG_AC_FUNCTION_1 29
|
||||
#define TAG_AC_TEMP_2 30
|
||||
#define TAG_AC_MODE_2 31
|
||||
#define TAG_AC_SPEED_2 32
|
||||
#define TAG_AC_SWING_2 33
|
||||
#define TAG_AC_FUNCTION_2 34
|
||||
|
||||
#define TAG_AC_SWING_INFO 1506
|
||||
#define TAG_AC_BAN_FUNCTION_IN_COOL_MODE 41
|
||||
#define TAG_AC_BAN_FUNCTION_IN_HEAT_MODE 42
|
||||
#define TAG_AC_BAN_FUNCTION_IN_AUTO_MODE 43
|
||||
#define TAG_AC_BAN_FUNCTION_IN_FAN_MODE 44
|
||||
#define TAG_AC_BAN_FUNCTION_IN_DRY_MODE 45
|
||||
#define TAG_AC_SWING_INFO 46
|
||||
#define TAG_AC_REPEAT_TIMES 47
|
||||
#define TAG_AC_BITNUM 48
|
||||
|
||||
#define TAG_AC_BOOT_CODE 300
|
||||
#define TAG_AC_ZERO 301
|
||||
#define TAG_AC_ONE 302
|
||||
#define TAG_AC_DELAY_CODE 303
|
||||
#define TAG_AC_FRAME_LENGTH 304
|
||||
#define TAG_AC_REPEAT_TIMES 1508
|
||||
#define TAG_AC_BITNUM 1509
|
||||
|
||||
#define TAG_AC_ENDIAN 306
|
||||
#define TAG_AC_LASTBIT 307
|
||||
|
||||
#define TAG_AC_BAN_FUNCTION_IN_COOL_MODE 1501
|
||||
#define TAG_AC_BAN_FUNCTION_IN_HEAT_MODE 1502
|
||||
#define TAG_AC_BAN_FUNCTION_IN_AUTO_MODE 1503
|
||||
#define TAG_AC_BAN_FUNCTION_IN_FAN_MODE 1504
|
||||
#define TAG_AC_BAN_FUNCTION_IN_DRY_MODE 1505
|
||||
|
||||
// definition about size
|
||||
|
||||
|
||||
@@ -9,26 +9,22 @@ Revision log:
|
||||
* 2016-10-21: created by strawmanbobi
|
||||
**************************************************************************************************/
|
||||
|
||||
#ifndef _IRDA_H_
|
||||
#define _IRDA_H_
|
||||
|
||||
/**************************************************************************************************
|
||||
* INCLUDES
|
||||
**************************************************************************************************/
|
||||
|
||||
#ifndef _IRDA_LIB_H_
|
||||
#define _IRDA_LIB_H_
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
/*
|
||||
* inclusions
|
||||
*/
|
||||
#include "irda_defs.h"
|
||||
|
||||
/**************************************************************************************************
|
||||
* MACROS
|
||||
**************************************************************************************************/
|
||||
|
||||
/*
|
||||
* macros and constants
|
||||
*/
|
||||
|
||||
|
||||
|
||||
|
||||
/**************************************************************************************************
|
||||
* CONSTANTS
|
||||
**************************************************************************************************/
|
||||
#define STB_CHANNEL_OFFSET 14
|
||||
|
||||
#define IRDA_FLAG_NORMAL 0
|
||||
@@ -47,11 +43,9 @@ enum
|
||||
IRDA_DECODE_4_BITS,
|
||||
};
|
||||
|
||||
/**************************************************************************************************
|
||||
* GLOBAL DATA TYPES
|
||||
**************************************************************************************************/
|
||||
|
||||
//======================== IRDA protocol definition =============================
|
||||
/*
|
||||
* global type definitions
|
||||
*/
|
||||
typedef enum irda_flags
|
||||
{
|
||||
IRDA_BOOT = 0,
|
||||
@@ -94,7 +88,6 @@ typedef struct irda_cycles
|
||||
} irda_cycles_t;
|
||||
#pragma pack()
|
||||
|
||||
//================================== TV ==================================
|
||||
typedef enum tv_key_value
|
||||
{
|
||||
TV_POWER = 0,
|
||||
@@ -124,7 +117,7 @@ typedef enum tv_key_value
|
||||
TV_KEY_MAX,
|
||||
} tv_key_value_t;
|
||||
|
||||
//================================== STB ==================================
|
||||
|
||||
typedef enum stb_key_value
|
||||
{
|
||||
STB_POWER = 0,
|
||||
@@ -154,7 +147,6 @@ typedef enum stb_key_value
|
||||
STB_KEY_MAX,
|
||||
} stb_key_value_t;
|
||||
|
||||
//================================== NW ==================================
|
||||
typedef enum nw_key_value
|
||||
{
|
||||
NW_POWER = 0,
|
||||
@@ -181,7 +173,6 @@ typedef enum nw_key_value
|
||||
NW_KEY_MAX,
|
||||
} nw_key_value_t;
|
||||
|
||||
//================================== COMMON ==================================
|
||||
typedef enum cm_key_value
|
||||
{
|
||||
CM_POWER = 0,
|
||||
@@ -209,45 +200,17 @@ typedef struct irda_data_tv
|
||||
} irda_data_tv_t;
|
||||
|
||||
|
||||
/**************************************************************************************************
|
||||
* GLOBAL VARIABLES
|
||||
**************************************************************************************************/
|
||||
/*
|
||||
* export functions
|
||||
*/
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/**************************************************************************************************
|
||||
* EXTERNAL VARIABLES
|
||||
**************************************************************************************************/
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/**************************************************************************************************
|
||||
* GLOBAL TABLES
|
||||
**************************************************************************************************/
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/**************************************************************************************************
|
||||
* EXTERNAL FUNCTIONS
|
||||
**************************************************************************************************/
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/**************************************************************************************************
|
||||
* GLOBAL FUNCTION PROTOTYPES
|
||||
**************************************************************************************************/
|
||||
extern INT8 tv_lib_open(UINT8* binary, UINT16 binary_length);
|
||||
extern BOOL tv_lib_parse(UINT8 encode_type);
|
||||
extern UINT16 tv_lib_control(UINT8 key, UINT16 *user_data);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _IRDA_H_ */
|
||||
#endif /* _IRDA_LIB_H_ */
|
||||
|
||||
|
||||
Reference in New Issue
Block a user