From 66b97e50e6742f722d411e2eacbecb14532fae17 Mon Sep 17 00:00:00 2001 From: strawmanbobi Date: Wed, 31 May 2017 21:10:54 +0800 Subject: [PATCH] updated all example references --- .../src/main/jniLibs/arm64-v8a/libirdecode.so | Bin 50936 -> 50936 bytes .../main/jniLibs/armeabi-v7a/libirdecode.so | Bin 38388 -> 38388 bytes .../src/main/jniLibs/armeabi/libirdecode.so | Bin 42476 -> 42476 bytes .../app/src/main/jniLibs/mips/libirdecode.so | Bin 74488 -> 74516 bytes .../src/main/jniLibs/mips64/libirdecode.so | Bin 63312 -> 63336 bytes .../app/src/main/jniLibs/x86/libirdecode.so | Bin 50568 -> 50568 bytes .../src/main/jniLibs/x86_64/libirdecode.so | Bin 51216 -> 51216 bytes .../decodesdk/irextdecode/include/ir_defs.h | 6 +++++ .../decodesdk/irextdecode/jni/ir_decode_jni.c | 23 ++++++++---------- .../decodesdk/irextdecode/jni/ir_decode_jni.h | 4 +++ Android/decodesdk/irextdecode/src/ir_decode.c | 14 +++++++++-- .../decodesdk/irextdecode/src/ir_test_main.c | 6 ++--- .../decodesdk/irextdecode/src/ir_tv_control.c | 6 +++++ .../Application/Irext/include/ir_defs.h | 6 +++++ .../Source/Application/Irext/src/ir_decode.c | 12 ++++++++- .../Application/Irext/src/ir_tv_control.c | 6 +++++ 16 files changed, 64 insertions(+), 19 deletions(-) diff --git a/Android/app/src/main/jniLibs/arm64-v8a/libirdecode.so b/Android/app/src/main/jniLibs/arm64-v8a/libirdecode.so index f68c5a9366ccf799d3c395b720301bb0d7782627..6bdeaf535e6b09aea9f3c8ef5fca9504c8712058 100644 GIT binary patch delta 12818 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 EZ=kr-r~m)} delta 12604 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 diff --git a/Android/app/src/main/jniLibs/armeabi-v7a/libirdecode.so b/Android/app/src/main/jniLibs/armeabi-v7a/libirdecode.so index 8f9ea63816d519db4bcff43640a64e6c9ac3a7d4..d0ce7d61fe2f144aaa6f93866edd354ba57ab8da 100644 GIT binary patch delta 14933 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 G3I7*X*s`Di diff --git a/Android/app/src/main/jniLibs/armeabi/libirdecode.so b/Android/app/src/main/jniLibs/armeabi/libirdecode.so index f8092495c8fd5d1a577114f6eb198d441f36a5b7..986b02eae7aa8adaa7e6be3f069ec63ef098f984 100644 GIT binary patch delta 13104 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 CiCQQC delta 13124 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 J@0`%^{|E6^Rb2o8 diff --git a/Android/app/src/main/jniLibs/mips/libirdecode.so b/Android/app/src/main/jniLibs/mips/libirdecode.so index 5215327c39d98f2a5912156fb2fb5681cf2ebeda..eb7ae1c5a0a6cfae1c27870a5d13088d3d0d0936 100644 GIT binary patch delta 11356 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 Q#+zW2Zb!R&<9OKr0)>pyrvLx| diff --git a/Android/app/src/main/jniLibs/mips64/libirdecode.so b/Android/app/src/main/jniLibs/mips64/libirdecode.so index c8c1f4e3024064418caa4399fdb444c02faa09cd..8d1df598147b2fbd091b38a350cc0cb6e6b620e9 100644 GIT binary patch delta 13528 zcmb_j4O~>k+Mjb^aUrQ)LjgfpU{w@W7C}WsUC;_k5=;w=3UW+2$@npP6!~1o<67>A?fLQ-9l*{{Yf`X z?lRH4eZu6jG4kg5)lHs^cMovT?rg8|mPvCf9H1Y&dW)5rKO%%N0z*~^>kz)ie z6__q)25XT+kVhjYBhNxs`%eNaR11WN!9pTYwg_Gt@B!o$QD$&|51Nr9kncrix5k7V zg}emWip*}`801{!fyfJxmm{l*-O@*qN6{K7JYqFxs#h`Y$O^&pW=OOA0%^Tua6E)U zkf>P<^b+(`pdC2}xv$`{7~hS&2)PJ30GXx7k?&F|Lizy{1U(Muj~t3zD0p*#CCIlU zuVP^<2BAYWG)q~?Pa@Aoeh`_Z zhdGej1aiR5E(2vmUQ<~X7@P-U9mnkx*d79%H#v&n22q;}xp4Avn_V+FspftNiT z$WK5fU&!VxlIVuqBlJhJQOjm!tr&k3g=d|=VHJez7W^jBpiYd>)4W=p=S4g^H*wAB=#Ztqiy=|X)>EWJ!9M_GajNeXr)}as>|+lJB<(J3 zRUNp6CaaD($Se>kB&r*Nk zKGS zPZ4cd{u%rXW~ps1S2Ryp>K6At=rzs{6&7zP}rK*?yaG}4;!vt|(CyNHv z!sGH<&TvW`Uk5S|y2tZ!mEbQE@=3iSbSK1^e3F>Q+Oz2wF&tXiSVF30dKmqX7(clz zR!C|EuuAaTo>kezCOST@MW}%DD@3Tj(&Q=UYvV0Z7@E12^VbPIwUBo(OHEE*(IzUM zN9c_3!PLna+T(ky8d5wh)405u1GxkP*qEs6H73GD$Aw$CpioB!3O$Bhs{e%S_2U9h zi;5)i*tLod_6tQeF$&uRUlt)XiN{a2;QvWPqPvna+J$4jLXYP~&YvNPd+{kMmfO1&9uUHftSl%usI`HmLh~S-ZyP3J;=-IBS)- zmxF}|`_^#2OYkMtAZ*WjDGGsMszG9rD-k_BPNe~X4lBA>Z;;rwXzux``~aeDXM}fT zig2Ut6|UxlXmAo%u!SYFSMRKv@ol~Mx58QsB>KVtW5gj5%IZ9>Q`?#~s-EKIgPs}? zI4e7a*KT1dk$%zwx|5d+1pfs!ptq1NJLhMM_^cIiOBZvdf>#qW%?b>Z#<}wYkI8)& zEG%4u|cSt?T`BgnVc`o@5D}*E>K^~G^w7>vYeHg=^Z2PGFbFBq7W~$LL#hvNmKxB7*Qp4(X6Z$#%t;bb8sy2Xm=sRAOup6m-EH zLQF1Z)~?3E_I;%Y@_a2E|86KA}+*G(N}I%~`%X%KyROh`@$v8sd2R>qCTR)1p*R`Oud( zxx`#Cl9~VoEoi`4bEpq7p-W8j>$Z8Twkb-anQj?7)z>u?gQU(yy6DBRw_^zEl7|l3 z2JI~RF5-b!quEu;22kTkJxO(Lrc;vR#y0mbmFNQqv(S%3s$He%4P-)+MD*y=Vk(s_ z(YdmEPpvk23H>N}Gd>p085bvCD5a}Y2GaU*EfS$mrEJy}nwfip#wSR1G;93Y;O?kZ z_7uH0nV^?Qw?QIFz7nxGBZ

e*8GeKRYtj9*%x-^Ib0YsEKYV*kk%U0SyvvG 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 delta 13199 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 diff --git a/Android/app/src/main/jniLibs/x86/libirdecode.so b/Android/app/src/main/jniLibs/x86/libirdecode.so index af4a07ead7451d1946a9d775836a8d5516c7fe76..9f84ea675d66ee91909ddc49dd1dbbfe45ce8590 100644 GIT binary patch delta 12789 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 z zj8?krrNxEagKW^ynucu~CVS%I(4X6qMcWIfDL%XDUxj8kQ{eK0UF&vh+E_!3r}Ln_ zv~x`iY0G1}Ohwi`IiK!9PIpRM5sJ3ut_YF+sC-3j=akoADk`vW1>0!M%4uxd%4qo= z?Rk2J+_hy@WXvv11VdsI#8veo4qxgJn{%um*SQ*Lh*mc5KLDC+7~RQc*%MV|fAaf;rsB9vZR6)*oy zO{;z*|3KcW`*$9N>Ue|#_@3!`8n=29MznJEAlaABuI|<0{l~GEO`-7RkrY;xB#UTr zQPP;7cCa18`D;YKSo{ri{PZdA4T|*3?*OCE^)C67F6-`|Igmp~==)i>D*98=Q15?j zXCrZ=rWFR_TDjMnrM_Rkf+694aZ%Np89vW|GK&N2K|R-+JsV!uG~BX2JSUBB=t}wS zZK-EMx5Hm&V$Jr9XS&*Azq9t$&# z?)0%aOS(diE8R?I*2c&Ny1sUp&tt3*X|K^kj+m&IUqV~>pm_Ik*?o(2=XN=P${fRd z--WSUs@p5{Cr6yQBNsaq%~tT;^{kO}sN0 zXNr?>3X&yBL&mbkdj{hTpn5vt3&2Oy7@ltf}J-dr-U!=OsNj$4HxyzZ7PeIOc@ z>SOTvOYr*XzQ-ZJtysmh2mSpSoA==t4ELI44v~{6r?fwgJ(ZmKIA_T&bP@4K5D%fq^=3JfMy($_-~u12|Ehg~sffiUtT~eK&FaDtqCFvk6N>Ih zu+V|^-Ma;G^5lDx1BpIcKOTQRiBe;6q)S!9@CStjxWCDv!-!|l$Lav=bv_&7l7+HArwcu`VHfI=5EH~)1$r8CCvB_7rIUP)YFxx_;03-uHM)W-*G*H_2Rb6 zjE)cAI6(eFk8d1;1Hy)l{pAvRe`8;4{8u;jRs3BPzNrs3rPNJ*v01FfyOe&nskg7i zSf}$;`p2eTfp6fCcWUh=USB%k3cNF_ZBC)?6}^;jm69vWnERO(z40fZ4HXGEI~=Wu z#Npsl#Q-^;0yalu7k?OUoHg-2PfolKPz~PC(x-UCP`n3IuPs<-oit%fFZm5E+Y*gk z{3X1%(=ogYsTuEyWTI#pLxU(<5$k9+^^%`a8Io{vpvU-3PD5loC2k#u!}hAJ(eeoG z#2bebyqC~-c#ox^=cA>ChT(mavhhAgD&G6)O}xwKGrXVN@q@^L=WW@84|N13&ew&e&jC}DIcliXw{f)Q-+oUezRU7*^DMT)CG+eH@|L)z za#qgE$;r;ij)=f-IPTAK*OyaJkcU6U{xw(AzCic};d_Li5tPN6=8Mo3p$Ec{NW9_@ z`XfAqFbd&OgvSvU7T}5jvJrTYC~W7U?rlYy){R+8Xa9+vJq2I&B_ZsimYrsKfqZtEl^aDAw<|p821NCZ z3fU}%KRt@;MKpU?xR-s6rqxo(u26i0zp~3LuhY?8p-saAHi?ey>gIC@X|bi6mP?cO1pAx^TUoAYZ&B8+U|+uX z3VBx3CVEic-v;>vU|}5R)U*i{u|L>{e;KzDEQYI#NC#WD9s`RaVq|CUa%EH}uasv! z*y?=bRny4bp*|IerMfh2CUrT`&8r%$g4XN~_Bn;vA*3ggtnTJ>8SDbsTDrC;*w+)6 zkApX9T2e>)`>r4#D`*CGoLb%bWUyOcH)-4iq6=83O|{?uh}h&PB89~QSL(M>!LYTECiThG~A%iXrropb0d_!^Ig&kfd4uW7@% zr+xSaCRS(YUoXC3N+r23)Qhi&Z5(2rpW)B0B=?8-fY?F$`tt1aT?bnBrKYWN&x3uSm%rf#^8lX!^KQkO%8V+i zJ>^h3SRL$j3+Yw#VRfia*aPtO@33y_tHV&ROzLzXxK{>ZW%$D_eoFJdCaxWMr;zsu z&#q2Z2y8{ld@SylXu*LfNAh*7p-4?Z3VJ}ZF4Z(U($aymfOg=xzZ6@TnPg6Ab_k1t#r5d0;xeVv9H(SP8t0<>j!0BUo830Jmc8xB)!> zhNgx54C@bS+F)QAFdcXTn9u2N;;;_946I>(2t5JxtkbkM=JnYAenBrB#w-9Py`yPq z!0VXv`M`kpQ69+mc8(fEP8@>*;O^s4zycp&akzy7z<6L8rhO_f0Fycwn2p~>Yyh6e zw65lKOyM)Y>%c3Veg@_L4MQ+}_eO@Cq>L zJQUo9!+i_|!0b<;09f`Z6acpZ*8!~;G;JR+{R>Sy1w7vZrvwIIQh9192ebfrk_`o( zzlxz?{vCz_Xl?6^u|R}p4|-9n-C48SFR>{c6T*0SqiMkJ^RSbU)dyxT{ohE) p=R}lOHky)6iHPa{IzrPC<6m^HqmmO*K0Fi+?_p=411J9W{{WoEulE1| diff --git a/Android/app/src/main/jniLibs/x86_64/libirdecode.so b/Android/app/src/main/jniLibs/x86_64/libirdecode.so index 93b3991da7dd55e2e1dad43713183bf01d58705e..76856b73d98208c3831b1e8f1e611b04fa4611da 100644 GIT binary patch delta 15134 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

>F*Y!`7DlSEx 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 #include #include -#include + #include "ir_decode_jni.h" #include "../include/ir_defs.h" #include "../include/ir_decode.h" @@ -49,24 +48,22 @@ JNIEXPORT jint JNICALL Java_net_irext_decodesdk_IRDecode_irOpenBinary return IR_DECODE_FAILED; } - (*env)->ReleaseByteArrayElements(env, binaries, j_buffer, JNI_ABORT); - return IR_DECODE_SUCCEEDED; } JNIEXPORT jintArray JNICALL Java_net_irext_decodesdk_IRDecode_irDecode (JNIEnv *env, jobject this_obj, jint key_code, jobject jni_ac_status, jint change_wind_direction) { - UINT16 user_data[USER_DATA_SIZE]; + UINT16 user_data[USER_DATA_SIZE]; int i = 0; - int copy_array[USER_DATA_SIZE] = {0}; - remote_ac_status_t ac_status; + jint copy_array[USER_DATA_SIZE] = {0}; + remote_ac_status_t ac_status; jclass n_ac_status = (*env)->GetObjectClass(env, jni_ac_status); - if (NULL != n_ac_status) - { - jfieldID ac_power_fid = (*env)->GetFieldID(env, n_ac_status, "acPower", "I"); + if (NULL != n_ac_status) + { + jfieldID ac_power_fid = (*env)->GetFieldID(env, n_ac_status, "acPower", "I"); jint i_ac_power = (*env)->GetIntField(env, jni_ac_status, ac_power_fid); jfieldID ac_mode_fid = (*env)->GetFieldID(env, n_ac_status, "acMode", "I"); @@ -80,7 +77,7 @@ JNIEXPORT jintArray JNICALL Java_net_irext_decodesdk_IRDecode_irDecode jfieldID ac_wind_speed_fid = (*env)->GetFieldID(env, n_ac_status, "acWindSpeed", "I"); jint i_ac_wind_speed = (*env)->GetIntField(env, jni_ac_status, ac_wind_speed_fid); - + ac_status.acDisplay = 0; ac_status.acSleep = 0; ac_status.acTimer = 0; @@ -89,7 +86,7 @@ JNIEXPORT jintArray JNICALL Java_net_irext_decodesdk_IRDecode_irDecode ac_status.acTemp = i_ac_temp; ac_status.acWindDir = i_ac_wind_dir; ac_status.acWindSpeed = i_ac_wind_speed; - } + } int wave_code_length = ir_decode(key_code, user_data, &ac_status, change_wind_direction); @@ -103,7 +100,7 @@ JNIEXPORT jintArray JNICALL Java_net_irext_decodesdk_IRDecode_irDecode copy_array[i] = (int)user_data[i]; } (*env)->SetIntArrayRegion(env, result, 0, wave_code_length, copy_array); - (*env)->DeleteLocalRef(env, n_ac_status); + (*env)->DeleteLocalRef(env, n_ac_status); return result; } diff --git a/Android/decodesdk/irextdecode/jni/ir_decode_jni.h b/Android/decodesdk/irextdecode/jni/ir_decode_jni.h index c44a0aa..81458dc 100644 --- a/Android/decodesdk/irextdecode/jni/ir_decode_jni.h +++ b/Android/decodesdk/irextdecode/jni/ir_decode_jni.h @@ -1,5 +1,9 @@ /* DO NOT EDIT THIS FILE - it is machine generated */ +#if defined BOARD_ANDROID #include +#elif (defined BOARD_PC) && (defined BOARD_PC_JNI) +#include "./include/jni.h" +#endif /* Header for class net_irext_decodesdk_IRDecode */ #ifndef _Included_net_irext_decodesdk_IRDecode diff --git a/Android/decodesdk/irextdecode/src/ir_decode.c b/Android/decodesdk/irextdecode/src/ir_decode.c index 5a4dd2b..cfc7b5b 100644 --- a/Android/decodesdk/irextdecode/src/ir_decode.c +++ b/Android/decodesdk/irextdecode/src/ir_decode.c @@ -61,6 +61,11 @@ static UINT16 ir_tv_lib_control(UINT8 key, UINT16 *l_user_data); static INT8 ir_tv_lib_close(); +void noprint(const char *fmt, ...) +{ + return; +} + // pubic function definitions INT8 ir_file_open(const UINT8 category, const UINT8 sub_category, const char* file_name) @@ -111,7 +116,8 @@ INT8 ir_file_open(const UINT8 category, const UINT8 sub_category, const char* fi INT8 ir_binary_open(const UINT8 category, const UINT8 sub_category, UINT8* binary, UINT16 binary_length) { INT8 ret = IR_DECODE_SUCCEEDED; - if (category == IR_TYPE_STATUS) + + if (category == IR_CATEGORY_AC) { ir_binary_type = IR_TYPE_STATUS; ret = ir_ac_lib_open(binary, binary_length); @@ -352,11 +358,15 @@ static UINT16 ir_ac_lib_control(remote_ac_status_t ac_status, UINT16 *user_data, time_length = create_ir_frame(); -#if defined BOARD_PC +#if (defined BOARD_PC) +#if (defined BOARD_PC_JNI) + ir_printf("code count = %d\n", context->code_cnt); +#else for (i = 0; i < context->code_cnt; i++) { ir_printf("%d,", context->time[i]); } +#endif ir_printf("\n"); #endif diff --git a/Android/decodesdk/irextdecode/src/ir_test_main.c b/Android/decodesdk/irextdecode/src/ir_test_main.c index 729a3fa..10db3de 100644 --- a/Android/decodesdk/irextdecode/src/ir_test_main.c +++ b/Android/decodesdk/irextdecode/src/ir_test_main.c @@ -70,22 +70,22 @@ INT8 decode_as_ac(char *file_name) break; case 's': case 'S': + // temperature minus ac_status.acTemp = ((ac_status.acTemp == AC_TEMP_16) ? AC_TEMP_16 : (ac_status.acTemp - 1)); function_code = AC_FUNCTION_TEMPERATURE_DOWN; - // temperature minus break; case 'a': case 'A': + // wind speed loop ++ac_status.acWindSpeed; ac_status.acWindSpeed = ac_status.acWindSpeed % AC_WS_MAX; function_code = AC_FUNCTION_WIND_SPEED; - // wind speed loop break; case 'd': case 'D': + // wind swing loop ac_status.acWindDir = ((ac_status.acWindDir == 0) ? AC_SWING_OFF : AC_SWING_ON); function_code = AC_FUNCTION_WIND_SWING; - // wind swing loop break; case 'q': case 'Q': diff --git a/Android/decodesdk/irextdecode/src/ir_tv_control.c b/Android/decodesdk/irextdecode/src/ir_tv_control.c index 462e7e9..e4b04ba 100644 --- a/Android/decodesdk/irextdecode/src/ir_tv_control.c +++ b/Android/decodesdk/irextdecode/src/ir_tv_control.c @@ -115,6 +115,7 @@ static BOOL get_ir_protocol(UINT8 encode_type) /* cycles number */ prot_cycles_num = pbuffer->data + pbuffer->offset; + if (encode_type == 0) { cycles_num_size = 8; /* "BOOT", "STOP", "SEP", "ONE", "ZERO", "FLIP", "TWO", "THREE" */ @@ -190,6 +191,7 @@ static void print_ir_time(ir_data_t *data, UINT8 key_index, UINT16 *ir_time) if (NULL == data || NULL == ir_time) { + ir_printf("data or ir_time is null\n"); return; } @@ -198,11 +200,13 @@ static void print_ir_time(ir_data_t *data, UINT8 key_index, UINT16 *ir_time) if (prot_cycles_num[IRDA_ONE] != 1 || prot_cycles_num[IRDA_ZERO] != 1) { + ir_printf("logical 1 or 0 is invalid\n"); return; } if (time_index >= USER_DATA_SIZE) { + ir_printf("time index exceeded\n"); return; } @@ -210,12 +214,14 @@ static void print_ir_time(ir_data_t *data, UINT8 key_index, UINT16 *ir_time) { if (pcycles == NULL) { + ir_printf("pcycles is null\n"); return; } cycles_num = prot_cycles_num[data->index]; if (cycles_num > 5) { + ir_printf("cycles number exceeded\n"); return; } diff --git a/CC26XX/ti/BLE-CC264x/ble_cc26xx/Projects/ble/SimpleBLEPeripheral-IREXT/CC26xx/Source/Application/Irext/include/ir_defs.h b/CC26XX/ti/BLE-CC264x/ble_cc26xx/Projects/ble/SimpleBLEPeripheral-IREXT/CC26xx/Source/Application/Irext/include/ir_defs.h index 2981520..7b60e53 100644 --- a/CC26XX/ti/BLE-CC264x/ble_cc26xx/Projects/ble/SimpleBLEPeripheral-IREXT/CC26xx/Source/Application/Irext/include/ir_defs.h +++ b/CC26XX/ti/BLE-CC264x/ble_cc26xx/Projects/ble/SimpleBLEPeripheral-IREXT/CC26xx/Source/Application/Irext/include/ir_defs.h @@ -37,6 +37,8 @@ typedef signed int INT; typedef unsigned int UINT; typedef int BOOL; +void noprint(const char *fmt, ...); + #if !defined BOARD_CC26XX #define ir_malloc(A) malloc(A) #define ir_free(A) free(A) @@ -48,7 +50,11 @@ typedef int BOOL; #define ir_memcpy(A, B, C) memcpy(A, B, C) #define ir_memset(A, B, C) memset(A, B, C) #define ir_strlen(A) strlen(A) +#if (defined BOARD_PC) && (!defined BOARD_PC_JNI) #define ir_printf printf +#else +#define ir_printf noprint +#endif #define USER_DATA_SIZE 1636 #ifdef __cplusplus diff --git a/CC26XX/ti/BLE-CC264x/ble_cc26xx/Projects/ble/SimpleBLEPeripheral-IREXT/CC26xx/Source/Application/Irext/src/ir_decode.c b/CC26XX/ti/BLE-CC264x/ble_cc26xx/Projects/ble/SimpleBLEPeripheral-IREXT/CC26xx/Source/Application/Irext/src/ir_decode.c index fe7d32c..cfc7b5b 100644 --- a/CC26XX/ti/BLE-CC264x/ble_cc26xx/Projects/ble/SimpleBLEPeripheral-IREXT/CC26xx/Source/Application/Irext/src/ir_decode.c +++ b/CC26XX/ti/BLE-CC264x/ble_cc26xx/Projects/ble/SimpleBLEPeripheral-IREXT/CC26xx/Source/Application/Irext/src/ir_decode.c @@ -61,6 +61,11 @@ static UINT16 ir_tv_lib_control(UINT8 key, UINT16 *l_user_data); static INT8 ir_tv_lib_close(); +void noprint(const char *fmt, ...) +{ + return; +} + // pubic function definitions INT8 ir_file_open(const UINT8 category, const UINT8 sub_category, const char* file_name) @@ -111,6 +116,7 @@ INT8 ir_file_open(const UINT8 category, const UINT8 sub_category, const char* fi INT8 ir_binary_open(const UINT8 category, const UINT8 sub_category, UINT8* binary, UINT16 binary_length) { INT8 ret = IR_DECODE_SUCCEEDED; + if (category == IR_CATEGORY_AC) { ir_binary_type = IR_TYPE_STATUS; @@ -352,11 +358,15 @@ static UINT16 ir_ac_lib_control(remote_ac_status_t ac_status, UINT16 *user_data, time_length = create_ir_frame(); -#if defined BOARD_PC +#if (defined BOARD_PC) +#if (defined BOARD_PC_JNI) + ir_printf("code count = %d\n", context->code_cnt); +#else for (i = 0; i < context->code_cnt; i++) { ir_printf("%d,", context->time[i]); } +#endif ir_printf("\n"); #endif diff --git a/CC26XX/ti/BLE-CC264x/ble_cc26xx/Projects/ble/SimpleBLEPeripheral-IREXT/CC26xx/Source/Application/Irext/src/ir_tv_control.c b/CC26XX/ti/BLE-CC264x/ble_cc26xx/Projects/ble/SimpleBLEPeripheral-IREXT/CC26xx/Source/Application/Irext/src/ir_tv_control.c index 462e7e9..e4b04ba 100644 --- a/CC26XX/ti/BLE-CC264x/ble_cc26xx/Projects/ble/SimpleBLEPeripheral-IREXT/CC26xx/Source/Application/Irext/src/ir_tv_control.c +++ b/CC26XX/ti/BLE-CC264x/ble_cc26xx/Projects/ble/SimpleBLEPeripheral-IREXT/CC26xx/Source/Application/Irext/src/ir_tv_control.c @@ -115,6 +115,7 @@ static BOOL get_ir_protocol(UINT8 encode_type) /* cycles number */ prot_cycles_num = pbuffer->data + pbuffer->offset; + if (encode_type == 0) { cycles_num_size = 8; /* "BOOT", "STOP", "SEP", "ONE", "ZERO", "FLIP", "TWO", "THREE" */ @@ -190,6 +191,7 @@ static void print_ir_time(ir_data_t *data, UINT8 key_index, UINT16 *ir_time) if (NULL == data || NULL == ir_time) { + ir_printf("data or ir_time is null\n"); return; } @@ -198,11 +200,13 @@ static void print_ir_time(ir_data_t *data, UINT8 key_index, UINT16 *ir_time) if (prot_cycles_num[IRDA_ONE] != 1 || prot_cycles_num[IRDA_ZERO] != 1) { + ir_printf("logical 1 or 0 is invalid\n"); return; } if (time_index >= USER_DATA_SIZE) { + ir_printf("time index exceeded\n"); return; } @@ -210,12 +214,14 @@ static void print_ir_time(ir_data_t *data, UINT8 key_index, UINT16 *ir_time) { if (pcycles == NULL) { + ir_printf("pcycles is null\n"); return; } cycles_num = prot_cycles_num[data->index]; if (cycles_num > 5) { + ir_printf("cycles number exceeded\n"); return; }