From f49e8803a41f6dac586ad907fc64ab9e360d5600 Mon Sep 17 00:00:00 2001 From: hedgecrw85 Date: Thu, 30 Apr 2015 18:16:39 -0500 Subject: [PATCH] Updated to Version 1.2.2 --- INSTALL | 14 ++-- build.gradle | 2 +- .../cpp/Android/jni/AndroidHelperFunctions.c | 45 ++++++++++++- .../cpp/Android/jni/AndroidHelperFunctions.h | 1 + src/main/cpp/Linux/LinuxHelperFunctions.c | 63 +++++++++++++++--- src/main/cpp/Linux/LinuxHelperFunctions.h | 1 + .../com/fazecast/jSerialComm/SerialPort.java | 15 ++++- .../Android/arm64-v8a/libjSerialComm.so | Bin 17728 -> 17728 bytes .../Android/armeabi-v7a/libjSerialComm.so | Bin 17600 -> 17600 bytes .../Android/armeabi/libjSerialComm.so | Bin 21688 -> 21688 bytes .../resources/Android/mips/libjSerialComm.so | Bin 71524 -> 71568 bytes .../Android/mips64/libjSerialComm.so | Bin 18992 -> 23136 bytes .../resources/Android/x86/libjSerialComm.so | Bin 17492 -> 17492 bytes .../Android/x86_64/libjSerialComm.so | Bin 17992 -> 17992 bytes .../resources/Linux/armv5/libjSerialComm.so | Bin 24360 -> 24840 bytes .../Linux/armv6-hf/libjSerialComm.so | Bin 19879 -> 19983 bytes .../resources/Linux/armv6/libjSerialComm.so | Bin 24344 -> 24832 bytes .../Linux/armv7-hf/libjSerialComm.so | Bin 19879 -> 19983 bytes .../resources/Linux/armv7/libjSerialComm.so | Bin 21883 -> 22331 bytes .../resources/Linux/x86/libjSerialComm.so | Bin 15804 -> 16328 bytes .../resources/Linux/x86_64/libjSerialComm.so | Bin 19376 -> 19936 bytes .../fazecast/jSerialComm/SerialPortTest.java | 2 +- 22 files changed, 122 insertions(+), 21 deletions(-) diff --git a/INSTALL b/INSTALL index 8b52ef6..7e55e2b 100644 --- a/INSTALL +++ b/INSTALL @@ -106,31 +106,31 @@ Maven: com.fazecast jSerialComm - 1.2.0 + 1.2.2 Ivy: - + Grape: @Grapes( - @Grab(group='com.fazecast', module='jSerialComm', version='1.2.0') + @Grab(group='com.fazecast', module='jSerialComm', version='1.2.2') ) Gradle: -'com.fazecast:jSerialComm:1.2.0' +'com.fazecast:jSerialComm:1.2.2' Buildr: -'com.fazecast:jSerialComm:jar:1.2.0' +'com.fazecast:jSerialComm:jar:1.2.2' SBT: -libraryDependencies += "com.fazecast" % "jSerialComm" % "1.2.0" +libraryDependencies += "com.fazecast" % "jSerialComm" % "1.2.2" Leiningen: -[com.fazecast/jSerialComm "1.2.0"] +[com.fazecast/jSerialComm "1.2.2"] diff --git a/build.gradle b/build.gradle index ccf4169..a61aead 100644 --- a/build.gradle +++ b/build.gradle @@ -4,7 +4,7 @@ apply plugin: 'maven' group = 'com.fazecast' archivesBaseName = 'jSerialComm' -version = '1.1.1' +version = '1.2.2' sourceCompatibility = 1.6 targetCompatibility = 1.6 diff --git a/src/main/cpp/Android/jni/AndroidHelperFunctions.c b/src/main/cpp/Android/jni/AndroidHelperFunctions.c index 20ba28a..9aa44f6 100644 --- a/src/main/cpp/Android/jni/AndroidHelperFunctions.c +++ b/src/main/cpp/Android/jni/AndroidHelperFunctions.c @@ -74,6 +74,39 @@ void getFriendlyName(const char* productFile, char* friendlyName) } } +void getDriverName(const char* directoryToSearch, char* friendlyName) +{ + friendlyName[0] = '\0'; + + // Open the directory + DIR *directoryIterator = opendir(directoryToSearch); + if (!directoryIterator) + return; + + // Read all sub-directories in the current directory + struct dirent *directoryEntry = readdir(directoryIterator); + while (directoryEntry) + { + // Check if entry is a valid sub-directory + if (directoryEntry->d_name[0] != '.') + { + // Get the readable part of the driver name + strcpy(friendlyName, "USB-to-Serial Port ("); + char *startingPoint = strchr(directoryEntry->d_name, ':'); + if (startingPoint != NULL) + strcat(friendlyName, startingPoint+1); + else + strcat(friendlyName, directoryEntry->d_name); + strcat(friendlyName, ")"); + break; + } + directoryEntry = readdir(directoryIterator); + } + + // Close the directory + closedir(directoryIterator); +} + void recursiveSearchForComPorts(charPairVector* comPorts, const char* fullPathToSearch) { // Open the directory @@ -106,7 +139,17 @@ void recursiveSearchForComPorts(charPairVector* comPorts, const char* fullPathTo strcat(productFile, directoryEntry->d_name); strcat(productFile, "/device/../product"); getFriendlyName(productFile, friendlyName); - if (friendlyName[0] != '\0') + if (friendlyName[0] == '\0') + { + // Get friendly name based on the driver loaded + strcpy(productFile, fullPathToSearch); + strcat(productFile, directoryEntry->d_name); + strcat(productFile, "/driver/module/drivers"); + getDriverName(productFile, friendlyName); + if (friendlyName[0] != '\0') + push_back(comPorts, systemName, friendlyName); + } + else push_back(comPorts, systemName, friendlyName); // Clean up memory diff --git a/src/main/cpp/Android/jni/AndroidHelperFunctions.h b/src/main/cpp/Android/jni/AndroidHelperFunctions.h index 492f5dd..ea00fe7 100644 --- a/src/main/cpp/Android/jni/AndroidHelperFunctions.h +++ b/src/main/cpp/Android/jni/AndroidHelperFunctions.h @@ -33,6 +33,7 @@ typedef struct charPairVector } charPairVector; void push_back(struct charPairVector* vector, const char* firstString, const char* secondString); +void getDriverName(const char* directoryToSearch, char* friendlyName); void recursiveSearchForComPorts(charPairVector* comPorts, const char* fullPathToSearch); void getFriendlyName(const char* productFile, char* friendlyName); unsigned int getBaudRateCode(int baudRate); diff --git a/src/main/cpp/Linux/LinuxHelperFunctions.c b/src/main/cpp/Linux/LinuxHelperFunctions.c index d076e7a..524cd7f 100644 --- a/src/main/cpp/Linux/LinuxHelperFunctions.c +++ b/src/main/cpp/Linux/LinuxHelperFunctions.c @@ -72,6 +72,39 @@ void getFriendlyName(const char* productFile, char* friendlyName) } } +void getDriverName(const char* directoryToSearch, char* friendlyName) +{ + friendlyName[0] = '\0'; + + // Open the directory + DIR *directoryIterator = opendir(directoryToSearch); + if (!directoryIterator) + return; + + // Read all sub-directories in the current directory + struct dirent *directoryEntry = readdir(directoryIterator); + while (directoryEntry) + { + // Check if entry is a valid sub-directory + if (directoryEntry->d_name[0] != '.') + { + // Get the readable part of the driver name + strcpy(friendlyName, "USB-to-Serial Port ("); + char *startingPoint = strchr(directoryEntry->d_name, ':'); + if (startingPoint != NULL) + strcat(friendlyName, startingPoint+1); + else + strcat(friendlyName, directoryEntry->d_name); + strcat(friendlyName, ")"); + break; + } + directoryEntry = readdir(directoryIterator); + } + + // Close the directory + closedir(directoryIterator); +} + void recursiveSearchForComPorts(charPairVector* comPorts, const char* fullPathToSearch) { // Open the directory @@ -104,21 +137,31 @@ void recursiveSearchForComPorts(charPairVector* comPorts, const char* fullPathTo strcat(productFile, directoryEntry->d_name); strcat(productFile, "/device/../product"); getFriendlyName(productFile, friendlyName); - if (friendlyName[0] == '\0') // Must be a physical platform port + if (friendlyName[0] == '\0') // Must be a physical (or emulated) port { - // Ensure that the platform port is actually open - struct serial_struct serialInfo = { 0 }; - int fd = open(systemName, O_RDWR | O_NONBLOCK | O_NOCTTY); - if (fd >= 0) + // See if this is a USB-to-Serial converter based on the driver loaded + strcpy(productFile, fullPathToSearch); + strcat(productFile, directoryEntry->d_name); + strcat(productFile, "/driver/module/drivers"); + getDriverName(productFile, friendlyName); + if (friendlyName[0] == '\0') // Must be a physical port { - if ((ioctl(fd, TIOCGSERIAL, &serialInfo) == 0) && (serialInfo.type != PORT_UNKNOWN)) + // Ensure that the platform port is actually open + struct serial_struct serialInfo = { 0 }; + int fd = open(systemName, O_RDWR | O_NONBLOCK | O_NOCTTY); + if (fd >= 0) { - strcpy(friendlyName, "Physical Port "); - strcat(friendlyName, directoryEntry->d_name+3); - push_back(comPorts, systemName, friendlyName); + if ((ioctl(fd, TIOCGSERIAL, &serialInfo) == 0) && (serialInfo.type != PORT_UNKNOWN)) + { + strcpy(friendlyName, "Physical Port "); + strcat(friendlyName, directoryEntry->d_name+3); + push_back(comPorts, systemName, friendlyName); + } + close(fd); } - close(fd); } + else + push_back(comPorts, systemName, friendlyName); } else push_back(comPorts, systemName, friendlyName); diff --git a/src/main/cpp/Linux/LinuxHelperFunctions.h b/src/main/cpp/Linux/LinuxHelperFunctions.h index 6a66d38..e92ad5a 100644 --- a/src/main/cpp/Linux/LinuxHelperFunctions.h +++ b/src/main/cpp/Linux/LinuxHelperFunctions.h @@ -33,6 +33,7 @@ typedef struct charPairVector } charPairVector; void push_back(struct charPairVector* vector, const char* firstString, const char* secondString); +void getDriverName(const char* directoryToSearch, char* friendlyName); void recursiveSearchForComPorts(charPairVector* comPorts, const char* fullPathToSearch); void getFriendlyName(const char* productFile, char* friendlyName); unsigned int getBaudRateCode(int baudRate); diff --git a/src/main/java/com/fazecast/jSerialComm/SerialPort.java b/src/main/java/com/fazecast/jSerialComm/SerialPort.java index 727b434..c2f7ab6 100644 --- a/src/main/java/com/fazecast/jSerialComm/SerialPort.java +++ b/src/main/java/com/fazecast/jSerialComm/SerialPort.java @@ -38,13 +38,14 @@ import java.util.Date; * This class provides native access to serial ports and devices without requiring external libraries or tools. * * @author Will Hedgecock <will.hedgecock@fazecast.com> - * @version 1.2.0 + * @version 1.2.2 * @see java.io.InputStream * @see java.io.OutputStream */ public final class SerialPort { // Static initializer loads correct native library for this machine + private static boolean isAndroid = false; static { String OS = System.getProperty("os.name").toLowerCase(); @@ -75,6 +76,7 @@ public final class SerialPort } catch (Exception e) { e.printStackTrace(); } + isAndroid = true; if (libraryPath.isEmpty()) libraryPath = "Android/armeabi"; fileName = "libjSerialComm.so"; @@ -249,6 +251,17 @@ public final class SerialPort */ public final boolean openPort() { + // If this is an Android application, we must explicitly allow serial port access to this library + if (isAndroid) + { + try + { + String grantPermissions = "chmod 666 " + getSystemPortName() + "\nexit\n"; + Process process = Runtime.getRuntime().exec("su -c " + grantPermissions); + process.waitFor(); + } catch (Exception e) { return false; } + } + try { Thread.sleep(500); } catch (Exception e) {} if (!isOpened && openPortNative()) { diff --git a/src/main/resources/Android/arm64-v8a/libjSerialComm.so b/src/main/resources/Android/arm64-v8a/libjSerialComm.so index 3bf425e939f97ceaeb9edffe7ebd49c8e1b3e5ab..605affe83670fd0ae11d6458224a633a2c2c73e2 100644 GIT binary patch delta 4478 zcmc&&eNh&cr{ zX-!O0UM_87Pn!eAf7muXM9itCX+_i1Cbda1YMPHWF6P*hm{dH9LSpjzo85hunv=hC z&$)X)X6~K2ckaxa*}=#8;N!e2O=3w}`r^vL`78_uWsHYq@oNT-EDVdF5xqgZazyXd zdKCvNj|i+h(urxW=lMdjBg$K8ceHOeIryE9ulUzAh4%9J%mwIH1e^(skD3S)3!F+X za^;?!s5TdL9UCaOr8?W zHPSREtv6TjE7WUV$2AcIcZC~gS*(sWkxjraB80sd&P^R!7K-%+j6`$u38t-ZA1s&f zARV`O9A2>kfUand-hs=O&*Z?yrXAI-n}5*MdPjY86WiL-bbsUKR@T~7-zaFqmaW^H z1haidYs01pX>MW7P0bB0?NGLWP+I)8d3fl2aHkk{Xo`Ov`CDF-?K8SQrzrO&czhjd-htE5xd zJ42|Bp}=5_))0!JbB^hzp|=BOic4}^hlXWWFu=^@PjZ`v0zGEBGbuBtN!OnVEn*X1 z*7??Y!B?>fl-f{8b_RWeW^HTJ zO^>!!P6X;Kw9lPMoz4_#&_aK6`sfH)W(7M>Qmtf3dD3?JON=C^24AONrd0X-X4ZX0 zW(7TFRx&In7l;-@4}*V}c&dkQB46s=wx35WyJ%OcpMOp-rsmmi3+qw}5MaSQbRl)V zZCkY0M#@oY`Alk8Hr+D)>}DHV(I}}CICO{7z9x?OX*n@nF|2!nE<01Wl^#r6!%cK5 zt%IMSzL$=tUzeuG(90PGJee+J)ck)`^S*vTe9FTn z1Ttyd@LGCp^s2j(U#FPNJ+8y(@gJ0un8h&GU<_IO81g~t&8&zY5|eFE&6+5ki<#y8 z50pQ()LexUkS(-v>b(Yga_VApk4+2I*+}smq+>pFEJWc{s7`v;nvpS4MTOp7{9Ss% z+h~?7T6e%gitjgu$K`xSqK%5zj3rn6hN zXgw0$pPNg+&T-wGM9vycl#}~}xz46F^w{XPxp#%v~KXB`%1<`a!T+)vpR7G zvd}*j)r-ZbL%Fa`JH{WNf9B^Ee}4iy{#ABr?7O`0n#_Y=CbNkvwX6?Yx8FBt)6Pk( z>;SAq_=6HVypiS>Wb=DzO+g_ddbGgXv4@=!24g#U-y&Rv#^6K@cU2g~u)}wQujA}6 zU#6BVI>NT~Ft!4>DyIZ_9b_M8E5sRbyXdFuFA08ZXJy}&TD4E#!?d4Zf+(2&&cEx&E|*$e&lxv)~d)Jw$J^XS`! zbDA!UV}|o1$LD#$FJL$TT){CMsafca4Ik`On1+kqzW3061M+z}1KZ0Ld=v68Jax($ z`+f($QdZj$W&5z~4vJI_h~pT15e*mSxso8QM-8Z`0S`Q{N1X`XO}?V!ECrf6Xhd9M zzQSKPzH4G>QiJ+9ttu+$I0&^U35jobP7ICfrB=n%qk%*$hJ?jPVr4%@ALi|RYk$;* z2uDm^gdzg}JNP=8?PG0B>jFPHq(>kdA#DSH9ya(O^@}hXdSW~90Z9%vq69X0)%J#^ zYT05hYp+_$%Br2LPseeCDlhBg3>j9CqZH&SIr!)BVeSr|g+oydr^7Tkcnb7>98V&b zVt|#9#o)D|ABrHO0|!`Kc-(4dq1v|uwYPY>+8$V~mTgRAM>kAo?dw;wvPMk6j1-Fr z^xVJ_53HQ=7tXuL>t86ncAf6^&y-%dPEYxBt#4jOf&c?Y{8pa6vNkYd$JQCOO|6^j zw|Hx|w(f}B9P=5yJj>tF7``m}o3}PTu%*c#k+w&!@4^SqkQa1=iigAZ&gptTX!WqJ zkAtRN&~+6BapPaQz8AFZBV8W?ExD-ci3skIPjy{fm)me=?*;9?r0dx0taKFipz4^e z7uSgUz%^a(0)6&6I)Ijp>pG4XHf=)Jmx31E(Di3QN4~%WsJ%E(I`{z{C|)d8hv;LF zp$}>H?8VZS3-l03&%f!!>K5lM3@q@s%ym@`irxkwLz{Phz$1XB7beLQECG;)~& zB^6TX71~`gQyRKLhf3zHszzj6Fo~k8x;_e?1rof~WbHQp)byORA@+l_fitHA2`muT z8hiGG!09t#J`f8fnuK210G0s{!_OJ`vC4FB5Y z8ZP%ZLdG3FqGTiFsPH(f;xz{l4?qF$P-Vrjj#2UM1bjoZOxVET(9@UuPn3Xn=-tZsH&bh*c!YcbzvI@FCQ^OCpJY7147$Zb z2Ldx4EyWRsHz^In#aI5JAYYZ=(H4DZ7<4JsSNUzm{~sf?ziPhCc=wIcyO3`F{Xwqk R`8Vq$R1q1|OZC;~{tJQ|%h><` delta 3889 zcmc&%eQZaX^8t>uAR|;;EZa(yE=%2vBV>u`N_xDborLT|3G;76f57Al`o0_M;wC z|J{ys{JZDlo_o)^AHHws1wQlw?=6&iZEDfn+VBjPBpn&!Nm=|F!K1U2A~2;NrL|m9 z59ZoTO(}z^DP=IJCw-pLDQWM!aA!)*c9M-R@cdWIbnIL?<(5lZd7i5Q!X$7F*pf0N zf5+q3MTfZZ*o3rpB5*pm9xUb@0M~&mp)oDHr9d%#X`Ew}(Y6PyF~g9TO4 z(fTFS&JEl_FG^)ScIZlymefxvpd4(@(0S1=0_TIrffaBS*b4T6%fNYHH@FyF2^KUN zJPkaBYI&JaM&Di=&5|qltJEnka9(u71}aGvnmqxu!)Ya*lzluwBL>CXiqZ*PkZcAY ze+m5*b0F=voz@zZqI^*m(18@NV^XTe!E$=d(9AC(On~noTUMELv6!Z2O)k17<_o%( z0`_O17-LZlJ)Jd~8>l}kP<6nSvbH0fphv;N=|H-WgK7PBI%H6ITuhdx7~7@6JlbY# z=I7|B5oIO+m#&}%7RA)Pa`pNi=%~lCUMv@5@$_bt z4M|Zf#U)Frm9?beNl?pFV^yfyYO&^KXtU@sXuk%nJ40)s7p;mlHx(=SJB7Bw?*#nB zUeGB>hoFsHEl#l;b!yLuI>HbTT=cGGFH5Q@nr|&Q&Qy#!{E=K35vJ!h zwkAShMmI}bG@9>_VvJfG9;$RWBsWL1PU_(Fl;cJ7ncEmiE{Ob|tOaeJb6ITnRhjws z8`<;`InOUFeelrRFVotBGQN`3f``qoqSW%*sx_pUOtg-fMi0(b6k;TPobv%-m4Etp(_Ivx2^nA6`1AK@lyb#CEn z>8MlTZ_-(3d;aHzQAGt}a$aONsrh--USySyF8Oc@t@#GO*n@fMWDi_41R| z3k`8q^c697xe8IiY;)SeB>H>Nm-$YrE&i8u#z6iOKUe6%lJ@`1s_u&y#G_2Yu!)Re zlWQ52Xqu~)-=qz$XPw>fxQwkNCNY9F7(*2=K|V;f(q>Ck?5^&P7FBGW#idRB80{;a zY3#-p@G?46`gOh8ST@%3rc0(b;3T31FQ6oww_R$aATlt6N@+>u$ zGj(?tqvt)p(EB!)uhZQI%4_+<^l|w@F;b(qTp=7p$ZDi^& zd@@sd2eO{hA+#@`kGP~o8r?zpAzZ4C$kO~^|1x)QQ}_H}!(2Dp)Ha_r%*ki{jmU7n z6l}nwcZTTTNam6k$xEUmVgs&A9$5wT%R?OE?>LXrdsAjht~l9iCrh?C zg=#AdUd&-&O|6O3-l`lEW$GvH7yK` z<4!mM9Q;hvOgP+ze`?x%U>q0*=3mjYw}5W}M}b4vVMoU8aZTF}EKI--90c0pXe_@4 z2RvIQ+}5-XT06}rRmbS1X>+AhBXj|<=wtFvpDSJagw_EnKc!zyZRq8ot0&uG?+ zI%&;6XdPhTWr_fXF4Kh>4@qmT(yY2>Y3Ld~T{l@;G)9rSy6mqaqm^RxF-;qksIGpl z>#&#?Sp&oM^QB!)Ci@|%1nHi?mg&aqQrjQWYVmj%WTShU z%J?X)z;B$s+Z6CDH>E7%`7cQSlo+29nU~HsmDw&frvjsDNg5_|bD3?(l9I%eT~IGI zG#}a0E4~JV^#8#v|MP+M54lv@1GihsIS-SkHDJ?=spBH*gjO%Pj$V4THDK;d7qgen zw$|S%tzP0`@`M7myGzQbGZe7*rXTh?R+iFhp~<$l(%&sQ&ZH59xcftMCwbZews898 rsUrfn16I6kle^@KF!u_O|jz^ zqMMiMc~IE|(OoPR^r_Z$&6RTZNmh&6(2>i`VCazP%)aNFj~w}H|Jn0A@4UbFcg}Zi zzjOJ%>DTbSh#zqyJMm~a{esKz zdm)yP5h&(0f>ge*a~HH45n)WzJ3z-P6{Lt=V4bXO=LZ%Fy?f|rC7qLp+Pcq4sF zmdM?qr)81JuSXKnEIs=sMwhH2Mc*?HqzPhNbUu?RGuN@ zV(5GFITLjlONCVMfEUhmL_p+=!n64X%SD7LIY!1KXifpizhTzKhp_Wh8EcX?N0dy_CNqO(iaGUS}G6&y}@b9W<&qeNf$#$Iq5af);v?;pp~`c znaZlQ<)iL3)onV@Hx-7JsPEUnET9;`PJJZBKrMCh10g+LK7nzCSw zP8wTWu>jlmxJ<}GAP-F3=A|Xb`8HnouGcZyMW31z0#)#JlW31i#jPtQ4d*XW)J^Omc_3Y?zvz+N2 zL7du}{M|SM`FzLs@(bI(&%1Z3cht^wvQwSxBqv+zWUHL)U?rH!1cM zjzkl?wbL}KLd~c0-0o8TtC99|)A*j;vp3}pcI$DI0>3RLuEDkCw9&Fdk0|5-`M?ax zj?+-TAT9TH+pM5C&Rb#1xy|Vo@kzYhs-Q0f>tv7H>G5E7(B;9L+g>`Qm~mk+{A3cE zBbGnV!Qha@GlM>2^`wKyNhV(4GP`GB|0DG2KosB$*l~gwfv;#vNG!LBE)7}A9iyLw zEawtvSZG+TYEZ#{GDLjjT}k{xo>+{wD?=Pf?I0@BLsZ;u&qmLRMm=}gZuJ}V7Tasb zo(sZ43k5j95{cN;4WU)C5F0gxE()k0(DQ6OT8!qM0WB|&vRk*&;;>|{mTn1)UAzpw zoZB*;9{I}#xIGF!?4*__7+CBhje9m;9U)1M#tQ}tpoEk73nfBS*FN5v<@ zf7XU!Vep=f|Nf=@kNX|%_u|G47bpInn@_oj^^;<86#D@~ zVT9ZRl(4;kD%dXpdw_#s^k76m#-IC?mPmO;_tG5h@AQuwM4< z*MEC`@raNfq4z>qI8`(Y!$#8a_fSGE(d5W9u7N%mSw2n&%>yYwdMN!Sa?ZGfKCVID zVmZA7XI(=Govhl+b<)48V!VI2r3-iA+82}$d6EvmX`;DyPKF&}Ehid6o}2odboJmZHI${`_#o6RNJti$HKkr={u zS33MxMij!syc={wbdVvz_{T1TkTervGbUR*5$IcnAIC<#5yE6&R(BQXxY5=*&KD@NdmF73vI6`rWi6UM}<4DB*YWT5y53>f`aT;p^9!ZtKgu( z>;|)3TYR-PzOd`qo4I#uCp7BkcP$tes%_SE^AcV_iEZX6J`;S*?C>Xveq=zO!hiG`rh&MLoTQtsKS_y1D9Cy&Q1;49t*xG9=!a`9HM zSK5Ulh<)c^sULS$%Y50-<0XHuLo$} zlpEZ#w#3JLWZWv6k&wgj^!0>4%I@~j=)~i)GZAgwi5Fc`)n>O753DLP4z%1(o^m(9Ig5 z;HKU1C+K1D5pcSZmGcm$_cK-q;RAL9UaE*cxTU38*emj3A$^eLy9oD9%-;Kp-a!0^?1t%fyCE3N3aG)X;Z2fm1|OEU3VF9#ev`0Wd$nhXoIv zk$5(kz0vbvTx#N5Ic`z$g9jH2DWS@Y#Rm2l68pP@{lmf1-ZWehsSexuw-Q_H|A0yV zTcvFeGXBDGE9ePbq&u4jh7x)m3LmH9Ohi+qKGG!`Q-|rAtXF%mS!5s_eNrFcKHB$P zbb}sGu@C^C(hu>}r!!#9pcnLN7ssD+^tN8@&SrwaMki)PD#gF{s4h#REWy`J30)0K Y{5y~C%+k0QA%sQv^l5H8oh9e~3q0Pi>i_@% delta 4824 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 CB}cUY diff --git a/src/main/resources/Android/armeabi/libjSerialComm.so b/src/main/resources/Android/armeabi/libjSerialComm.so index c6483061ffb0cc264f5471a9e0a615b714f27edd..303d2bdba4b2f97655352b00abdd06de78bd0260 100644 GIT binary patch delta 6467 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 delta 6141 zcmcIodsI}{z218s!1w^<5kU^j3zSDt2qG9o5%4i$1i>3osg6OLNwo$QBe~I>u`!LN z#$b2a4rs0#lY0>`#h{68w86yNHg{P&lbS>uy-rez-mGgqy^BPUnK}2{XU^1dR{yyF z+`ZN}-~N8T{rv66IcH8EqoupL?>UCv(D&ejY}V*ja~ zm5&-q;#DuAcqnoGS%kjErt6I2ZCH6A4x$8a{5$B{smiJn3$zYPav>~G3DB3Id)2|G zMd)nk@W~ZI??Ny#)%IsUs70~}hVW=LK)X?)T&?i^2)!9P9?@)3{muye3Uns?cGce= zq2GeOzZzl;c^d|)5PMIZ(R&g4JaqW-T!apf&{gPA;&J{8T2wbCkKi!$o-iG+oSI+_ ziwMq!K{qRC;7d>mJy>>MH$o?c`JK?2Vfp}cPndoeI+XZ;&Om$7UJ~-W{fl9Kkr((B zhSZYa>Ei`%K&M0F#3~i|IbIJPYG4Ai2wkQ6CqsV(JwervL0^MLK$ZHdpsz#Yrcm@V z(08D*%|ylUV;H`y;Lc!ygV57Ul>&;t2l_?mX4U@@bSRmS`8-13f~Mt!w5dz#kMJi( z6T+}0i#3QppRpANM_34FK=+5~dgw7>dOfr+Y>9S43t|2@puQ%)edLVrWGBVAzi(n5Yiu2=sf< zq3iWD^f~Cz9=HtsDKw8PpTHgHFT!+`0sF}gCsI85n>;o`rv`PO9P>x*#HX9rZCv}* zX0mzRnzfv_v}|trVY5POT1eA|r?;$wxz8|mye0M$tJPe>?QVH;s18h=q z!Jk#2Wxx-^YknJlB!h>(IaZ63H$`G0jLL706hH@@HDUx zn9pe~GV_3$z=zLPL4yzoDroK&UTzC@IxBBIdI0v_j1OS-^LlI<2B9(LR_3Nx`UiY6LOey ztVqb4JcB*a$@w8%<(x6pUe0DhPI5-@Pjk-1b

n?dLp+kn^0g3Hd!|gzy4qguu-i zhvO1wEZAkvSjelKv4g#w#R5WZ@C?@O7H906|K^MtN}Ox(EaHs)FvJ7xTTQuH4`9noV4h<0Us`rR2f78OQrQ}8Z6uAZSS!`-;+W+_rZPcWZ{^~2S8GhMn zCt0P!vsGv9L=xGvsV^Ch`PMrwFV{$KF~fxP%%A%l4voZoI@j1<>1-6@WB^71-y(Ke z@Xg6=;RJy`-}mH%G&*Kzq|jy&G%k%aGQ#$y%@Y%4eMXc!rro&ERIMo=U7lDO!!pz& zACIKlbV}j#BP3tz(YSQ&MA{|WE9`TKmzebJaUG)_9Tn8Ak=`E}hXM4@tHnKa9m{tM z_#Nw9Z!DSfhhdA5Zp#)l(&b^Tne&BVV*Sh3QP!hdQ>rzB&OD)=vmrKi0+%sbp(j(46M+-iUx7{UokVslK(=!>k~)K1G; zk@>}(FLAyu02%{=4(af6m5d=8dD$?_{l@YokR4o+uZU zdRcwumUa7N!-0E~J|L?rH#?fEKSuNUN(?Eu_+JStE=V zbS`~6m0p&q)FwCCV%tg)fgK~8>||1ON0iHxnu{7M)t;s)Jyo&1tZmf9j%Jw?q7_fH zK#Qg-zB>W-S=RF_#DMMqEh3)JzAhCKmHpX2@0Hu94&VK4@2qRMoP5AHz)s*tz+L{7 z02_f!pu8fE7-7o><^zj>Be>i;E$r=ytKwKdE9f!vA`hR>B9=C3NAZ5#fgQj~;0a*p zRIISmp%an?TDa4`2RAa6Dg*f1a+~aLIP8x7gi15mA0~|#O9HfjN3xASgb{rrL4Tb14D{$1Iv#m&Ja{QF!2<`?d34tLTLs^z* z6KnIS(amFpv9@QcsFV`WWhA+|UmKMcJ6YJAHYzXLUDRwsD+$~t#?onnH;J`-DL0J^ zG@pIVgj@C0o?dNRj1UW3TtL%?fqS~V+^^3do;SSR+jV)web9Sn`{XIa?4N6kR!WQgezU;iIOq?$ zvi-EJ0J_Jo7kCq${_K(;ua z3-aA!nU{<4^Vao#>ZPGO6>ghGUW1lW$fEBmim*C+M6NYjuC=wyx=DHzSMVQR-!&Sc{t`2krLSZ zm1a@6B+ISy`{$AVLj!TrUT;c-PKwa+5qeC7j)~B^2u&W;7O(G54-Q}`LJzVXRW)L7 zgtaF^cSh(pBlO`2eK111BJ^ty>MU>Dg9h*32)!GcxhsWnk&be9cCL~2%#G&|JBJ^f zZD~X^XNDg1XGZu<5n71Qx`_4{J*X|--4Pu)B6KTzWgZjTK9R-V?lI2(KXHzCp1Hy~ z%DLbR&J&#%6xKPnUzNq~=o8NK;NI>8=iqhDG0q!aS)>H7y5R1Z6Hfb=u=jR34|0Y- zbzXo+JxJ!G&d5i1bPG|0&p#2ff zy}ix?g}aMzf@8tF!k7{E;etN4*JkPS*hF2Q*Op5Q zo%{<+O(M*T^I?IbhTSx4~zatsl+xGuvG8uxCt zwa#eZ(dWoyuh$u)-kgj5JePe~XNd~_)6TxBvlw_3INU6`-l$jpuV>Tit@=j9u#v4n ZPWg|X?WwmK8nAi|HF!7cJ5{fx{|naU*Si1! diff --git a/src/main/resources/Android/mips/libjSerialComm.so b/src/main/resources/Android/mips/libjSerialComm.so index ae2dc06345743ece365e2fc417f7df0f6cfb3038..738ab9c2ddc1d9c1df0f11a2456dec55ed7cf1dc 100644 GIT binary patch delta 5411 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 delta 4485 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 Ouxq^m{t@3?UGYC`5JnvU delta 5484 zcmZ`-4{#LK8GpNX7ZOb1?n08gB;0Lsm*hyYmxBP=0}2~R6NpLzC>*HFq4|UV@Q76- zW4#4OO({+fK1Fa+dm>`$_~$fM18wPHTTGpfb9SZ{m_TAn^~Bnq76qy8_ItZ;`Ew3$ z=G*VR-+S--_rCXb-%h;AC7$GB4tvH*v?A+_WLkFCZfYJ2>P>?a!f60~<{%Bs)B6YJ z>A1mjC+T?Z&f^^wolHnJ-=U8oJ75{tQFS#@{T6+g#^JfOC6MC0kP1x(o^RrkFpsa% zo~7^*Ux2mkd`&cY$x1r;DU&WjM+w=N)qW|f{RV4K(WjCBur>=3LkV%RT6&Q#xs0{# zW>zU>JhKQEoBS1tYxFja94#SMnXETS0qishHdz;DV_Wq*{7S77s`l4!hA@2zKAMzN`>rwfE-g5jH(v;Yk! zmeV>T2br`KO$ID~WLB-iI+c^A3yx(J-J<1_E8ULjC_aCwb$mD8Td+?PRHzTVi|vTi zm4YtH`S(@u?;}p-WN4mXIjcQUKh0X&5o6or2Ij#Zt|I8KSHVAH5gMUsjwQn)H+Gfr z_u&}3=D(5Q+B8BoXqKV?n*EoR4AyDVPGsS)GCY-q?_hG0S@>#(ClJ3Be-zThI^tOq z9$W)nIubs&O=gBDWUQd#(oOi&;TKgGriSvWl& zXymL}c!LS`Yv({#$8jboLyxh`3e9?L39@iEGbojXA7kT_S@=C{d?K3F;b)5DS@}FUGlAxqwe9s55KALN-Cp!XIULVD9jVYwk0N_e8ok zb=}@a`norCQGV|a`fj^BLhkOq`?kn~*oshg+gmyxbxnyWO4zCw3Dxf_&x*w7M7CxTiczLi_RN&R7QrJJO!h%*P z61+EU5w&8E1XGIY3Z!?@ir`7XH2Y*+g4Uu29eEIu2Tmp=*j6+@PdeI7EyNi|i?(nh z&|F+-Pg64lK{weKH=S3Yr+D=o87&uuxJmQGCzHUHZ9c)KO}W9Mc_#+qrhfRMIC^!l zyGs@qY1441p^;AShtErzE}w>0Xll_aw5Hv0AZO^si~d`khW~S&hW}ffZFy3w;oEyo zKbMAYoK0K;W|p4gBQHR0nWsSdge{LuA`+}CYh=OORko-=>c!w491~1$jUAKVRM~us z)I$U7Dz8OR%gXD}y!*;KY$KZ2L<^RgSiA|?JiQRoCs zb3G_Mu0;biKjU?wyo26)3?6ERGu~AN!H>Jd(XciGHMCdt@u_Fva8=Dz)L?X6)RJGF z&-H_|`guOR7YToDV*j(TIqp)`RsKwe#ti+BSH()~nYLb=J9ULzpN6+5eLU zRkvgameu*3s5_uMJFaP>evM8THf*n3VhOg=RrpigWBk%5VO>3L;2tew^_76#_4DxL z_@Mp)bYz)WpC`TBO9f#rKP+|_lf|CA&Ruk`;8_LD{svBf&3=zFh31@>%;db9Mv?k@ zh_O);f>-<{dT%HXd+)+MBxp8?vFk9PC;cUy0$=&v_$+F;mbdPNTN`SNaxuo#Dqrx0 zE*FulVhrto=NcAq5%{RV&1V$g1Fg|c_1C@qeGO3$>FBt1@|Al}JJzB8Se!$-#4b$jCV{t`Izrw9`@?iIYc} z+NI1CQIN?GDW>3Ag)t5&yQAYODO#Ya`{qh6o=Cyp^_oecHxT@=hm1bog5U90lG@)w z-wjj<<#NWvT*@

1$B5D?Jp!b+x%pb_pJJ^^%y!)NL-kl`nD5&N&cUzY^7n= zWh6~z5?xx4AO1!39bhGSr^sk+i;Lthn10I>-QG|wH*$Xg=^~r7PeMA0z9+7DUyyw& z6(|Z5d@k1M7%Pc0j42+{-!WqUK5f-3<*hF-^EMPrpm(QuB;>>=cZac!)0n7yb@vlrFgM)%AsUR2EYT(W;*-@a7oElNBw5*_IqYLHgi4-{C8??wnk!K%1lQEtuZ5T;y)Vuaa(G)l zNtVzN?SsAj@I+G^o_l|8S~4t4DXzduCG}5e2YT6X!8{KKOXmwwuFN!lHpgif zQTdpvc4B?c2~{0Jo;$9pxjaYYk5qLd^1x|T9YwButf~@bR_CXxI)Gd`qpHV{Pkg4T zf|(NxGRR#H;uT?dLJbXdTR|7ey;9FFj!$Gt46_DEn zKK&uw+P<1kAA>{f>-qCzPz4D$zr!=g;vd7A>stAd zPhi&d%lXbUY`gwpKJq#6%a`+xf5FP-3wcKdb}euH-p!aWgJxXF%>PtcjO!gSBS@ws zIE@cZG1D#lwDrm2U8O&p{A~Vi`%}}v0k?G2~NM`=zu-b~Y9!Al*jh1s`l z{3wJCT=`9k@pTwrw=@*172|%HVE5G+y9FE9?KHbK8no1Yg_o8)pc!{Xqd5+^=$4V!ka>IKoU3|O}&LB&9VDc*0B>h*xRG7NT z$vI%zDmOn;rwvPpuzi(_$I#<2KHUIkkR=)o?Xfw-wKo*=^e9^0U^D(~UF5J8QRDxY z!3*HX>W0Zl{QW`;{^+`}dhW#^kw#L{lf$;!#G}ylL zuMxOVgU$FoY5Z#pLvtvQ$F4N#MX)8*WVG;?-63qr?0+r-D3 fVawWuc_Ym_7=|MVI$GcYf2Odb?*NI8*QmE diff --git a/src/main/resources/Android/x86/libjSerialComm.so b/src/main/resources/Android/x86/libjSerialComm.so index 2eb1bbd77fc960c71c25957fe751665807c60a8a..bfe439cc92e4c99e868e53edf8d05943cba5c502 100644 GIT binary patch delta 4326 zcmb7Ie^gXe9>4D~z<}d8zz72jFu((mUjxQwA%cu3xsg9HYs179Og9X|fwf{64DC2O zPG{=tW>$N$&CJSeEv>b3T@+!=?d(!=%32#u-5h_^QrSUEeEa#nK@In>edpZy-0$~( z@ArOxz5DK+{&iCSI>}o%`RO7dxP=NlCLtuix>B^6!PW)_x3J-H8Mp!C8!*1%i5KFc z`fn2AYCC|z15dnfkNT;GRhYesBBWVT2i+~Dgw~D|qK|$fB}!h}B$drA$PwZx$V7{9 z@f8&G<$?w>eF-=aCB*6B@gm^y7$NS589d$qdUmW3hlj_v0t+mZE$2&Jbhn(6x+77D zNyCGSFloRl#HL~88$rVa*)G?n(;+!oF36y>a;a>}r0kH=c5kK-2Zu$MhM+V2L<1kV zfo{ElZoh$k>;~F%1HA#XZgy}1llVq`HbfXlFkar-6LMe3r2Fcf70t_A>zijTUQsU^ zo9Z8^Tiz_1>lfECE@^07SOjzv*1#v>n$3F1ES z0e6tgKE`BJAY+OUM;L8F9A!*Hu`t5hQ;dob0Y><7o)KOSFlGsHfe{{GWXu-gGGorp zy%CQ}lhhZN!L?<(@pGo>imIwFHZa}AbS>z4ftS!--F;}P5S}_E;OT4v?b0cMX1Zt8 z zcbih@4s%s21`pMM=W2tN_m*(4NC8`~de>laca>7-p;kXt8B*lcep+G3D{>5}s!yjN z3j%8w1tx$-=N3<=i>I?WV8a++g;D|`5iljtKMbFkDlcPg2)cE<+0DKl@2Hrc~bTrwYJ6Kdl+FMe3*VrbOu=O*74rV-x6U(@inum*5R-HdJGcURQ|{ zu#?|ZtX#NwBmV?AFy96lb}|s1NF`Af@{^P4(Wqj1qo4Lh#mX@7 z`04W)i@eoOgE0lxwb-(tGYg_OM5CVtvgm$utb9D!ea&1LRq%b#sSwUxt`acOSLSJB z4_)BMDS8fr%wZ@}0=-l@wng^F(%!L2(nLBs)}El{V;_p9O0l}PX*to#2QFvC79rP1R0u(U<}32lzl~XN5Z&hp6h;f zL{UDL@PKq1eV;Jh@CiO+czOFhuc0C;6AQQ^9!e~d+UfPg_K|DcYIVpPC(v)KIR-7Z zS1Wv%)gi^wpj9yp7HZ0NaVgQbq*NJc{dv-4PN^%YOn=RZzNER*yOf?hM>;|+$@#MB z7`+5yDGesuq@R%`WrpOYU#3)8-af0Uofp-XPZ36o>uYy|QtQHt*GPL)){XRcu5G?F zjkeip&DCeLIj-K8o!TtON0BwPZKV8`)FQb$Kz~cgrLeSnMvkpWn=fTkcUqP-j?SkQ zUbj0VeVKHO9#3~jHS}S6N8E4<6r>2nqo589o}CE(GG!iTSxJ?iC%=*)t)WXwcJA_j z!>}%i9eDi|QiAxoB$#+h$ZvJboN;~pahjD8n>Y~+9_Qk5->G*`*SRaamsvE4Ix-R$ z{TdrLa(BwpDIbGmn^M#p&hHn*lmZqTz%nSQUgtzmg^jY8UfM-;UR*QPb&60j!f`+YG5UqwUeAv)b{}X%^vDxM0 z?Q90)PBC~MO36zpoQUY;ZkB7*E~AeXIyU+nAV6O=!0j{Ju&X!W?<`S#$aNO9|S zu!7nzv}(y>@(MF%fibB~$!&fI8WrYD9v0z#A^K+;t{_E73~Vy7MY$(P&PrdXKOog|6W)A!nqOj9~CA4rZ#2B0IgRogMfjvy-X-~4& zDv0&6pYTw}`6MNSoarj|d*;Yvrcr-ZK|4zBtshmjqfCrh`z8XenKT^5?YuVU?P^s2?mYt`hI?8c~?VZ7NLLUnP56CTC#(OrP(|v|A0#F**SastCHRW!PVVwrjeX;v+Vqw zigU7Uw|x#potUh;tCbSBxOIO^1YWx;?X?S>#YrNk$?Wy);!~{fvbpmHgfoqXCepFR)ZWN;2sPB|#8Etco`f{VLo5%6Z6(-EP`KRM` z*TuXy>~lg(@YOw}=~+^c8ukIc+(&t4JiS4;&E?%jQ+cn^Q0{|oJx1MhoaEV+CLO|wLrNb>g%jgN-kBUdj4W-{Xk|VDDkw9-aQX;hfAn;#<9#jmScNjvw m@WD$%j`UFN{|CyLnjXq`&h>Q1)bt1rueS_!q{*+Jdhovua#-mA delta 3815 zcmZWs3vg3a8b0@uv`LL2Z9|);X_K_K4@#g3L=h}~FC$Ea7D3mQms(bwMXj2mXtC9z z(-@-FpIL$F&dLg|&jl>YpmeYZv|ZO-b!D__&vGa4of!9y?bvj`yp+DkF!#6|!N9tm-|4D5is1M-e%Hl-);@Ck8# zbV1nl%s+~gFSXEs*$rfr=1PKYmYjM^z7W%BwUjAYXoFNXuXel;e}qnoNECxG@LdsT zAk$}o4aq_ri_87MrKv*v0dBB-1?UgP3Gq=}{vvQ&Iu*&2q;k4hcDlWpLR=dcF2SS* zhY%a$#-9TX7vy4jAcx+Sv*m3HosdiA_B<*YQ@RLR+AjtFOUJ|s0MpAaqwl$leh{>- zHa5p1zE_(sqeGoPj=5uu^PYxfch}!}pSW+?t@Vs|ExYUXhE?MB75Ch~3^YBLxZp|; ztc=CT#VDY&iDgFQOPDc|sKPKIc>MkHrHBWlz)S2T-6 z6z4r=WS~%tb|DTjq7MCx*+N7Zok9#Sx`a5&m?K1#5n-QVg!kVuBAPRd2zQ9FK!{<+ zLXIT%Q#*BdP+u^J&Z4B1QsxcOEubIWH?LZVaJ>=@w=M@A)G5(t>GLaQ*(k8X~G13MflMO-g+zAvj+# zg((1DunAUnKg>^l1#E-bz6OhjYLxmgJr$w%Oip=2ga%C${kNS{)n1)~Obe{-kIn;) zhik&En|M0A12&xLtyW5)B%=ia9P2PWWX_i# zs-VA^r>AXYYrUa_Q2RQp6|8})q3sd+!CYeRVo{A^3$?dj5ba@J6FqEo(j8+n<=zOb z8CxoU5TX5mPa~wWY?jW@%a%+jN(U@;@=hDslBcBJdKS^ZXVZMF(Gx6DqH}3+@^r=e zE4~a4+;>5TgN(kBL0!q!vb~h#l}%HDBQnwBNKO$*bC?OHwdqG@UrN9ZN3CR+O-|6iXYlN`;X*Lc%WDLbdoImZN(mfQ0k?$4@}uBHdF z6jL(}JnRHJxRvOyS#B9+eK%_cm(-YDX1EYUZT39rGkPJrP8y;gvnR=ghbYfkCp|$A zI9<{LTJM}Cy-J6j)wYjMsA}tw+W0BbXbb)~v_e@L#EbVdmAcwS$NL}G0%;i)x|do5 z$F(`Zp2kjX7W948;cgnOujKgUK$OZ{9(p3@meI1ooCVTss>&^tw$h4R-$lQ-G2XMC=r@RK_8gHok)IExq+*k=SC|o&a+FKX;og4C-^lS>y|ixe;-9j zkiVb=7q1!fh>n?eUX=fh-p@pm zR=^JF?@8p>3tEbowJeyAj_L_a1?3ym=n^%!w=w->M(Y8ot)`fF&*)h=!|Z^rB&qRO zkFHpIqfXO9`EI2-w#I&#oX;jdgs#@4YyQbQ8947BrKbzV%bSnVTLt6Ovf#<-7Xt^N zZ^gT0V-5XLI$PklbLx>x_hBVk09xA&U>dJ7pU0ZPx4}oDt-)S?<+p>9hFZJzZ0XG5 z*qa~hf&KZ?PrUc@);7$hRwz2&4%?5=BZYNx_%MA~=vkl+YbjJhx@~Nr76vf2kjW8d zl!0+=lj6DWO|TW_OpL4Wvm4LHSB&7*3*-y!_jmN=Zmed#BNePOZ6R@sdURqO%96 zeqw_)yhFQMg;$Dj7j7Fu{JvdKbmBmB8)oC4BSf{?GRLeFxY7vhQlcDuh4~d`L#sU3 z?3!mbRG4-9SdL>rG(dj!rSkfV@&NelkmK5VVZLQnOpe>RScegU+!VWq3c)vlmoV0X zX(YGTPWKnP6BZ)a`D5sdVh8Ok&XFHHLZ1~^%F5T2?XA?;9#hqiXok;D&E7oysVMK* zJaM1btuHyLs^8F8lWipVrpo;%X}Yge-+xL~H-KrU=X_ZSC4;KEUr(jJ4Eo4dr|-Za z@~&pBYO-7J!I>9_6_dMM@ z*;M#2k;7dmvQ3JhII;rj;baBBJeL&1Uv7V-t-IT*$Zs&g=W8rTw{)dr(rP46+lW1ev%s0xflca8%RpB(U8$9~x zUQp}=j~d!g;Y^6aHoV!dUl}@Af5sHsZ18p~?(y2<5em$IDPv(^b diff --git a/src/main/resources/Android/x86_64/libjSerialComm.so b/src/main/resources/Android/x86_64/libjSerialComm.so index f1e391cd96e5a100929b74cef9ac4050250d606e..5feda2dd800b188340378193ab831a7e63ce5be4 100644 GIT binary patch delta 5043 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 U{Sz`yy94uSXTY{E9M~ZK4+!(9Z2$lO delta 4506 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 EFJdb76aWAK diff --git a/src/main/resources/Linux/armv5/libjSerialComm.so b/src/main/resources/Linux/armv5/libjSerialComm.so index 42e56d5572e0d99f4d74eadbd145e4eaf5c8fcfc..3a2ad59f6d41127c48247b686c90d4725ea8cba0 100644 GIT binary patch delta 7925 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 diff --git a/src/main/resources/Linux/armv6-hf/libjSerialComm.so b/src/main/resources/Linux/armv6-hf/libjSerialComm.so index e8888cec947bcb34113de130f1beb12f90a1bece..e8f7999e1e500506f7dda08f50a7a4a4dad084f2 100644 GIT binary patch delta 6262 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 Jk~>$n{XaX9-(3Iz delta 7516 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 bu4z~>Z$fq3o0A5a+P?k4LlXUH%C3I{(+`{p diff --git a/src/main/resources/Linux/armv7/libjSerialComm.so b/src/main/resources/Linux/armv7/libjSerialComm.so index 65875076003c4e7dbf341b9b9da823092b809284..83f8827550a6f4ce8258b390ba10d6018eb1fba6 100644 GIT binary patch delta 7612 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 OkFh7Gxg4&O+y4V(V<>9? delta 6145 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 diff --git a/src/test/java/com/fazecast/jSerialComm/SerialPortTest.java b/src/test/java/com/fazecast/jSerialComm/SerialPortTest.java index 30fc2e9..99223c2 100644 --- a/src/test/java/com/fazecast/jSerialComm/SerialPortTest.java +++ b/src/test/java/com/fazecast/jSerialComm/SerialPortTest.java @@ -32,7 +32,7 @@ import java.util.Scanner; * This class provides a test case for the jSerialComm library. * * @author Will Hedgecock <will.hedgecock@gmail.com> - * @version 1.0 + * @version 2.0 * @see java.io.InputStream * @see java.io.OutputStream */