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
|
Revised: Date: 2016-10-05
|
||||||
Revision: Revision: 1.0
|
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:
|
Revision log:
|
||||||
* 2016-10-05: created by strawmanbobi
|
* 2016-10-05: created by strawmanbobi
|
||||||
@@ -14,8 +14,8 @@ Revision log:
|
|||||||
*/
|
*/
|
||||||
#include "irda_decode.h"
|
#include "irda_decode.h"
|
||||||
|
|
||||||
#ifndef _IRDA_PARSE_PARSE_150X_H_
|
#ifndef _IRDA_PARSE_PARSE_H_
|
||||||
#define _IRDA_PARSE_PARSE_150X_H_
|
#define _IRDA_PARSE_PARSE_H_
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C"
|
extern "C"
|
||||||
@@ -33,11 +33,11 @@ extern "C"
|
|||||||
/*
|
/*
|
||||||
* public function declaration
|
* 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
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif // _IRDA_PARSE_PARSE_150X_H_
|
#endif // _IRDA_PARSE_PARSE_H_
|
||||||
|
|
||||||
|
|||||||
@@ -33,23 +33,23 @@ extern "C"
|
|||||||
/*
|
/*
|
||||||
* public function declaration
|
* 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
|
#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_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
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,22 +14,19 @@ Revision log:
|
|||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include "irda_defs.h"
|
#include "irda_defs.h"
|
||||||
|
|
||||||
#define TAG_COUNT_FOR_PROTOCOL 29
|
#define TAG_COUNT_FOR_PROTOCOL 29
|
||||||
#define TAG_COUNT_FOR_BC_PROTOCOL 20
|
|
||||||
|
|
||||||
#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 IR_DECODE_FAILED (-1)
|
||||||
#define MAX_DELAYCODE_NUM 16
|
#define IR_DECODE_SUCCEEDED (0)
|
||||||
#define MAX_BITNUM 16
|
|
||||||
|
|
||||||
#define IR_DECODE_FAILED (-1)
|
#define AC_PARAMETER_TYPE_1 0
|
||||||
#define IR_DECODE_SUCCEEDED (0)
|
#define AC_PARAMETER_TYPE_2 1
|
||||||
|
|
||||||
#define AC_PARAMETER_TYPE_1 0
|
|
||||||
#define AC_PARAMETER_TYPE_2 1
|
|
||||||
|
|
||||||
typedef enum
|
typedef enum
|
||||||
{
|
{
|
||||||
@@ -161,65 +158,65 @@ typedef struct _tag_comp_type_1
|
|||||||
UINT8 *segment;
|
UINT8 *segment;
|
||||||
} tag_comp;
|
} tag_comp;
|
||||||
|
|
||||||
typedef struct _tag_1506_swing_info
|
typedef struct _tag_swing_info
|
||||||
{
|
{
|
||||||
swing_type type;
|
swing_type type;
|
||||||
UINT8 mode_count;
|
UINT8 mode_count;
|
||||||
UINT8 dir_index;
|
UINT8 dir_index;
|
||||||
} swing_info;
|
} swing_info;
|
||||||
|
|
||||||
typedef struct _tag_1001_power_1
|
typedef struct _tag_power_1
|
||||||
{
|
{
|
||||||
UINT8 len;
|
UINT8 len;
|
||||||
tag_comp comp_data[AC_POWER_MAX];
|
tag_comp comp_data[AC_POWER_MAX];
|
||||||
} power_1;
|
} power_1;
|
||||||
|
|
||||||
typedef struct _tag_1003_temp_1
|
typedef struct _tag_temp_1
|
||||||
{
|
{
|
||||||
UINT8 len;
|
UINT8 len;
|
||||||
UINT8 type;
|
UINT8 type;
|
||||||
tag_comp comp_data[AC_TEMP_MAX];
|
tag_comp comp_data[AC_TEMP_MAX];
|
||||||
} temp_1;
|
} temp_1;
|
||||||
|
|
||||||
typedef struct tag_1004_mode_1
|
typedef struct tag_mode_1
|
||||||
{
|
{
|
||||||
UINT8 len;
|
UINT8 len;
|
||||||
tag_comp comp_data[AC_MODE_MAX];
|
tag_comp comp_data[AC_MODE_MAX];
|
||||||
} mode_1;
|
} mode_1;
|
||||||
|
|
||||||
typedef struct tag_1005_speed_1
|
typedef struct tag_speed_1
|
||||||
{
|
{
|
||||||
UINT8 len;
|
UINT8 len;
|
||||||
tag_comp comp_data[AC_WS_MAX];
|
tag_comp comp_data[AC_WS_MAX];
|
||||||
} speed_1;
|
} speed_1;
|
||||||
|
|
||||||
typedef struct tag_1007_swing_1
|
typedef struct tag_swing_1
|
||||||
{
|
{
|
||||||
UINT8 len;
|
UINT8 len;
|
||||||
UINT16 count;
|
UINT16 count;
|
||||||
tag_comp *comp_data;
|
tag_comp *comp_data;
|
||||||
} swing_1;
|
} swing_1;
|
||||||
|
|
||||||
typedef struct tag_1011_temp_2
|
typedef struct tag_temp_2
|
||||||
{
|
{
|
||||||
UINT8 len;
|
UINT8 len;
|
||||||
UINT8 type;
|
UINT8 type;
|
||||||
tag_comp comp_data[AC_TEMP_MAX];
|
tag_comp comp_data[AC_TEMP_MAX];
|
||||||
} temp_2;
|
} temp_2;
|
||||||
|
|
||||||
typedef struct tag_1012_mode_2
|
typedef struct tag_mode_2
|
||||||
{
|
{
|
||||||
UINT8 len;
|
UINT8 len;
|
||||||
tag_comp comp_data[AC_MODE_MAX];
|
tag_comp comp_data[AC_MODE_MAX];
|
||||||
} mode_2;
|
} mode_2;
|
||||||
|
|
||||||
typedef struct tag_1013_speed_2
|
typedef struct tag_speed_2
|
||||||
{
|
{
|
||||||
UINT8 len;
|
UINT8 len;
|
||||||
tag_comp comp_data[AC_WS_MAX];
|
tag_comp comp_data[AC_WS_MAX];
|
||||||
} speed_2;
|
} speed_2;
|
||||||
|
|
||||||
typedef struct tag_1015_swing_2
|
typedef struct tag_swing_2
|
||||||
{
|
{
|
||||||
UINT8 len;
|
UINT8 len;
|
||||||
UINT16 count;
|
UINT16 count;
|
||||||
@@ -227,7 +224,7 @@ typedef struct tag_1015_swing_2
|
|||||||
} swing_2;
|
} swing_2;
|
||||||
|
|
||||||
#if defined SUPPORT_HORIZONTAL_SWING
|
#if defined SUPPORT_HORIZONTAL_SWING
|
||||||
typedef struct tag_1006_horiswing_1
|
typedef struct tag_horiswing_1
|
||||||
{
|
{
|
||||||
UINT16 len;
|
UINT16 len;
|
||||||
tag_comp comp_data[AC_HORI_SWING_MAX];
|
tag_comp comp_data[AC_HORI_SWING_MAX];
|
||||||
@@ -384,43 +381,41 @@ typedef struct REMOTE_AC_STATUS
|
|||||||
// function polymorphism
|
// function polymorphism
|
||||||
typedef INT8 (*lp_apply_ac_parameter) (remote_ac_status_t ac_status, UINT8 function_code);
|
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_POWER_1 21
|
||||||
#define TAG_AC_FUNCTION_2 1016
|
#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
|
// definition about size
|
||||||
|
|
||||||
|
|||||||
@@ -9,26 +9,22 @@ Revision log:
|
|||||||
* 2016-10-21: created by strawmanbobi
|
* 2016-10-21: created by strawmanbobi
|
||||||
**************************************************************************************************/
|
**************************************************************************************************/
|
||||||
|
|
||||||
#ifndef _IRDA_H_
|
#ifndef _IRDA_LIB_H_
|
||||||
#define _IRDA_H_
|
#define _IRDA_LIB_H_
|
||||||
|
#ifdef __cplusplus
|
||||||
/**************************************************************************************************
|
extern "C"
|
||||||
* INCLUDES
|
{
|
||||||
**************************************************************************************************/
|
#endif
|
||||||
|
/*
|
||||||
|
* inclusions
|
||||||
|
*/
|
||||||
#include "irda_defs.h"
|
#include "irda_defs.h"
|
||||||
|
|
||||||
/**************************************************************************************************
|
|
||||||
* MACROS
|
|
||||||
**************************************************************************************************/
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* macros and constants
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**************************************************************************************************
|
|
||||||
* CONSTANTS
|
|
||||||
**************************************************************************************************/
|
|
||||||
#define STB_CHANNEL_OFFSET 14
|
#define STB_CHANNEL_OFFSET 14
|
||||||
|
|
||||||
#define IRDA_FLAG_NORMAL 0
|
#define IRDA_FLAG_NORMAL 0
|
||||||
@@ -47,11 +43,9 @@ enum
|
|||||||
IRDA_DECODE_4_BITS,
|
IRDA_DECODE_4_BITS,
|
||||||
};
|
};
|
||||||
|
|
||||||
/**************************************************************************************************
|
/*
|
||||||
* GLOBAL DATA TYPES
|
* global type definitions
|
||||||
**************************************************************************************************/
|
*/
|
||||||
|
|
||||||
//======================== IRDA protocol definition =============================
|
|
||||||
typedef enum irda_flags
|
typedef enum irda_flags
|
||||||
{
|
{
|
||||||
IRDA_BOOT = 0,
|
IRDA_BOOT = 0,
|
||||||
@@ -94,7 +88,6 @@ typedef struct irda_cycles
|
|||||||
} irda_cycles_t;
|
} irda_cycles_t;
|
||||||
#pragma pack()
|
#pragma pack()
|
||||||
|
|
||||||
//================================== TV ==================================
|
|
||||||
typedef enum tv_key_value
|
typedef enum tv_key_value
|
||||||
{
|
{
|
||||||
TV_POWER = 0,
|
TV_POWER = 0,
|
||||||
@@ -124,7 +117,7 @@ typedef enum tv_key_value
|
|||||||
TV_KEY_MAX,
|
TV_KEY_MAX,
|
||||||
} tv_key_value_t;
|
} tv_key_value_t;
|
||||||
|
|
||||||
//================================== STB ==================================
|
|
||||||
typedef enum stb_key_value
|
typedef enum stb_key_value
|
||||||
{
|
{
|
||||||
STB_POWER = 0,
|
STB_POWER = 0,
|
||||||
@@ -154,7 +147,6 @@ typedef enum stb_key_value
|
|||||||
STB_KEY_MAX,
|
STB_KEY_MAX,
|
||||||
} stb_key_value_t;
|
} stb_key_value_t;
|
||||||
|
|
||||||
//================================== NW ==================================
|
|
||||||
typedef enum nw_key_value
|
typedef enum nw_key_value
|
||||||
{
|
{
|
||||||
NW_POWER = 0,
|
NW_POWER = 0,
|
||||||
@@ -181,7 +173,6 @@ typedef enum nw_key_value
|
|||||||
NW_KEY_MAX,
|
NW_KEY_MAX,
|
||||||
} nw_key_value_t;
|
} nw_key_value_t;
|
||||||
|
|
||||||
//================================== COMMON ==================================
|
|
||||||
typedef enum cm_key_value
|
typedef enum cm_key_value
|
||||||
{
|
{
|
||||||
CM_POWER = 0,
|
CM_POWER = 0,
|
||||||
@@ -209,45 +200,17 @@ typedef struct irda_data_tv
|
|||||||
} irda_data_tv_t;
|
} 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 INT8 tv_lib_open(UINT8* binary, UINT16 binary_length);
|
||||||
extern BOOL tv_lib_parse(UINT8 encode_type);
|
extern BOOL tv_lib_parse(UINT8 encode_type);
|
||||||
extern UINT16 tv_lib_control(UINT8 key, UINT16 *user_data);
|
extern UINT16 tv_lib_control(UINT8 key, UINT16 *user_data);
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif /* _IRDA_H_ */
|
#endif /* _IRDA_LIB_H_ */
|
||||||
|
|
||||||
|
|||||||
@@ -107,7 +107,7 @@ UINT16 create_ir_frame()
|
|||||||
|
|
||||||
for (i = 0; i < ir_hex_len; i++)
|
for (i = 0; i < ir_hex_len; i++)
|
||||||
{
|
{
|
||||||
bitnum = bits_per_byte(i);//use tag[1509]
|
bitnum = bits_per_byte(i);
|
||||||
//IR_PRINTF("bitnum:%d\n", bitnum);
|
//IR_PRINTF("bitnum:%d\n", bitnum);
|
||||||
for (j = 0; j < bitnum; j++)
|
for (j = 0; j < bitnum; j++)
|
||||||
{
|
{
|
||||||
@@ -118,14 +118,12 @@ UINT16 create_ir_frame()
|
|||||||
|
|
||||||
if (irdata[i] & mask)
|
if (irdata[i] & mask)
|
||||||
{
|
{
|
||||||
//one[302]
|
|
||||||
//IR_PRINTF("%d,%d,", context->one.low, context->one.high);
|
//IR_PRINTF("%d,%d,", context->one.low, context->one.high);
|
||||||
context->time[context->code_cnt++] = context->one.low;
|
context->time[context->code_cnt++] = context->one.low;
|
||||||
context->time[context->code_cnt++] = context->one.high;
|
context->time[context->code_cnt++] = context->one.high;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
//zero[301]
|
|
||||||
//IR_PRINTF("%d,%d,", context->zero.low, context->zero.high);
|
//IR_PRINTF("%d,%d,", context->zero.low, context->zero.high);
|
||||||
context->time[context->code_cnt++] = context->zero.low;
|
context->time[context->code_cnt++] = context->zero.low;
|
||||||
context->time[context->code_cnt++] = context->zero.high;
|
context->time[context->code_cnt++] = context->zero.high;
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ Filename: irda_parse_forbidden_info.c
|
|||||||
Revised: Date: 2016-10-05
|
Revised: Date: 2016-10-05
|
||||||
Revision: Revision: 1.0
|
Revision: Revision: 1.0
|
||||||
|
|
||||||
Description: This file provides algorithms for IR decode for TAG 150x
|
Description: This file provides algorithms for forbidden area of AC code
|
||||||
|
|
||||||
Revision log:
|
Revision log:
|
||||||
* 2016-10-05: created by strawmanbobi
|
* 2016-10-05: created by strawmanbobi
|
||||||
@@ -34,7 +34,7 @@ extern protocol* context;
|
|||||||
/*
|
/*
|
||||||
* function definition
|
* function definition
|
||||||
*/
|
*/
|
||||||
INT8 parse_nmode_150x_data_speed(char *pdata, ac_n_mode seq)
|
INT8 parse_nmode_data_speed(char *pdata, ac_n_mode seq)
|
||||||
{
|
{
|
||||||
char buf[16] = {0};
|
char buf[16] = {0};
|
||||||
char *p = pdata;
|
char *p = pdata;
|
||||||
@@ -58,7 +58,7 @@ INT8 parse_nmode_150x_data_speed(char *pdata, ac_n_mode seq)
|
|||||||
return IR_DECODE_SUCCEEDED;
|
return IR_DECODE_SUCCEEDED;
|
||||||
}
|
}
|
||||||
|
|
||||||
INT8 parse_nmode_150x_data_temp(char *pdata, ac_n_mode seq)
|
INT8 parse_nmode_data_temp(char *pdata, ac_n_mode seq)
|
||||||
{
|
{
|
||||||
|
|
||||||
char buf[16] = {0};
|
char buf[16] = {0};
|
||||||
@@ -82,7 +82,7 @@ INT8 parse_nmode_150x_data_temp(char *pdata, ac_n_mode seq)
|
|||||||
return IR_DECODE_SUCCEEDED;
|
return IR_DECODE_SUCCEEDED;
|
||||||
}
|
}
|
||||||
|
|
||||||
INT8 parse_nmode_150x_pos(char *buf, ac_n_mode index)
|
INT8 parse_nmode_pos(char *buf, ac_n_mode index)
|
||||||
{
|
{
|
||||||
UINT16 i = 0;
|
UINT16 i = 0;
|
||||||
char data[64] = {0};
|
char data[64] = {0};
|
||||||
@@ -110,17 +110,17 @@ INT8 parse_nmode_150x_pos(char *buf, ac_n_mode index)
|
|||||||
}
|
}
|
||||||
if (buf[0] == 'S')
|
if (buf[0] == 'S')
|
||||||
{
|
{
|
||||||
parse_nmode_150x_data_speed(data, index);
|
parse_nmode_data_speed(data, index);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
parse_nmode_150x_data_temp(data, index);
|
parse_nmode_data_temp(data, index);
|
||||||
}
|
}
|
||||||
|
|
||||||
return IR_DECODE_SUCCEEDED;
|
return IR_DECODE_SUCCEEDED;
|
||||||
}
|
}
|
||||||
|
|
||||||
INT8 parse_nmode_150x(struct tag_head *tag, ac_n_mode index)
|
INT8 parse_nmode(struct tag_head *tag, ac_n_mode index)
|
||||||
{
|
{
|
||||||
UINT16 i = 0;
|
UINT16 i = 0;
|
||||||
UINT16 preindex = 0;
|
UINT16 preindex = 0;
|
||||||
@@ -145,13 +145,13 @@ INT8 parse_nmode_150x(struct tag_head *tag, ac_n_mode index)
|
|||||||
{
|
{
|
||||||
irda_memcpy(buf, tag->pdata + preindex, i - preindex);
|
irda_memcpy(buf, tag->pdata + preindex, i - preindex);
|
||||||
preindex = i + 1;
|
preindex = i + 1;
|
||||||
parse_nmode_150x_pos(buf, index);
|
parse_nmode_pos(buf, index);
|
||||||
irda_memset(buf, 0, 64);
|
irda_memset(buf, 0, 64);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
irda_memcpy(buf, tag->pdata + preindex, i - preindex);
|
irda_memcpy(buf, tag->pdata + preindex, i - preindex);
|
||||||
parse_nmode_150x_pos(buf, index);
|
parse_nmode_pos(buf, index);
|
||||||
irda_memset(buf, 0, 64);
|
irda_memset(buf, 0, 64);
|
||||||
return IR_DECODE_SUCCEEDED;
|
return IR_DECODE_SUCCEEDED;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ Revision log:
|
|||||||
/*
|
/*
|
||||||
* function definition
|
* function definition
|
||||||
*/
|
*/
|
||||||
INT8 parse_bootcode_300(struct tag_head *tag)
|
INT8 parse_bootcode(struct tag_head *tag)
|
||||||
{
|
{
|
||||||
UINT8 buf[16] = {0};
|
UINT8 buf[16] = {0};
|
||||||
UINT8 *p = NULL;
|
UINT8 *p = NULL;
|
||||||
@@ -69,7 +69,7 @@ INT8 parse_bootcode_300(struct tag_head *tag)
|
|||||||
return IR_DECODE_SUCCEEDED;
|
return IR_DECODE_SUCCEEDED;
|
||||||
}
|
}
|
||||||
|
|
||||||
INT8 parse_zero_301(struct tag_head *tag)
|
INT8 parse_zero(struct tag_head *tag)
|
||||||
{
|
{
|
||||||
UINT8 low[16] = {0};
|
UINT8 low[16] = {0};
|
||||||
UINT8 high[16] = {0};
|
UINT8 high[16] = {0};
|
||||||
@@ -100,7 +100,7 @@ INT8 parse_zero_301(struct tag_head *tag)
|
|||||||
return IR_DECODE_SUCCEEDED;
|
return IR_DECODE_SUCCEEDED;
|
||||||
}
|
}
|
||||||
|
|
||||||
INT8 parse_one_302(struct tag_head *tag)
|
INT8 parse_one(struct tag_head *tag)
|
||||||
{
|
{
|
||||||
UINT8 low[16] = {0};
|
UINT8 low[16] = {0};
|
||||||
UINT8 high[16] = {0};
|
UINT8 high[16] = {0};
|
||||||
@@ -131,7 +131,7 @@ INT8 parse_one_302(struct tag_head *tag)
|
|||||||
return IR_DECODE_SUCCEEDED;
|
return IR_DECODE_SUCCEEDED;
|
||||||
}
|
}
|
||||||
|
|
||||||
INT8 parse_delaycode_303_data(UINT8 *pdata)
|
INT8 parse_delaycode_data(UINT8 *pdata)
|
||||||
{
|
{
|
||||||
UINT8 buf[16] = {0};
|
UINT8 buf[16] = {0};
|
||||||
UINT8 *p = NULL;
|
UINT8 *p = NULL;
|
||||||
@@ -161,7 +161,7 @@ INT8 parse_delaycode_303_data(UINT8 *pdata)
|
|||||||
return IR_DECODE_SUCCEEDED;
|
return IR_DECODE_SUCCEEDED;
|
||||||
}
|
}
|
||||||
|
|
||||||
INT8 parse_delaycode_303_pos(UINT8 *buf)
|
INT8 parse_delaycode_pos(UINT8 *buf)
|
||||||
{
|
{
|
||||||
UINT16 i = 0;
|
UINT16 i = 0;
|
||||||
UINT8 data[64] = {0}, start[8] = {0};
|
UINT8 data[64] = {0}, start[8] = {0};
|
||||||
@@ -180,14 +180,14 @@ INT8 parse_delaycode_303_pos(UINT8 *buf)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
parse_delaycode_303_data(data);
|
parse_delaycode_data(data);
|
||||||
context->dc[context->dc_cnt].pos = atoi((char *) start);
|
context->dc[context->dc_cnt].pos = atoi((char *) start);
|
||||||
|
|
||||||
context->dc_cnt++;
|
context->dc_cnt++;
|
||||||
return IR_DECODE_SUCCEEDED;
|
return IR_DECODE_SUCCEEDED;
|
||||||
}
|
}
|
||||||
|
|
||||||
INT8 parse_delaycode_303(struct tag_head *tag)
|
INT8 parse_delaycode(struct tag_head *tag)
|
||||||
{
|
{
|
||||||
UINT8 buf[64] = {0};
|
UINT8 buf[64] = {0};
|
||||||
UINT16 i = 0;
|
UINT16 i = 0;
|
||||||
@@ -205,19 +205,19 @@ INT8 parse_delaycode_303(struct tag_head *tag)
|
|||||||
{
|
{
|
||||||
irda_memcpy(buf, tag->pdata + preindex, i - preindex);
|
irda_memcpy(buf, tag->pdata + preindex, i - preindex);
|
||||||
preindex = i + 1;
|
preindex = i + 1;
|
||||||
parse_delaycode_303_pos(buf);
|
parse_delaycode_pos(buf);
|
||||||
irda_memset(buf, 0, 64);
|
irda_memset(buf, 0, 64);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
irda_memcpy(buf, tag->pdata + preindex, i - preindex);
|
irda_memcpy(buf, tag->pdata + preindex, i - preindex);
|
||||||
parse_delaycode_303_pos(buf);
|
parse_delaycode_pos(buf);
|
||||||
irda_memset(buf, 0, 64);
|
irda_memset(buf, 0, 64);
|
||||||
|
|
||||||
return IR_DECODE_SUCCEEDED;
|
return IR_DECODE_SUCCEEDED;
|
||||||
}
|
}
|
||||||
|
|
||||||
INT8 parse_framelen_304(struct tag_head *tag, UINT16 len)
|
INT8 parse_framelen(struct tag_head *tag, UINT16 len)
|
||||||
{
|
{
|
||||||
UINT8 *temp = NULL;
|
UINT8 *temp = NULL;
|
||||||
|
|
||||||
@@ -245,7 +245,7 @@ INT8 parse_framelen_304(struct tag_head *tag, UINT16 len)
|
|||||||
return IR_DECODE_SUCCEEDED;
|
return IR_DECODE_SUCCEEDED;
|
||||||
}
|
}
|
||||||
|
|
||||||
INT8 parse_endian_306(struct tag_head *tag)
|
INT8 parse_endian(struct tag_head *tag)
|
||||||
{
|
{
|
||||||
UINT8 buf[8] = {0};
|
UINT8 buf[8] = {0};
|
||||||
|
|
||||||
@@ -258,7 +258,7 @@ INT8 parse_endian_306(struct tag_head *tag)
|
|||||||
return IR_DECODE_SUCCEEDED;
|
return IR_DECODE_SUCCEEDED;
|
||||||
}
|
}
|
||||||
|
|
||||||
INT8 parse_lastbit_307(struct tag_head *tag)
|
INT8 parse_lastbit(struct tag_head *tag)
|
||||||
{
|
{
|
||||||
UINT8 buf[8] = {0};
|
UINT8 buf[8] = {0};
|
||||||
|
|
||||||
@@ -271,7 +271,7 @@ INT8 parse_lastbit_307(struct tag_head *tag)
|
|||||||
return IR_DECODE_SUCCEEDED;
|
return IR_DECODE_SUCCEEDED;
|
||||||
}
|
}
|
||||||
|
|
||||||
INT8 parse_repeat_times_1508(struct tag_head *tag)
|
INT8 parse_repeat_times(struct tag_head *tag)
|
||||||
{
|
{
|
||||||
char asc_code[8] = {0};
|
char asc_code[8] = {0};
|
||||||
if (NULL == tag)
|
if (NULL == tag)
|
||||||
@@ -286,7 +286,7 @@ INT8 parse_repeat_times_1508(struct tag_head *tag)
|
|||||||
return IR_DECODE_SUCCEEDED;
|
return IR_DECODE_SUCCEEDED;
|
||||||
}
|
}
|
||||||
|
|
||||||
INT8 parse_delaycode_1509_pos(UINT8 *buf)
|
INT8 parse_delaycode_tag48_pos(UINT8 *buf)
|
||||||
{
|
{
|
||||||
UINT16 i = 0;
|
UINT16 i = 0;
|
||||||
UINT8 data[64] = {0}, start[8] = {0};
|
UINT8 data[64] = {0}, start[8] = {0};
|
||||||
@@ -312,7 +312,7 @@ INT8 parse_delaycode_1509_pos(UINT8 *buf)
|
|||||||
return IR_DECODE_SUCCEEDED;
|
return IR_DECODE_SUCCEEDED;
|
||||||
}
|
}
|
||||||
|
|
||||||
INT8 parse_bitnum_1509(struct tag_head *tag)
|
INT8 parse_bitnum(struct tag_head *tag)
|
||||||
{
|
{
|
||||||
UINT16 i = 0;
|
UINT16 i = 0;
|
||||||
UINT16 preindex = 0;
|
UINT16 preindex = 0;
|
||||||
@@ -330,13 +330,13 @@ INT8 parse_bitnum_1509(struct tag_head *tag)
|
|||||||
{
|
{
|
||||||
irda_memcpy(buf, tag->pdata + preindex, i - preindex);
|
irda_memcpy(buf, tag->pdata + preindex, i - preindex);
|
||||||
preindex = i + 1;
|
preindex = i + 1;
|
||||||
parse_delaycode_1509_pos(buf);
|
parse_delaycode_tag48_pos(buf);
|
||||||
irda_memset(buf, 0, 64);
|
irda_memset(buf, 0, 64);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
irda_memcpy(buf, tag->pdata + preindex, i - preindex);
|
irda_memcpy(buf, tag->pdata + preindex, i - preindex);
|
||||||
parse_delaycode_1509_pos(buf);
|
parse_delaycode_tag48_pos(buf);
|
||||||
irda_memset(buf, 0, 64);
|
irda_memset(buf, 0, 64);
|
||||||
|
|
||||||
for (i = 0; i < context->bitnum_cnt; i++)
|
for (i = 0; i < context->bitnum_cnt; i++)
|
||||||
|
|||||||
@@ -172,7 +172,7 @@ INT8 parse_common_ac_parameter(t_tag_head *tag, tag_comp *comp_data, UINT8 with_
|
|||||||
return IR_DECODE_SUCCEEDED;
|
return IR_DECODE_SUCCEEDED;
|
||||||
}
|
}
|
||||||
|
|
||||||
INT8 parse_defaultcode_1002(struct tag_head *tag, ac_hex *default_code)
|
INT8 parse_defaultcode(struct tag_head *tag, ac_hex *default_code)
|
||||||
{
|
{
|
||||||
UINT16 byteLen = 0;
|
UINT16 byteLen = 0;
|
||||||
|
|
||||||
@@ -187,7 +187,7 @@ INT8 parse_defaultcode_1002(struct tag_head *tag, ac_hex *default_code)
|
|||||||
return IR_DECODE_SUCCEEDED;
|
return IR_DECODE_SUCCEEDED;
|
||||||
}
|
}
|
||||||
|
|
||||||
INT8 parse_power_1_1001(struct tag_head *tag, power_1 *power1)
|
INT8 parse_power_1(struct tag_head *tag, power_1 *power1)
|
||||||
{
|
{
|
||||||
UINT16 hex_len = 0;
|
UINT16 hex_len = 0;
|
||||||
UINT16 trav_offset = 0;
|
UINT16 trav_offset = 0;
|
||||||
@@ -244,7 +244,7 @@ INT8 parse_power_1_1001(struct tag_head *tag, power_1 *power1)
|
|||||||
return IR_DECODE_SUCCEEDED;
|
return IR_DECODE_SUCCEEDED;
|
||||||
}
|
}
|
||||||
|
|
||||||
INT8 parse_temp_1_1003(struct tag_head *tag, temp_1 *temp1)
|
INT8 parse_temp_1(struct tag_head *tag, temp_1 *temp1)
|
||||||
{
|
{
|
||||||
UINT16 hex_len = 0;
|
UINT16 hex_len = 0;
|
||||||
UINT16 i = 0;
|
UINT16 i = 0;
|
||||||
@@ -330,7 +330,7 @@ INT8 parse_temp_1_1003(struct tag_head *tag, temp_1 *temp1)
|
|||||||
return IR_DECODE_SUCCEEDED;
|
return IR_DECODE_SUCCEEDED;
|
||||||
}
|
}
|
||||||
|
|
||||||
INT8 parse_mode_1_1004(struct tag_head *tag, mode_1 *mode1)
|
INT8 parse_mode_1(struct tag_head *tag, mode_1 *mode1)
|
||||||
{
|
{
|
||||||
UINT16 hex_len = 0;
|
UINT16 hex_len = 0;
|
||||||
UINT16 trav_offset = 0;
|
UINT16 trav_offset = 0;
|
||||||
@@ -381,7 +381,7 @@ INT8 parse_mode_1_1004(struct tag_head *tag, mode_1 *mode1)
|
|||||||
return IR_DECODE_SUCCEEDED;
|
return IR_DECODE_SUCCEEDED;
|
||||||
}
|
}
|
||||||
|
|
||||||
INT8 parse_speed_1_1005(struct tag_head *tag, speed_1 *speed1)
|
INT8 parse_speed_1(struct tag_head *tag, speed_1 *speed1)
|
||||||
{
|
{
|
||||||
UINT16 hex_len = 0;
|
UINT16 hex_len = 0;
|
||||||
UINT16 trav_offset = 0;
|
UINT16 trav_offset = 0;
|
||||||
@@ -432,7 +432,7 @@ INT8 parse_speed_1_1005(struct tag_head *tag, speed_1 *speed1)
|
|||||||
return IR_DECODE_SUCCEEDED;
|
return IR_DECODE_SUCCEEDED;
|
||||||
}
|
}
|
||||||
|
|
||||||
INT8 parse_swing_1_1007(struct tag_head *tag, swing_1 *swing1, UINT16 swing_count)
|
INT8 parse_swing_1(struct tag_head *tag, swing_1 *swing1, UINT16 swing_count)
|
||||||
{
|
{
|
||||||
UINT16 hex_len = 0;
|
UINT16 hex_len = 0;
|
||||||
UINT16 trav_offset = 0;
|
UINT16 trav_offset = 0;
|
||||||
@@ -554,7 +554,7 @@ INT8 parse_checksum_spec_half_byte_typed(UINT8 *csdata, tag_checksum_data *check
|
|||||||
return IR_DECODE_SUCCEEDED;
|
return IR_DECODE_SUCCEEDED;
|
||||||
}
|
}
|
||||||
|
|
||||||
INT8 parse_checksum_1008_malloc(struct tag_head *tag, tchecksum *checksum)
|
INT8 parse_checksum_malloc(struct tag_head *tag, tchecksum *checksum)
|
||||||
{
|
{
|
||||||
UINT8 i = 0;
|
UINT8 i = 0;
|
||||||
UINT8 cnt = 0;
|
UINT8 cnt = 0;
|
||||||
@@ -580,7 +580,7 @@ INT8 parse_checksum_1008_malloc(struct tag_head *tag, tchecksum *checksum)
|
|||||||
return IR_DECODE_SUCCEEDED;
|
return IR_DECODE_SUCCEEDED;
|
||||||
}
|
}
|
||||||
|
|
||||||
INT8 parse_checksum_1008_data(UINT8 *buf, tag_checksum_data *checksum, UINT8 length)
|
INT8 parse_checksum_data(UINT8 *buf, tag_checksum_data *checksum, UINT8 length)
|
||||||
{
|
{
|
||||||
UINT8 *hex_data = NULL;
|
UINT8 *hex_data = NULL;
|
||||||
UINT16 hex_len = 0;
|
UINT16 hex_len = 0;
|
||||||
@@ -665,7 +665,7 @@ INT8 parse_checksum_1008_data(UINT8 *buf, tag_checksum_data *checksum, UINT8 len
|
|||||||
return IR_DECODE_SUCCEEDED;
|
return IR_DECODE_SUCCEEDED;
|
||||||
}
|
}
|
||||||
|
|
||||||
INT8 parse_checksum_1008(struct tag_head *tag, tchecksum *checksum)
|
INT8 parse_checksum(struct tag_head *tag, tchecksum *checksum)
|
||||||
{
|
{
|
||||||
UINT8 i = 0;
|
UINT8 i = 0;
|
||||||
UINT8 num = 0;
|
UINT8 num = 0;
|
||||||
@@ -681,7 +681,7 @@ INT8 parse_checksum_1008(struct tag_head *tag, tchecksum *checksum)
|
|||||||
return IR_DECODE_FAILED;
|
return IR_DECODE_FAILED;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(IR_DECODE_FAILED == parse_checksum_1008_malloc(tag, checksum))
|
if(IR_DECODE_FAILED == parse_checksum_malloc(tag, checksum))
|
||||||
{
|
{
|
||||||
return IR_DECODE_FAILED;
|
return IR_DECODE_FAILED;
|
||||||
}
|
}
|
||||||
@@ -690,9 +690,9 @@ INT8 parse_checksum_1008(struct tag_head *tag, tchecksum *checksum)
|
|||||||
{
|
{
|
||||||
if (tag->pdata[i] == '|')
|
if (tag->pdata[i] == '|')
|
||||||
{
|
{
|
||||||
if(IR_DECODE_FAILED == parse_checksum_1008_data(tag->pdata + preindex,
|
if(IR_DECODE_FAILED == parse_checksum_data(tag->pdata + preindex,
|
||||||
checksum->checksum_data + num,
|
checksum->checksum_data + num,
|
||||||
(i - preindex) >> 1))
|
(i - preindex) >> 1))
|
||||||
{
|
{
|
||||||
return IR_DECODE_FAILED;
|
return IR_DECODE_FAILED;
|
||||||
}
|
}
|
||||||
@@ -701,9 +701,9 @@ INT8 parse_checksum_1008(struct tag_head *tag, tchecksum *checksum)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(IR_DECODE_FAILED == parse_checksum_1008_data(tag->pdata + preindex,
|
if(IR_DECODE_FAILED == parse_checksum_data(tag->pdata + preindex,
|
||||||
checksum->checksum_data + num,
|
checksum->checksum_data + num,
|
||||||
(i - preindex) >> 1))
|
(i - preindex) >> 1))
|
||||||
{
|
{
|
||||||
return IR_DECODE_FAILED;
|
return IR_DECODE_FAILED;
|
||||||
}
|
}
|
||||||
@@ -793,7 +793,7 @@ INT8 parse_function_1(UINT8 *data, UINT16 *trav_offset, tag_comp *mode_seg)
|
|||||||
return function_id;
|
return function_id;
|
||||||
}
|
}
|
||||||
|
|
||||||
INT8 parse_function_1_1010(struct tag_head *tag, function_1 *function1)
|
INT8 parse_function_1_tag29(struct tag_head *tag, function_1 *function1)
|
||||||
{
|
{
|
||||||
UINT16 hex_len = 0;
|
UINT16 hex_len = 0;
|
||||||
UINT16 trav_offset = 0;
|
UINT16 trav_offset = 0;
|
||||||
@@ -823,7 +823,7 @@ INT8 parse_function_1_1010(struct tag_head *tag, function_1 *function1)
|
|||||||
// parse hex data to mode1 data structure
|
// parse hex data to mode1 data structure
|
||||||
function1->len = hex_len;
|
function1->len = hex_len;
|
||||||
|
|
||||||
// seg_index in TAG 1010 and TAG 1016 only refers to functional count
|
// seg_index in TAG only refers to functional count
|
||||||
for (seg_index = AC_FUNCTION_POWER; seg_index < AC_FUNCTION_MAX; seg_index++)
|
for (seg_index = AC_FUNCTION_POWER; seg_index < AC_FUNCTION_MAX; seg_index++)
|
||||||
{
|
{
|
||||||
int fid = parse_function_1(hex_data, &trav_offset, &function1->comp_data[0]);
|
int fid = parse_function_1(hex_data, &trav_offset, &function1->comp_data[0]);
|
||||||
@@ -849,7 +849,7 @@ INT8 parse_function_1_1010(struct tag_head *tag, function_1 *function1)
|
|||||||
return IR_DECODE_SUCCEEDED;
|
return IR_DECODE_SUCCEEDED;
|
||||||
}
|
}
|
||||||
|
|
||||||
INT8 parse_temp_2_1011(struct tag_head *tag, temp_2 *temp2)
|
INT8 parse_temp_2(struct tag_head *tag, temp_2 *temp2)
|
||||||
{
|
{
|
||||||
UINT16 hex_len = 0;
|
UINT16 hex_len = 0;
|
||||||
UINT16 i = 0;
|
UINT16 i = 0;
|
||||||
@@ -901,7 +901,7 @@ INT8 parse_temp_2_1011(struct tag_head *tag, temp_2 *temp2)
|
|||||||
temp2->comp_data[seg_index].segment[i - 2] = hex_data[i - 1];
|
temp2->comp_data[seg_index].segment[i - 2] = hex_data[i - 1];
|
||||||
temp2->comp_data[seg_index].segment[i - 1] = hex_data[i];
|
temp2->comp_data[seg_index].segment[i - 1] = hex_data[i];
|
||||||
|
|
||||||
// for this second type (TAG 1011) temperature update, apply the change in run time.
|
// for this second type (TAG 30) temperature update, apply the change in run time.
|
||||||
temp2->comp_data[seg_index].segment[i] = hex_data[i + 1] * seg_index;
|
temp2->comp_data[seg_index].segment[i] = hex_data[i + 1] * seg_index;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -940,7 +940,7 @@ INT8 parse_temp_2_1011(struct tag_head *tag, temp_2 *temp2)
|
|||||||
return IR_DECODE_SUCCEEDED;
|
return IR_DECODE_SUCCEEDED;
|
||||||
}
|
}
|
||||||
|
|
||||||
INT8 parse_mode_2_1012(struct tag_head *tag, mode_2 *mode2)
|
INT8 parse_mode_2(struct tag_head *tag, mode_2 *mode2)
|
||||||
{
|
{
|
||||||
UINT16 hex_len = 0;
|
UINT16 hex_len = 0;
|
||||||
UINT16 trav_offset = 0;
|
UINT16 trav_offset = 0;
|
||||||
@@ -996,7 +996,7 @@ INT8 parse_mode_2_1012(struct tag_head *tag, mode_2 *mode2)
|
|||||||
return IR_DECODE_SUCCEEDED;
|
return IR_DECODE_SUCCEEDED;
|
||||||
}
|
}
|
||||||
|
|
||||||
INT8 parse_speed_2_1013(struct tag_head *tag, speed_2 *speed2)
|
INT8 parse_speed_2(struct tag_head *tag, speed_2 *speed2)
|
||||||
{
|
{
|
||||||
UINT16 hex_len = 0;
|
UINT16 hex_len = 0;
|
||||||
UINT16 trav_offset = 0;
|
UINT16 trav_offset = 0;
|
||||||
@@ -1052,7 +1052,7 @@ INT8 parse_speed_2_1013(struct tag_head *tag, speed_2 *speed2)
|
|||||||
return IR_DECODE_SUCCEEDED;
|
return IR_DECODE_SUCCEEDED;
|
||||||
}
|
}
|
||||||
|
|
||||||
INT8 parse_swing_2_1015(struct tag_head *tag, swing_2 *swing2, UINT16 swing_count)
|
INT8 parse_swing_2(struct tag_head *tag, swing_2 *swing2, UINT16 swing_count)
|
||||||
{
|
{
|
||||||
UINT16 hex_len = 0;
|
UINT16 hex_len = 0;
|
||||||
UINT16 trav_offset = 0;
|
UINT16 trav_offset = 0;
|
||||||
@@ -1184,7 +1184,7 @@ INT8 parse_function_2(UINT8 *data, UINT16 *trav_offset, tag_comp *mode_seg)
|
|||||||
return function_id;
|
return function_id;
|
||||||
}
|
}
|
||||||
|
|
||||||
INT8 parse_function_2_1016(struct tag_head *tag, function_2 *function2)
|
INT8 parse_function_2_tag34(struct tag_head *tag, function_2 *function2)
|
||||||
{
|
{
|
||||||
UINT16 hex_len = 0;
|
UINT16 hex_len = 0;
|
||||||
UINT16 trav_offset = 0;
|
UINT16 trav_offset = 0;
|
||||||
@@ -1214,7 +1214,7 @@ INT8 parse_function_2_1016(struct tag_head *tag, function_2 *function2)
|
|||||||
// parse hex data to mode1 data structure
|
// parse hex data to mode1 data structure
|
||||||
function2->len = hex_len;
|
function2->len = hex_len;
|
||||||
|
|
||||||
// seg_index in TAG 1010 and TAG 1016 only refers to functional count
|
// seg_index in TAG only refers to functional count
|
||||||
for (seg_index = AC_FUNCTION_POWER; seg_index < AC_FUNCTION_MAX; seg_index++)
|
for (seg_index = AC_FUNCTION_POWER; seg_index < AC_FUNCTION_MAX; seg_index++)
|
||||||
{
|
{
|
||||||
UINT8 fid = parse_function_2(hex_data, &trav_offset, &function2->comp_data[0]);
|
UINT8 fid = parse_function_2(hex_data, &trav_offset, &function2->comp_data[0]);
|
||||||
@@ -1240,7 +1240,7 @@ INT8 parse_function_2_1016(struct tag_head *tag, function_2 *function2)
|
|||||||
return IR_DECODE_SUCCEEDED;
|
return IR_DECODE_SUCCEEDED;
|
||||||
}
|
}
|
||||||
|
|
||||||
INT8 parse_swing_info_1506(struct tag_head *tag, swing_info *si)
|
INT8 parse_swing_info(struct tag_head *tag, swing_info *si)
|
||||||
{
|
{
|
||||||
if (NULL == tag)
|
if (NULL == tag)
|
||||||
{
|
{
|
||||||
@@ -1258,7 +1258,7 @@ INT8 parse_swing_info_1506(struct tag_head *tag, swing_info *si)
|
|||||||
{
|
{
|
||||||
if ('0' == tag->pdata[0])
|
if ('0' == tag->pdata[0])
|
||||||
{
|
{
|
||||||
// to identify if there is only 1 status in TAG 1007 OR 1015
|
// to identify if there is only 1 status in TAG 26 OR 33
|
||||||
si->type = SWING_TYPE_NOT_SPECIFIED;
|
si->type = SWING_TYPE_NOT_SPECIFIED;
|
||||||
si->mode_count = 0;
|
si->mode_count = 0;
|
||||||
}
|
}
|
||||||
@@ -1284,7 +1284,7 @@ INT8 parse_swing_info_1506(struct tag_head *tag, swing_info *si)
|
|||||||
return IR_DECODE_SUCCEEDED;
|
return IR_DECODE_SUCCEEDED;
|
||||||
}
|
}
|
||||||
|
|
||||||
INT8 parse_solo_code_1009(struct tag_head *tag, solo_code *sc)
|
INT8 parse_solo_code(struct tag_head *tag, solo_code *sc)
|
||||||
{
|
{
|
||||||
UINT16 hex_len = 0;
|
UINT16 hex_len = 0;
|
||||||
UINT8 *hex_data = NULL;
|
UINT8 *hex_data = NULL;
|
||||||
|
|||||||
@@ -30,31 +30,24 @@ struct tag_head *tags;
|
|||||||
UINT8* ir_hex_code = NULL;
|
UINT8* ir_hex_code = NULL;
|
||||||
UINT8 ir_hex_len = 0;
|
UINT8 ir_hex_len = 0;
|
||||||
|
|
||||||
|
// tv raw code length
|
||||||
|
UINT16 tv_bin_length = 0;
|
||||||
|
|
||||||
// global output buffer
|
// global output buffer
|
||||||
UINT8 tag_count = 0;
|
UINT8 tag_count = 0;
|
||||||
UINT16 tag_head_offset = 0;
|
UINT16 tag_head_offset = 0;
|
||||||
|
|
||||||
UINT16 global_mem_consume = 0;
|
|
||||||
|
|
||||||
UINT8 byteArray[PROTOCOL_SIZE] = {0};
|
UINT8 byteArray[PROTOCOL_SIZE] = {0};
|
||||||
UINT16 user_data[USER_DATA_SIZE] = {0};
|
UINT16 user_data[USER_DATA_SIZE] = {0};
|
||||||
UINT8 tv_bin[EXPECTED_MEM_SIZE] = {0};
|
UINT8 tv_bin[EXPECTED_MEM_SIZE] = {0};
|
||||||
UINT16 tv_bin_length = 0;
|
|
||||||
remote_ac_status_t ac_status;
|
remote_ac_status_t ac_status;
|
||||||
|
|
||||||
// 2016-10-06 protocol version minor change: parse TAG 1009 instead of TAG 304
|
|
||||||
const UINT16 tag_index[TAG_COUNT_FOR_PROTOCOL] =
|
const UINT16 tag_index[TAG_COUNT_FOR_PROTOCOL] =
|
||||||
{
|
{
|
||||||
300, 301, 302, 303, 305, 306, 307, 1001, 1002,
|
1, 2, 3, 4, 5, 6, 7, 21, 22,
|
||||||
1003, 1004, 1005, 1007, 1008, 1009, 1010, 1011,
|
23, 24, 25, 26, 27, 28, 29, 30,
|
||||||
1012, 1013, 1015, 1016, 1501, 1502, 1503, 1504, 1505,
|
31, 32, 33, 34, 41, 42, 43, 44, 45,
|
||||||
1506, 1508, 1509
|
46, 47, 48
|
||||||
};
|
|
||||||
|
|
||||||
const UINT16 bc_tag_index[TAG_COUNT_FOR_BC_PROTOCOL] =
|
|
||||||
{
|
|
||||||
100, 101, 102, 103, 200, 201, 202, 203, 204, 205,
|
|
||||||
206, 207, 208, 209, 210, 211, 212, 213, 214, 300
|
|
||||||
};
|
};
|
||||||
|
|
||||||
// 2016-10-09 updated by strawmanbobi, change global data context to array pointer
|
// 2016-10-09 updated by strawmanbobi, change global data context to array pointer
|
||||||
@@ -369,14 +362,14 @@ INT8 irda_ac_lib_parse()
|
|||||||
context->n_mode[i].temp_cnt = 0;
|
context->n_mode[i].temp_cnt = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
// parse tag 1506 in first priority
|
// parse TAG 46 in first priority
|
||||||
for (i = 0; i < tag_count; i++)
|
for (i = 0; i < tag_count; i++)
|
||||||
{
|
{
|
||||||
if (tags[i].tag == TAG_AC_SWING_INFO)
|
if (tags[i].tag == TAG_AC_SWING_INFO)
|
||||||
{
|
{
|
||||||
if (tags[i].len != 0)
|
if (tags[i].len != 0)
|
||||||
{
|
{
|
||||||
parse_swing_info_1506(&tags[i], &(context->si));
|
parse_swing_info(&tags[i], &(context->si));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -393,7 +386,7 @@ INT8 irda_ac_lib_parse()
|
|||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
// then parse TAG 1007 or 1015
|
// then parse TAG 26 or 33
|
||||||
if (context->si.type == SWING_TYPE_NORMAL)
|
if (context->si.type == SWING_TYPE_NORMAL)
|
||||||
{
|
{
|
||||||
UINT16 swing_space_size = 0;
|
UINT16 swing_space_size = 0;
|
||||||
@@ -448,7 +441,7 @@ INT8 irda_ac_lib_parse()
|
|||||||
{
|
{
|
||||||
return IR_DECODE_FAILED;
|
return IR_DECODE_FAILED;
|
||||||
}
|
}
|
||||||
if (IR_DECODE_FAILED == parse_defaultcode_1002(&tags[i], &(context->default_code)))
|
if (IR_DECODE_FAILED == parse_defaultcode(&tags[i], &(context->default_code)))
|
||||||
{
|
{
|
||||||
return IR_DECODE_FAILED;
|
return IR_DECODE_FAILED;
|
||||||
}
|
}
|
||||||
@@ -468,7 +461,7 @@ INT8 irda_ac_lib_parse()
|
|||||||
else if (tags[i].tag == TAG_AC_TEMP_1) // temperature tag type 1
|
else if (tags[i].tag == TAG_AC_TEMP_1) // temperature tag type 1
|
||||||
{
|
{
|
||||||
IR_PRINTF("\nparse temperature 1\n");
|
IR_PRINTF("\nparse temperature 1\n");
|
||||||
if (IR_DECODE_FAILED == parse_temp_1_1003(&tags[i], &(context->temp1)))
|
if (IR_DECODE_FAILED == parse_temp_1(&tags[i], &(context->temp1)))
|
||||||
{
|
{
|
||||||
return IR_DECODE_FAILED;
|
return IR_DECODE_FAILED;
|
||||||
}
|
}
|
||||||
@@ -500,7 +493,7 @@ INT8 irda_ac_lib_parse()
|
|||||||
else if (tags[i].tag == TAG_AC_CHECKSUM_TYPE)
|
else if (tags[i].tag == TAG_AC_CHECKSUM_TYPE)
|
||||||
{
|
{
|
||||||
IR_PRINTF("\nparse checksum\n");
|
IR_PRINTF("\nparse checksum\n");
|
||||||
if (IR_DECODE_FAILED == parse_checksum_1008(&tags[i], &(context->checksum)))
|
if (IR_DECODE_FAILED == parse_checksum(&tags[i], &(context->checksum)))
|
||||||
{
|
{
|
||||||
return IR_DECODE_FAILED;
|
return IR_DECODE_FAILED;
|
||||||
}
|
}
|
||||||
@@ -530,7 +523,7 @@ INT8 irda_ac_lib_parse()
|
|||||||
else if (tags[i].tag == TAG_AC_TEMP_2)
|
else if (tags[i].tag == TAG_AC_TEMP_2)
|
||||||
{
|
{
|
||||||
IR_PRINTF("\nparse temperature 2\n");
|
IR_PRINTF("\nparse temperature 2\n");
|
||||||
if (IR_DECODE_FAILED == parse_temp_2_1011(&tags[i], &(context->temp2)))
|
if (IR_DECODE_FAILED == parse_temp_2(&tags[i], &(context->temp2)))
|
||||||
{
|
{
|
||||||
return IR_DECODE_FAILED;
|
return IR_DECODE_FAILED;
|
||||||
}
|
}
|
||||||
@@ -538,7 +531,7 @@ INT8 irda_ac_lib_parse()
|
|||||||
else if (tags[i].tag == TAG_AC_SOLO_FUNCTION)
|
else if (tags[i].tag == TAG_AC_SOLO_FUNCTION)
|
||||||
{
|
{
|
||||||
IR_PRINTF("\nparse solo functions\n");
|
IR_PRINTF("\nparse solo functions\n");
|
||||||
if (IR_DECODE_FAILED == parse_solo_code_1009(&tags[i], &(context->sc)))
|
if (IR_DECODE_FAILED == parse_solo_code(&tags[i], &(context->sc)))
|
||||||
{
|
{
|
||||||
return IR_DECODE_FAILED;
|
return IR_DECODE_FAILED;
|
||||||
}
|
}
|
||||||
@@ -546,7 +539,7 @@ INT8 irda_ac_lib_parse()
|
|||||||
}
|
}
|
||||||
else if (tags[i].tag == TAG_AC_FUNCTION_1)
|
else if (tags[i].tag == TAG_AC_FUNCTION_1)
|
||||||
{
|
{
|
||||||
if (IR_DECODE_FAILED == parse_function_1_1010(&tags[i], &(context->function1)))
|
if (IR_DECODE_FAILED == parse_function_1_tag29(&tags[i], &(context->function1)))
|
||||||
{
|
{
|
||||||
IR_PRINTF("\nfunction code parse error\n");
|
IR_PRINTF("\nfunction code parse error\n");
|
||||||
return IR_DECODE_FAILED;
|
return IR_DECODE_FAILED;
|
||||||
@@ -555,91 +548,91 @@ INT8 irda_ac_lib_parse()
|
|||||||
else if (tags[i].tag == TAG_AC_FUNCTION_2)
|
else if (tags[i].tag == TAG_AC_FUNCTION_2)
|
||||||
{
|
{
|
||||||
IR_PRINTF("\nparse function 2\n");
|
IR_PRINTF("\nparse function 2\n");
|
||||||
if (IR_DECODE_FAILED == parse_function_2_1016(&tags[i], &(context->function2)))
|
if (IR_DECODE_FAILED == parse_function_2_tag34(&tags[i], &(context->function2)))
|
||||||
{
|
{
|
||||||
return IR_DECODE_FAILED;
|
return IR_DECODE_FAILED;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (tags[i].tag == TAG_AC_FRAME_LENGTH)
|
else if (tags[i].tag == TAG_AC_FRAME_LENGTH)
|
||||||
{
|
{
|
||||||
if (IR_DECODE_FAILED == parse_framelen_304(&tags[i], tags[i].len))
|
if (IR_DECODE_FAILED == parse_framelen(&tags[i], tags[i].len))
|
||||||
{
|
{
|
||||||
return IR_DECODE_FAILED;
|
return IR_DECODE_FAILED;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (tags[i].tag == TAG_AC_ZERO)
|
else if (tags[i].tag == TAG_AC_ZERO)
|
||||||
{
|
{
|
||||||
if (IR_DECODE_FAILED == parse_zero_301(&tags[i]))
|
if (IR_DECODE_FAILED == parse_zero(&tags[i]))
|
||||||
{
|
{
|
||||||
return IR_DECODE_FAILED;
|
return IR_DECODE_FAILED;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (tags[i].tag == TAG_AC_ONE)
|
else if (tags[i].tag == TAG_AC_ONE)
|
||||||
{
|
{
|
||||||
if (IR_DECODE_FAILED == parse_one_302(&tags[i]))
|
if (IR_DECODE_FAILED == parse_one(&tags[i]))
|
||||||
{
|
{
|
||||||
return IR_DECODE_FAILED;
|
return IR_DECODE_FAILED;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (tags[i].tag == TAG_AC_BOOT_CODE)
|
else if (tags[i].tag == TAG_AC_BOOT_CODE)
|
||||||
{
|
{
|
||||||
if (IR_DECODE_FAILED == parse_bootcode_300(&tags[i]))
|
if (IR_DECODE_FAILED == parse_bootcode(&tags[i]))
|
||||||
{
|
{
|
||||||
return IR_DECODE_FAILED;
|
return IR_DECODE_FAILED;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (tags[i].tag == TAG_AC_REPEAT_TIMES)
|
else if (tags[i].tag == TAG_AC_REPEAT_TIMES)
|
||||||
{
|
{
|
||||||
if (IR_DECODE_FAILED == parse_repeat_times_1508(&tags[i]))
|
if (IR_DECODE_FAILED == parse_repeat_times(&tags[i]))
|
||||||
{
|
{
|
||||||
return IR_DECODE_FAILED;
|
return IR_DECODE_FAILED;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (tags[i].tag == TAG_AC_BITNUM)
|
else if (tags[i].tag == TAG_AC_BITNUM)
|
||||||
{
|
{
|
||||||
if (IR_DECODE_FAILED == parse_bitnum_1509(&tags[i]))
|
if (IR_DECODE_FAILED == parse_bitnum(&tags[i]))
|
||||||
{
|
{
|
||||||
return IR_DECODE_FAILED;
|
return IR_DECODE_FAILED;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (tags[i].tag == TAG_AC_ENDIAN)
|
else if (tags[i].tag == TAG_AC_ENDIAN)
|
||||||
{
|
{
|
||||||
if (IR_DECODE_FAILED == parse_endian_306(&tags[i]))
|
if (IR_DECODE_FAILED == parse_endian(&tags[i]))
|
||||||
{
|
{
|
||||||
return IR_DECODE_FAILED;
|
return IR_DECODE_FAILED;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (tags[i].tag == TAG_AC_BAN_FUNCTION_IN_COOL_MODE)
|
else if (tags[i].tag == TAG_AC_BAN_FUNCTION_IN_COOL_MODE)
|
||||||
{
|
{
|
||||||
if (IR_DECODE_FAILED == parse_nmode_150x(&tags[i], N_COOL))
|
if (IR_DECODE_FAILED == parse_nmode(&tags[i], N_COOL))
|
||||||
{
|
{
|
||||||
return IR_DECODE_FAILED;
|
return IR_DECODE_FAILED;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (tags[i].tag == TAG_AC_BAN_FUNCTION_IN_HEAT_MODE)
|
else if (tags[i].tag == TAG_AC_BAN_FUNCTION_IN_HEAT_MODE)
|
||||||
{
|
{
|
||||||
if (IR_DECODE_FAILED == parse_nmode_150x(&tags[i], N_HEAT))
|
if (IR_DECODE_FAILED == parse_nmode(&tags[i], N_HEAT))
|
||||||
{
|
{
|
||||||
return IR_DECODE_FAILED;
|
return IR_DECODE_FAILED;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (tags[i].tag == TAG_AC_BAN_FUNCTION_IN_AUTO_MODE)
|
else if (tags[i].tag == TAG_AC_BAN_FUNCTION_IN_AUTO_MODE)
|
||||||
{
|
{
|
||||||
if (IR_DECODE_FAILED == parse_nmode_150x(&tags[i], N_AUTO))
|
if (IR_DECODE_FAILED == parse_nmode(&tags[i], N_AUTO))
|
||||||
{
|
{
|
||||||
return IR_DECODE_FAILED;
|
return IR_DECODE_FAILED;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (tags[i].tag == TAG_AC_BAN_FUNCTION_IN_FAN_MODE)
|
else if (tags[i].tag == TAG_AC_BAN_FUNCTION_IN_FAN_MODE)
|
||||||
{
|
{
|
||||||
if (IR_DECODE_FAILED == parse_nmode_150x(&tags[i], N_FAN))
|
if (IR_DECODE_FAILED == parse_nmode(&tags[i], N_FAN))
|
||||||
{
|
{
|
||||||
return IR_DECODE_FAILED;
|
return IR_DECODE_FAILED;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (tags[i].tag == TAG_AC_BAN_FUNCTION_IN_DRY_MODE)
|
else if (tags[i].tag == TAG_AC_BAN_FUNCTION_IN_DRY_MODE)
|
||||||
{
|
{
|
||||||
if (IR_DECODE_FAILED == parse_nmode_150x(&tags[i], N_DRY))
|
if (IR_DECODE_FAILED == parse_nmode(&tags[i], N_DRY))
|
||||||
{
|
{
|
||||||
return IR_DECODE_FAILED;
|
return IR_DECODE_FAILED;
|
||||||
}
|
}
|
||||||
@@ -654,14 +647,14 @@ INT8 irda_ac_lib_parse()
|
|||||||
}
|
}
|
||||||
if (tags[i].tag == TAG_AC_DELAY_CODE)
|
if (tags[i].tag == TAG_AC_DELAY_CODE)
|
||||||
{
|
{
|
||||||
if (IR_DECODE_FAILED == parse_delaycode_303(&tags[i]))
|
if (IR_DECODE_FAILED == parse_delaycode(&tags[i]))
|
||||||
{
|
{
|
||||||
return IR_DECODE_FAILED;
|
return IR_DECODE_FAILED;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (tags[i].tag == TAG_AC_LASTBIT)
|
if (tags[i].tag == TAG_AC_LASTBIT)
|
||||||
{
|
{
|
||||||
if (IR_DECODE_FAILED == parse_lastbit_307(&tags[i]))
|
if (IR_DECODE_FAILED == parse_lastbit(&tags[i]))
|
||||||
{
|
{
|
||||||
return IR_DECODE_FAILED;
|
return IR_DECODE_FAILED;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user