From e61a54267f4f12e0e269691d2d0efc98a7f2b039 Mon Sep 17 00:00:00 2001 From: Sean Wilson Date: Mon, 13 Feb 2017 21:20:02 -0500 Subject: [PATCH 1/2] Use the IOSSIOSPEED ioctl to set non-standard port speeds on OS X. --- src/main/c/OSX/SerialPort_OSX.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/main/c/OSX/SerialPort_OSX.c b/src/main/c/OSX/SerialPort_OSX.c index ddcf900..4262314 100644 --- a/src/main/c/OSX/SerialPort_OSX.c +++ b/src/main/c/OSX/SerialPort_OSX.c @@ -243,7 +243,15 @@ JNIEXPORT jboolean JNICALL Java_com_fazecast_jSerialComm_SerialPort_configPort(J // Apply changes ioctl(serialPortFD, TIOCEXCL); // Block other non-root users from using this port - return ((tcsetattr(serialPortFD, TCSANOW, &options) == 0) ? JNI_TRUE : JNI_FALSE); + jboolean rc = ((tcsetattr(serialPortFD, TCSANOW, &options) == 0) ? JNI_TRUE : JNI_FALSE); + + if (baudRateCode == 0) { + // use IOSSIOSPEED to set non-standard baud rate + speed_t speed = (speed_t)baudRate; + ioctl(serialPortFD, IOSSIOSPEED, &speed); + } + + return rc; } JNIEXPORT jboolean JNICALL Java_com_fazecast_jSerialComm_SerialPort_configTimeouts(JNIEnv *env, jobject obj, jlong serialPortFD) From fb9dc8159244d9626dade09fbb4b0a9819e909c6 Mon Sep 17 00:00:00 2001 From: Sean Wilson Date: Mon, 13 Feb 2017 21:21:19 -0500 Subject: [PATCH 2/2] New OS X libraries --- .../resources/OSX/x86/libjSerialComm.jnilib | Bin 24888 -> 24888 bytes .../OSX/x86_64/libjSerialComm.jnilib | Bin 20860 -> 20860 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/src/main/resources/OSX/x86/libjSerialComm.jnilib b/src/main/resources/OSX/x86/libjSerialComm.jnilib index 0dc3f7b59a7f6f3c82d22591afb7fddc8b6355e5..0af2785e98bfbae5789b661b882f4c8f04b791f2 100755 GIT binary patch delta 5073 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 delta 5080 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 diff --git a/src/main/resources/OSX/x86_64/libjSerialComm.jnilib b/src/main/resources/OSX/x86_64/libjSerialComm.jnilib index 400131e7c6c066f87af5901e5c0e7bb5bc5bde97..73ea3a180e6720d5323d7cacf6abaf103a678d19 100755 GIT binary patch delta 2909 zcmZ9NeM}Q)7{K4F6be|cU|WhGv=oXAKM6Mb!yzTYJVlI|5EqTZ58QM*bt)NbV=ZaV z^tjdGURgBLVc3%S$EKY`2a8AvM$v7E&P7f91DCm!jZLP`VN|;3{Q&2^f84#l=l4AC zJ@@wR`lMBO(ke6sQ#=MlM_D#Id%ii;6({~?zMC~#QEFg80O5F4W&}3`NsWNOzk`jM@cy!O@*K$AEYs2qSx^~L#{KDMZyOl zFxVX<`P6*|(fpY5NDApM;+GPub-7u%HPKx*!-bIAd4`nVb0Xv)L1JJ!^eKf-4L>H; zR1Jbs1lk~+z@L<4p*H+tzVSa#xO<5Ha^8_Jq=E3=@a2%ntPD(uCTVzyyD>?i!7 zKi~$@EiA|1ibbXhR?bdtYw2JPf3 zJ-IhAl|fZEQ$0-0Wy(g?Crlk=>XC!20oU@TIILTl+Q3u~Q+udd$kZ&RLQE~EDutK7U_MwrTEN=H>YQ;kghL2s|{49-k-Sobki!PF_H`lzaADuXF6Q#+|z zz*KY^ZDR>jZ-TNDyeYtIVKRQ2dX&;FCoc*w=>ocuftg^T66H{R&&Bnu$EF9z}?o_aUizg z2CLI*g4AWo`DLn1X2rC`H5GSQvpt4!MP{HBxfUk=`hZ@PjnGkkM3LhlGDtQ9!ttVP zf>}F)8&PD0r>9ND7Mm3>PqW%%qp_G6NC7QvEcHqL5uJFTI~XG2MmaW${b{pHMgRtD zX$t)jAWIlqavoXo0ZAx(Ea!c`86G#%fersmSC4Djc!fW_R5M z5I=&S2|A)TCiw^8fr5`_3p7S-qkI?F*=mK|_?~T{5XJfFZwY<4B|Y1_axzqrUqe0R zfeldPUm-oZ2%?HS0MkME2JwWNVAM69T@zH~TO`#+Q*Xeu-M9xil=G5W-lX&@7vRC1 z0**a;Gwg&XM#!O|1(?47hA)L0HPBrPZ%35G6%7iCCAjWV5|jz|sXJVt0@ zZBMiiglI2m+c)K9i{NSdd2Y8kC1OGokk1Z>unP{uF8pOlk*+_lEm~p|yb)7mQaIi- z5En`EO$h7zb)F{OiWNR%7@l7;Z19Fng2hb^ibw}15qMoD;{}|wiLyvPa3q`(9p6*AUv9{XSan6po0zK`=T*#j5}&=ILe@aIIv0?uLX>o`Z? z14KrcvoDvB7oj^Okc^Nop9Bzkz&XfS2RlK06Xz7p2RS=AALTrsFf=qTkF8hA{W0z< zIEM+t_0f7BXy*yLI7c`KIQMdH=G@QuE6z7KcX1xz+{Zb}d4TgUFu6Xu4*_UcPv&Hd zYB&|XeBfbU*l=pNK*NhQ{HliQo-uhV5!(MOKsl`8KD=MD=8g9^0cOw-B(X73!x{LB zWcL! wP4piPBY1)TzgY=w`Aai|whd*Lcw1FfRrUH^?`+v#^?G&HmfgEI?O~n%2W3?`>;M1& delta 2867 zcmZ9Ne{2**6vt<;KPau&?a{mI4@&P^?n+Y-+TcZrDQ#n~uH{FN1cP90)dHeY4A4-N z(j(W^+injJ1_C4|0?}9_k%LMDXv1N#fcya>#NrR6D&eX%)=;zr?D^izw8&0!v-5f1 z_ujmjo!Ps0K)QE83I!~_B*I#Xi$8sb_nwTGhw55Je{z-BwjVMbt-ZOtb5+7s6Rn$2 zPRo;0<=g^76y5yxGzYD#h^+qp&QB(IY8!FM=^hi=+ zzK@xAf??oP4E>q*JXlL&+8rgBpwW9t^`>Y(eQ}~^-c2Y>@BSRakK_~LA0cw<6sT1R z9v!-i(MLWd2~~<>(N?BtLVGJC}`gX)Hh)etwdum;fb-}NygwHy`1bWh~u#xW3g{w zY%~vJZ4*SSr;9pLa;2$sZi?Hz7d3s?c)(f=*un$MxaUF7sG9~-%1sB|biX-|{+_bd z^qY%5_s~^m8@Qby@#xfz+Y+sG;MiQocEMImmzb+fSEfQ($do=6Ldxj6)B{o#waKoe zJlIcoq3yIn_DHF8qg<9|<>CC{iR95<*>f2MlNk*l8Z~% za5MVh4ePdjURmMGc{#XsnTlXfnbc2BC9ScS4~ zK9fTyq_2?b=$iDR(pgz>aGTrp#(=)0HB6!suo7$xgH7}LqB9vbhc$IG+_dQVOgQg< zE5RkGM>FW<^x0Y7L_*}Qv;I49uSy9a$0g`sQZIE{E2caP5tvJT4dd4WY3j>(X(8TC zw^%bxkYzoWiLahF+gHA}N=m`z9)>csc7CWE`;mKIWaRnyQ zzEXnCVMS9P!~A&=sOa8(iVhE-GY+X4sBsV63-o~78M_GgXA8YxE0|mimib!md|ky+ z1yd;G*1WBBt3Ah7IIiP}>oaJDJ)hpTSxq;x=_b32&ahi%X=)QV_?uf3WYr8+l|(ev z3YG!f5HKgoY8s4=5m=0-rqLhmlhe~c*H!GfudZ5YN=BAL28-Nk0e9skuTSxhnB<+O z0zovlsd9`yk@0Y462L$cb73zAyri)yigAi~beQ*mgK5kGD$!IDqn~EvISKgb09XXZ z=&aXNoIr=3-p+8iW1~>fJMikDBDPS)e;p1Pd`RDe!cc8fV{}etlQf$i$($>V(7!U* zNZV*_ma8Q_9is3J=|{`iEW_X)jRUKu4#98$zDvTPF%Z2m={{)cAiDN}NmHXRJZ9cN zoLaAO8wKH&7zXOdQM`paBslQ^#EoMH6=Wsq&S@};zV5lRR|z$DjRo2l&z=n(AD%ryTe|H8VBs~c)p V*4M6HzkbDr&IR)_5+N6~{{UI&7SR9z