From 4b42b2d53de6bc89551ab46b1b939fe4aacc1cd6 Mon Sep 17 00:00:00 2001 From: Harald Wolff Date: Wed, 15 Mar 2017 11:37:56 +0100 Subject: [PATCH] WIP170315 --- .classpath | 2 +- .settings/org.eclipse.jdt.core.prefs | 6 ++-- src/native/linux32/libnsp.so | Bin 12492 -> 12680 bytes src/native/linux64/libnsp.so | Bin 15088 -> 15320 bytes src/native/mswin32/nsp.dll | Bin 85808 -> 86474 bytes src/native/mswin64/nsp.dll | Bin 115752 -> 116919 bytes src/native/osx32/libnsp.dylib | Bin 35224 -> 35644 bytes src/native/osx64/libnsp.dylib | Bin 35224 -> 35644 bytes .../hwo/io/NewSerialPort/NewSerialPort.java | 29 ++++++++++++------ 9 files changed, 23 insertions(+), 14 deletions(-) diff --git a/.classpath b/.classpath index a48ae7b..6e022d9 100644 --- a/.classpath +++ b/.classpath @@ -5,7 +5,7 @@ - + diff --git a/.settings/org.eclipse.jdt.core.prefs b/.settings/org.eclipse.jdt.core.prefs index 7341ab1..3a21537 100644 --- a/.settings/org.eclipse.jdt.core.prefs +++ b/.settings/org.eclipse.jdt.core.prefs @@ -1,11 +1,11 @@ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.7 +org.eclipse.jdt.core.compiler.compliance=1.8 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.source=1.7 +org.eclipse.jdt.core.compiler.source=1.8 diff --git a/src/native/linux32/libnsp.so b/src/native/linux32/libnsp.so index 46ccbd665964d98bdf86373f8da70f5a567e57a5..a232f50d7cd5a519f69ee359fbb67fbb720b5de7 100755 GIT binary patch delta 3804 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 delta 3778 zcmZ8k4RBP|6+ZWEHoME_XE$cal4SRVU6M%i52$gV4Sx};I0-^qMjOF_5#vu`Dmb*0 z%o0*;FrvbVv`%MQV=1i;nSyIOpwyw0I1)`e)M6(y#v!2XY+L9A2^b~v`klA$#h09& z`@Zwt-*eBq_q?-Rn};5HAv`OPO|*!JdMXdZV&58x5J_>Ph5|$iVAfRuQFfqW7fPnp zt^rf%pF&%z>cF1cgD2(?*<}E&0|y2d=RbG+aL>V!zE}R$_-b~2*VQ$fzj>;X!z!vY zzC+Ee($TL3MI?qY52X~P3`L|IWj;zJN;U6Q75s+Upz1hVYY48&K&2&lz!q-NbhVD# zwI;Qg{{nprU)CB_Iaj&jiKE!l9q5%uek#Ps_b}vb>__-%Y^E!pXt&kw1usMY6&8QW zMbs81+Gz3Fz{A+BNFHU;o4~FdqPtD*7x&RpKOT@g^3gIy30j-`^@LBufaaQXhXBo{ zgW&5Oya5ZY3KHFBPT;3!VQ3G=H(5L}ZG4Dkfj7XQEmr$(F&N{2YwLYT|&#byYYb(yL zM!yCZku&NAj#{_|?i7Be8fO-Z4+(mR&I-;VIwuH&h6S;+6wm`}F9{}a-o`|MRpWwK zWI_}87g4oKff;l+q zz{fnfM72_Z?Jp9nAgUL{LRS}9PmES51f+Z@BOEgO7i2`4eCign%$)0Jel33{k??m&ACf;b5G84wVLPV zhBy%P@YS3ub(3GtE#UgxtttU+xmto}-qiQ5v{M7hk}pt$9c8Mf?N8Pr)|P8I{H`hh5Uk0 z6nf`Cpu5qFO+KQ{2~czD8O{!sssUaYD)&r&E`87NL!qd8mv@IsJ;%+Oc0L-aY2s=3jTISUr-{>(AZ*y&GgvkAV zZ1WAnSOWY7a1*fcE5rB+aNs5u1jccyhk-u@P6G3ZKPZf+av7_A<1%y1~78 zX7Rs^i+HrytDc7z*Yd7&b)?X}0fryrdn5Y%HfUMcl0;TomgC*4EzfqZ>~v`>-s#WE z$eG zf=CCe=nM+tN**CxnrCDedW&Aq7or70FBsmzHZf@oc!YiWszS*NYS@<%`4 zuYXsqN&Z=HPzhOD#D$-Tm?YvdjmHQC&@>l=;UTdT;!5WsR6oTLfgxg`;%gC?_2K$- zii^Y2>5`xe?!+NTf1lD72;mTMx`<0$4w3Jeh>LJrAy0}_iugp0Cw0EYkGdGN}PmF?Va=`5bN!km+ZOg7q9+u;8iOl*GxNTMdX0^{~?*Vrvmc29D zli>CVlf>~PxHHci({Lo6X;NAGT9_up@LUe=%)2@q?PA~|aAzj_s~PRb!JT>D7`QWW zqzuUbEhz!!S{G8PWC0z#6-mholly5SxHDDmozegG8GLXC{|MZf`Ho6zYl|#6IfLgS z5I8f_yTHGGC9~;1aAzj^{dC|kr!2v9JGe6wPJmBKtxuuCnaqC%?#!iY5Hg*q^PLhx zEhz!619$#eXmPa5hJFaX)CxoL=U~_L_GEY2RxSCB`OjpiQT{`f?voH{hDrWd7~CPH zkKNU}Pr{>=OLxAT?ixKFO66y`{c z?v|5zn3vVWeN%tq_=y_bCoxaTCVsI-&y-Lw65%&%Vwn;(Mk9O?s$Bk0BRs1%mTCSY zjPL@el6;?u^8HZd_Krk(Pi@RC7k>@ES{rxEi)-e;)t0Mf{sPY@cy3*}djs5vk7->z O>@6eO=kSkxY5xz7YuRW3 diff --git a/src/native/linux64/libnsp.so b/src/native/linux64/libnsp.so index e5c063441a7d68cee9834fc00826ff0b843932c2..df1fc16e368be2c0833a6743b2c85e2dca368d05 100755 GIT binary patch delta 4526 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 diff --git a/src/native/mswin32/nsp.dll b/src/native/mswin32/nsp.dll index 75e10f2fe3f913ecdbd6a3b21c37d50446a9d882..02a3603ec29c16d70994293ea7cea58f3d0bcc52 100755 GIT binary patch delta 11158 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 delta 10729 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 diff --git a/src/native/osx32/libnsp.dylib b/src/native/osx32/libnsp.dylib index 32cfce693ba2f45b5894d5ca70f47dba3adda5fe..fd2eb2483ab95aa3b715b21247f93098a72318d3 100755 GIT binary patch literal 35644 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 diff --git a/src/native/osx64/libnsp.dylib b/src/native/osx64/libnsp.dylib index 32cfce693ba2f45b5894d5ca70f47dba3adda5fe..fd2eb2483ab95aa3b715b21247f93098a72318d3 100755 GIT binary patch literal 35644 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 diff --git a/src/org/hwo/io/NewSerialPort/NewSerialPort.java b/src/org/hwo/io/NewSerialPort/NewSerialPort.java index dcbcb78..74af703 100644 --- a/src/org/hwo/io/NewSerialPort/NewSerialPort.java +++ b/src/org/hwo/io/NewSerialPort/NewSerialPort.java @@ -30,6 +30,7 @@ public class NewSerialPort { public static long nsp_RET_OTHER = -99; // Unbekannter Fehler + public static long EAGAIN; String portName; int baudRate; @@ -164,6 +165,7 @@ public class NewSerialPort { } public void setTimeOut(int timeout){ this.timeout = timeout; + log(DEBUG,"NSP: setTimeOut( %d )",timeout); nsp_setup_timeout(nsp, timeout); } @@ -264,20 +266,22 @@ public class NewSerialPort { private static native int nsp_read_bytes(long nsp,byte[] bytes,int offset,int len); private static native int nsp_write_bytes(long nsp,byte[] bytes,int offset,int len); - + private static native int nsp_EAGAIN(); static { NativeLoader.loadLibrary("nsp"); - } - - + + EAGAIN = nsp_EAGAIN(); + } public class NewSerialPortInputStream extends InputStream { @Override public int read() throws IOException { if (autoOpen && !isOpen()) open(); - + + log(DEBUGDETAIL,"NSP::read()"); + int ch = nsp_read(nsp); if (ch < 0){ if (ch == nsp_RET_TIMEOUT) @@ -299,9 +303,11 @@ public class NewSerialPort { @Override public int read(byte[] b, int off, int len) throws IOException { + //log(DEBUGDETAIL,"NSP::read()"); + int nRead = nsp_read_bytes(nsp, b, off, len); if (nRead < 0){ - if (nRead == -11){ // -EAGAIN (timeout, keine zeichen verfügbar) + if (nRead == EAGAIN){ // -EAGAIN (timeout, keine zeichen verfügbar) return 0; }; throw new IOException(String.format("nsp_read_bytes() returned %d", nRead)); @@ -359,10 +365,13 @@ public class NewSerialPort { public void write(byte[] b, int off, int len) throws IOException { int nWritten = 0; - for (int redo=0;redo<5;redo++){ + log(DEBUGDETAIL,"NSP::write(...)"); + + for (int redo=0; redo < 5 ; redo++){ nWritten = nsp_write_bytes(nsp, b, off, len); - if (nWritten == -11){ + if (nWritten == EAGAIN){ try { + log(DEBUGDETAIL,"SL-TX-EAGAIN... [%d]",redo); Thread.sleep(5); } catch (Exception e){ @@ -405,10 +414,10 @@ public class NewSerialPort { for (int i = 1; i < 32; i++) { - sp.setPortName(String.format("COM%d:",i)); + sp.setPortName(String.format("COM%d",i)); if (sp.open()) { - portNames.add(String.format("COM%d:",i)); + portNames.add(String.format("COM%d",i)); sp.close(); } }