[purejavacomm] Re: PureJavaComm no response received after error 997

  • From: ant elder <ant.elder@xxxxxxxxx>
  • To: purejavacomm@xxxxxxxxxxxxx
  • Date: Fri, 23 May 2014 15:29:48 +0100

It is a bluetooth device but its not using bluetooth for this so isn't
trying to pair with a remote device. However you're kind of right, it turns
out its just very slow opening the connection, so after opening the port
you need to wait at least 1.6 seconds before sending it anything. Waiting
1.5 seconds isn't enough, 1.6 seems to work quite reliably, anything less
than that it seems to ignore whats sent. The automated tests i have don't
do that wait so fail, but sending it things manually with a terminal
program i guess i was just slow enough typing so it worked ok.

FYI in case anyone else ever comes across this - its using a CC2540 chip
instead of something like an FTR232 for the serial comms so perhaps thats
just a feature of the CC2540.

So its working now, thanks and sorry for the noise.

   ...ant



On Fri, May 23, 2014 at 2:34 PM, Kustaa Nyholm
<Kustaa.Nyholm@xxxxxxxxxxxx>wrote:

> One more thing.
>
> This is a bluetooth serial port right?
>
> I've no first hand experience but sometimes the pairing can take a long
> time
> and this might cause some problems ... how, I don't know?
>
> br Kusti
>
>
> From: ant elder <ant.elder@xxxxxxxxx>
> Reply-To: "purejavacomm@xxxxxxxxxxxxx" <purejavacomm@xxxxxxxxxxxxx>
> Date: Fri, 23 May 2014 16:01:17 +0300
> To: "purejavacomm@xxxxxxxxxxxxx" <purejavacomm@xxxxxxxxxxxxx>
> Subject: [purejavacomm] Re: PureJavaComm no response received after error
> 997
>
> Ok here is a testcase. I've tried this with several different Arduino's at
> the remote end and on the PC end with either this Java program using
> PureJavaComm or the Arduino Serial Monitor which uses RXTX. The only
> combination which does not work is with the new Bluno Arduino talking to
> PureJavaComm. It looks like the characters that get sent from
> Java/PureJavaComm never get received on the Bluno. Going the other way does
> work, so characters sent from the Bluno are received ok by the
> Java/PureJavaComm app.
>
> This is the Arduino sketch:
>
> void setup() {
>     Serial.begin(9600);
> }
>
> void loop() {
>     if(Serial.available()) {
>         Serial.write(Serial.read());
>     }
> }
>
> And this is the Java code running on the Windows PC:
>
>     public static void main(String[] args) throws NoSuchPortException,
> UnsupportedCommOperationException, PortInUseException, IOException {
>
>         jtermios.JTermios.JTermiosLogging.setLogMask(0xFF);
>
>         CommPortIdentifier commPort =
> CommPortIdentifier.getPortIdentifier("COM15");
>         SerialPort serialPort = (SerialPort)
> commPort.open(BlunoTest.class.getName(), 2000);
>         serialPort.setSerialPortParams(9600, SerialPort.DATABITS_8,
> SerialPort.STOPBITS_1, SerialPort.PARITY_NONE);
>
>         serialPort.setDTR(true); // needed for Arduino Leonardo and Micro
>
>         OutputStream os = serialPort.getOutputStream();
>         os.write("Hello\n".getBytes());
>         os.flush();
>
>         InputStream is = serialPort.getInputStream();
>         int c = 0;
>         while ((c = is.read()) != -1) {
>             System.out.print((char)c);
>         }
>     }
>
> That just waits never receiving anything on the is.read().
>
> This is the PureJavaComm log:
>
> log: 984910,class jtermios.windows.JTermiosImpl line 264, thread id 1,
> main, instantiating jtermios.windows.JTermiosImpl
> log: 984954,class jtermios.JTermios line 390, thread id 1, main, >
> open('COM15',00020006)
> log: 985484,class jtermios.windows.WinAPI line 533, thread id 1, main, >
> CreateFileW(\\.\COM15, 0xC0000000, 0x00000000, null, 0x00000003,
> 0x40000000,null)
> log: 985489,class jtermios.windows.WinAPI line 535, thread id 1, main, <
> CreateFileW(\\.\COM15, 0xC0000000, 0x00000000, null, 0x00000003,
> 0x40000000,null) => native@0x578 (jtermios.windows.WinAPI$HANDLE@578)
> log: 985490,class jtermios.windows.WinAPI line 642, thread id 1, main, >
> SetCommTimeouts(native@0x578 (jtermios.windows.WinAPI$HANDLE@578), 2048,
> 2048)
> log: 985491,class jtermios.windows.WinAPI line 644, thread id 1, main, <
> SetCommTimeouts(native@0x578 (jtermios.windows.WinAPI$HANDLE@578), 2048,
> 2048) => true
> log: 985492,class jtermios.windows.WinAPI line 621, thread id 1, main, >
> GetCommState(native@0x578 (jtermios.windows.WinAPI$HANDLE@578), [BaudRate
> 0 fFlags 0000 wReserved 0 XonLim 0 XoffLim 0 ByteSize 0 Parity 0 StopBits 0
> XonChar 00 XoffChar 00 ErrorChar 00 EofChar 00 EvtChar 00 wReserved1 0])
> log: 985500,class jtermios.windows.WinAPI line 623, thread id 1, main, <
> GetCommState(native@0x578 (jtermios.windows.WinAPI$HANDLE@578), [BaudRate
> 9600 fFlags 1091 wReserved 0 XonLim 2048 XoffLim 512 ByteSize 8 Parity 0
> StopBits 0 XonChar 11 XoffChar 13 ErrorChar 00 EofChar 00 EvtChar 0A
> wReserved1 0]) => true
> log: 985502,class jtermios.windows.WinAPI line 628, thread id 1, main, >
> SetCommState(native@0x578 (jtermios.windows.WinAPI$HANDLE@578), [BaudRate
> 9600 fFlags 0001 wReserved 0 XonLim 2048 XoffLim 512 ByteSize 8 Parity 0
> StopBits 0 XonChar 00 XoffChar 00 ErrorChar 00 EofChar 00 EvtChar 0A
> wReserved1 0])
> log: 985508,class jtermios.windows.WinAPI line 630, thread id 1, main, <
> SetCommState(native@0x578 (jtermios.windows.WinAPI$HANDLE@578), [BaudRate
> 9600 fFlags 0001 wReserved 0 XonLim 2048 XoffLim 512 ByteSize 8 Parity 0
> StopBits 0 XonChar 00 XoffChar 00 ErrorChar 00 EofChar 00 EvtChar 0A
> wReserved1 0]) => true
> log: 985510,class jtermios.windows.WinAPI line 635, thread id 1, main, >
> SetCommTimeouts(native@0x578 (jtermios.windows.WinAPI$HANDLE@578),
> [ReadIntervalTimeout -1 ReadTotalTimeoutMultiplier 0
> ReadTotalTimeoutConstant 0 WriteTotalTimeoutMultiplier 0
> WriteTotalTimeoutConstant 0])
> log: 985511,class jtermios.windows.WinAPI line 637, thread id 1, main, <
> SetCommTimeouts(native@0x578 (jtermios.windows.WinAPI$HANDLE@578),
> [ReadIntervalTimeout -1 ReadTotalTimeoutMultiplier 0
> ReadTotalTimeoutConstant 0 WriteTotalTimeoutMultiplier 0
> WriteTotalTimeoutConstant 0]) => true
> log: 985512,class jtermios.windows.JTermiosImpl line 752, thread id 1,
> main, vmin 0 vtime 0 ReadIntervalTimeout -1 ReadTotalTimeoutConstant 0
> ReadTotalTimeoutMultiplier 0
> log: 985513,class jtermios.windows.WinAPI line 684, thread id 1, main, >
> CreateEventA(null, false, false, null)
> log: 985514,class jtermios.windows.WinAPI line 686, thread id 1, main, <
> CreateEventA(null, false, false, null) => 
> native@0x57c(jtermios.windows.WinAPI$HANDLE@57c
> )
> log: 985515,class jtermios.windows.WinAPI line 684, thread id 1, main, >
> CreateEventA(null, true, false, null)
> log: 985516,class jtermios.windows.WinAPI line 686, thread id 1, main, <
> CreateEventA(null, true, false, null) => 
> native@0x580(jtermios.windows.WinAPI$HANDLE@580
> )
> log: 985516,class jtermios.windows.WinAPI line 684, thread id 1, main, >
> CreateEventA(null, true, false, null)
> log: 985517,class jtermios.windows.WinAPI line 686, thread id 1, main, <
> CreateEventA(null, true, false, null) => 
> native@0x584(jtermios.windows.WinAPI$HANDLE@584
> )
> log: 985518,class jtermios.windows.WinAPI line 684, thread id 1, main, >
> CreateEventA(null, true, false, null)
> log: 985519,class jtermios.windows.WinAPI line 686, thread id 1, main, <
> CreateEventA(null, true, false, null) => 
> native@0x588(jtermios.windows.WinAPI$HANDLE@588
> )
> log: 985520,class jtermios.windows.WinAPI line 684, thread id 1, main, >
> CreateEventA(null, true, false, null)
> log: 985522,class jtermios.windows.WinAPI line 686, thread id 1, main, <
> CreateEventA(null, true, false, null) => 
> native@0x58c(jtermios.windows.WinAPI$HANDLE@58c
> )
> log: 985523,class jtermios.windows.WinAPI line 684, thread id 1, main, >
> CreateEventA(null, true, false, null)
> log: 985523,class jtermios.windows.WinAPI line 686, thread id 1, main, <
> CreateEventA(null, true, false, null) => 
> native@0x590(jtermios.windows.WinAPI$HANDLE@590
> )
> log: 985524,class jtermios.JTermios line 392, thread id 1, main, <
> open('COM15',00020006) => 0
> log: 985525,class jtermios.JTermios line 369, thread id 1, main, >
> tcgetattr(0,jtermios.Termios@a1323da0)
> log: 985526,class jtermios.JTermios line 371, thread id 1, main, <
> tcgetattr(0,jtermios.Termios@d0c82aa0) => 0
> log: 985526,class jtermios.JTermios line 397, thread id 1, main, > close(0)
> log: 985527,class jtermios.windows.WinAPI line 691, thread id 1, main, >
> SetEvent(native@0x580 (jtermios.windows.WinAPI$HANDLE@580))
> log: 985528,class jtermios.windows.WinAPI line 693, thread id 1, main, <
> SetEvent(native@0x580 (jtermios.windows.WinAPI$HANDLE@580)) => true
> log: 985528,class jtermios.windows.WinAPI line 593, thread id 1, main, >
> CloseHandle(native@0x588 (jtermios.windows.WinAPI$HANDLE@588))
> log: 985529,class jtermios.windows.WinAPI line 595, thread id 1, main, <
> CloseHandle(native@0x588 (jtermios.windows.WinAPI$HANDLE@588)) => true
> log: 985530,class jtermios.windows.WinAPI line 593, thread id 1, main, >
> CloseHandle(native@0x580 (jtermios.windows.WinAPI$HANDLE@580))
> log: 985530,class jtermios.windows.WinAPI line 595, thread id 1, main, <
> CloseHandle(native@0x580 (jtermios.windows.WinAPI$HANDLE@580)) => true
> log: 985531,class jtermios.windows.WinAPI line 691, thread id 1, main, >
> SetEvent(native@0x584 (jtermios.windows.WinAPI$HANDLE@584))
> log: 985532,class jtermios.windows.WinAPI line 693, thread id 1, main, <
> SetEvent(native@0x584 (jtermios.windows.WinAPI$HANDLE@584)) => true
> log: 985532,class jtermios.windows.WinAPI line 593, thread id 1, main, >
> CloseHandle(native@0x58c (jtermios.windows.WinAPI$HANDLE@58c))
> log: 985533,class jtermios.windows.WinAPI line 595, thread id 1, main, <
> CloseHandle(native@0x58c (jtermios.windows.WinAPI$HANDLE@58c)) => true
> log: 985533,class jtermios.windows.WinAPI line 593, thread id 1, main, >
> CloseHandle(native@0x584 (jtermios.windows.WinAPI$HANDLE@584))
> log: 985534,class jtermios.windows.WinAPI line 595, thread id 1, main, <
> CloseHandle(native@0x584 (jtermios.windows.WinAPI$HANDLE@584)) => true
> log: 985535,class jtermios.windows.WinAPI line 691, thread id 1, main, >
> SetEvent(native@0x57c (jtermios.windows.WinAPI$HANDLE@57c))
> log: 985535,class jtermios.windows.WinAPI line 693, thread id 1, main, <
> SetEvent(native@0x57c (jtermios.windows.WinAPI$HANDLE@57c)) => true
> log: 985536,class jtermios.windows.WinAPI line 593, thread id 1, main, >
> CloseHandle(native@0x57c (jtermios.windows.WinAPI$HANDLE@57c))
> log: 985536,class jtermios.windows.WinAPI line 595, thread id 1, main, <
> CloseHandle(native@0x57c (jtermios.windows.WinAPI$HANDLE@57c)) => true
> log: 985537,class jtermios.windows.WinAPI line 593, thread id 1, main, >
> CloseHandle(native@0x590 (jtermios.windows.WinAPI$HANDLE@590))
> log: 985538,class jtermios.windows.WinAPI line 595, thread id 1, main, <
> CloseHandle(native@0x590 (jtermios.windows.WinAPI$HANDLE@590)) => true
> log: 985539,class jtermios.windows.WinAPI line 593, thread id 1, main, >
> CloseHandle(native@0x578 (jtermios.windows.WinAPI$HANDLE@578))
> log: 985540,class jtermios.windows.WinAPI line 595, thread id 1, main, <
> CloseHandle(native@0x578 (jtermios.windows.WinAPI$HANDLE@578)) => true
> log: 985540,class jtermios.JTermios line 399, thread id 1, main, <
> close(0) => 0
> log: 985544,class jtermios.JTermios line 390, thread id 1, main, >
> open('COM15',00020006)
> log: 985546,class jtermios.windows.WinAPI line 533, thread id 1, main, >
> CreateFileW(\\.\COM15, 0xC0000000, 0x00000000, null, 0x00000003,
> 0x40000000,null)
> log: 985547,class jtermios.windows.WinAPI line 535, thread id 1, main, <
> CreateFileW(\\.\COM15, 0xC0000000, 0x00000000, null, 0x00000003,
> 0x40000000,null) => native@0x578 (jtermios.windows.WinAPI$HANDLE@578)
> log: 985548,class jtermios.windows.WinAPI line 642, thread id 1, main, >
> SetCommTimeouts(native@0x578 (jtermios.windows.WinAPI$HANDLE@578), 2048,
> 2048)
> log: 985549,class jtermios.windows.WinAPI line 644, thread id 1, main, <
> SetCommTimeouts(native@0x578 (jtermios.windows.WinAPI$HANDLE@578), 2048,
> 2048) => true
> log: 985550,class jtermios.windows.WinAPI line 621, thread id 1, main, >
> GetCommState(native@0x578 (jtermios.windows.WinAPI$HANDLE@578), [BaudRate
> 0 fFlags 0000 wReserved 0 XonLim 0 XoffLim 0 ByteSize 0 Parity 0 StopBits 0
> XonChar 00 XoffChar 00 ErrorChar 00 EofChar 00 EvtChar 00 wReserved1 0])
> log: 985553,class jtermios.windows.WinAPI line 623, thread id 1, main, <
> GetCommState(native@0x578 (jtermios.windows.WinAPI$HANDLE@578), [BaudRate
> 9600 fFlags 0001 wReserved 0 XonLim 2048 XoffLim 512 ByteSize 8 Parity 0
> StopBits 0 XonChar 00 XoffChar 00 ErrorChar 00 EofChar 00 EvtChar 0A
> wReserved1 0]) => true
> log: 985555,class jtermios.windows.WinAPI line 628, thread id 1, main, >
> SetCommState(native@0x578 (jtermios.windows.WinAPI$HANDLE@578), [BaudRate
> 9600 fFlags 0001 wReserved 0 XonLim 2048 XoffLim 512 ByteSize 8 Parity 0
> StopBits 0 XonChar 00 XoffChar 00 ErrorChar 00 EofChar 00 EvtChar 0A
> wReserved1 0])
> log: 985604,class jtermios.windows.WinAPI line 630, thread id 1, main, <
> SetCommState(native@0x578 (jtermios.windows.WinAPI$HANDLE@578), [BaudRate
> 9600 fFlags 0001 wReserved 0 XonLim 2048 XoffLim 512 ByteSize 8 Parity 0
> StopBits 0 XonChar 00 XoffChar 00 ErrorChar 00 EofChar 00 EvtChar 0A
> wReserved1 0]) => true
> log: 985606,class jtermios.windows.WinAPI line 635, thread id 1, main, >
> SetCommTimeouts(native@0x578 (jtermios.windows.WinAPI$HANDLE@578),
> [ReadIntervalTimeout -1 ReadTotalTimeoutMultiplier 0
> ReadTotalTimeoutConstant 0 WriteTotalTimeoutMultiplier 0
> WriteTotalTimeoutConstant 0])
> log: 985607,class jtermios.windows.WinAPI line 637, thread id 1, main, <
> SetCommTimeouts(native@0x578 (jtermios.windows.WinAPI$HANDLE@578),
> [ReadIntervalTimeout -1 ReadTotalTimeoutMultiplier 0
> ReadTotalTimeoutConstant 0 WriteTotalTimeoutMultiplier 0
> WriteTotalTimeoutConstant 0]) => true
> log: 985608,class jtermios.windows.JTermiosImpl line 752, thread id 1,
> main, vmin 0 vtime 0 ReadIntervalTimeout -1 ReadTotalTimeoutConstant 0
> ReadTotalTimeoutMultiplier 0
> log: 985608,class jtermios.windows.WinAPI line 684, thread id 1, main, >
> CreateEventA(null, false, false, null)
> log: 985609,class jtermios.windows.WinAPI line 686, thread id 1, main, <
> CreateEventA(null, false, false, null) => 
> native@0x590(jtermios.windows.WinAPI$HANDLE@590
> )
> log: 985610,class jtermios.windows.WinAPI line 684, thread id 1, main, >
> CreateEventA(null, true, false, null)
> log: 985610,class jtermios.windows.WinAPI line 686, thread id 1, main, <
> CreateEventA(null, true, false, null) => 
> native@0x57c(jtermios.windows.WinAPI$HANDLE@57c
> )
> log: 985611,class jtermios.windows.WinAPI line 684, thread id 1, main, >
> CreateEventA(null, true, false, null)
> log: 985612,class jtermios.windows.WinAPI line 686, thread id 1, main, <
> CreateEventA(null, true, false, null) => 
> native@0x584(jtermios.windows.WinAPI$HANDLE@584
> )
> log: 985612,class jtermios.windows.WinAPI line 684, thread id 1, main, >
> CreateEventA(null, true, false, null)
> log: 985613,class jtermios.windows.WinAPI line 686, thread id 1, main, <
> CreateEventA(null, true, false, null) => 
> native@0x58c(jtermios.windows.WinAPI$HANDLE@58c
> )
> log: 985613,class jtermios.windows.WinAPI line 684, thread id 1, main, >
> CreateEventA(null, true, false, null)
> log: 985614,class jtermios.windows.WinAPI line 686, thread id 1, main, <
> CreateEventA(null, true, false, null) => 
> native@0x580(jtermios.windows.WinAPI$HANDLE@580
> )
> log: 985615,class jtermios.windows.WinAPI line 684, thread id 1, main, >
> CreateEventA(null, true, false, null)
> log: 985615,class jtermios.windows.WinAPI line 686, thread id 1, main, <
> CreateEventA(null, true, false, null) => 
> native@0x588(jtermios.windows.WinAPI$HANDLE@588
> )
> log: 985616,class jtermios.JTermios line 392, thread id 1, main, <
> open('COM15',00020006) => 0
> log: 985617,class jtermios.JTermios line 307, thread id 1, main, >
> fcntl(0, 3, 0)
> log: 985617,class jtermios.JTermios line 309, thread id 1, main, <
> fcntl(0, 3, 0) => 131078
> log: 985618,class jtermios.JTermios line 307, thread id 1, main, >
> fcntl(0, 4, 131074)
> log: 985618,class jtermios.JTermios line 309, thread id 1, main, <
> fcntl(0, 4, 131074) => 0
> log: 985619,class jtermios.JTermios line 369, thread id 1, main, >
> tcgetattr(0,jtermios.Termios@a1323da0)
> log: 985619,class jtermios.JTermios line 371, thread id 1, main, <
> tcgetattr(0,jtermios.Termios@d0c82aa0) => 0
> log: 985620,class jtermios.JTermios line 363, thread id 1, main, >
> cfmakeraw(0,jtermios.Termios@d0c82aa0)
> log: 985620,class jtermios.JTermios line 365, thread id 1, main, <
> cfmakeraw(0,jtermios.Termios@d0c82aa0)
> log: 985621,class jtermios.JTermios line 376, thread id 1, main, >
> tcsetattr(0,0,jtermios.Termios@975081c2)
> log: 985621,class jtermios.windows.WinAPI line 621, thread id 1, main, >
> GetCommState(native@0x578 (jtermios.windows.WinAPI$HANDLE@578), [BaudRate
> 9600 fFlags 0001 wReserved 0 XonLim 2048 XoffLim 512 ByteSize 8 Parity 0
> StopBits 0 XonChar 00 XoffChar 00 ErrorChar 00 EofChar 00 EvtChar 0A
> wReserved1 0])
> log: 985630,class jtermios.windows.WinAPI line 623, thread id 1, main, <
> GetCommState(native@0x578 (jtermios.windows.WinAPI$HANDLE@578), [BaudRate
> 9600 fFlags 0001 wReserved 0 XonLim 2048 XoffLim 512 ByteSize 8 Parity 0
> StopBits 0 XonChar 00 XoffChar 00 ErrorChar 00 EofChar 00 EvtChar 0A
> wReserved1 0]) => true
> log: 985632,class jtermios.windows.WinAPI line 628, thread id 1, main, >
> SetCommState(native@0x578 (jtermios.windows.WinAPI$HANDLE@578), [BaudRate
> 9600 fFlags 0001 wReserved 0 XonLim 2048 XoffLim 512 ByteSize 8 Parity 0
> StopBits 0 XonChar 11 XoffChar 13 ErrorChar 00 EofChar 00 EvtChar 0A
> wReserved1 0])
> log: 985679,class jtermios.windows.WinAPI line 630, thread id 1, main, <
> SetCommState(native@0x578 (jtermios.windows.WinAPI$HANDLE@578), [BaudRate
> 9600 fFlags 0001 wReserved 0 XonLim 2048 XoffLim 512 ByteSize 8 Parity 0
> StopBits 0 XonChar 11 XoffChar 13 ErrorChar 00 EofChar 00 EvtChar 0A
> wReserved1 0]) => true
> log: 985680,class jtermios.JTermios line 378, thread id 1, main, <
> tcsetattr(0,0,jtermios.Termios@975081c2) => 0
> log: 985681,class jtermios.JTermios line 342, thread id 1, main, >
> setspeed(0,jtermios.Termios@975081c2,9600)
> log: 985682,class jtermios.JTermios line 344, thread id 1, main, <
> setspeed(0,jtermios.Termios@975081c2,9600) => 0
> log: 985682,class jtermios.JTermios line 376, thread id 1, main, >
> tcsetattr(0,0,jtermios.Termios@975081c2)
> log: 985683,class jtermios.JTermios line 378, thread id 1, main, <
> tcsetattr(0,0,jtermios.Termios@975081c2) => 0
> log: 985684,class jtermios.JTermios line 376, thread id 1, main, >
> tcsetattr(0,0,jtermios.Termios@975081c2)
> log: 985684,class jtermios.JTermios line 378, thread id 1, main, <
> tcsetattr(0,0,jtermios.Termios@975081c2) => 0
> log: 985685,class jtermios.JTermios line 418, thread id 1, main, >
> ioctl(0,1074033770,[00000000])
> log: 985685,class jtermios.windows.WinAPI line 663, thread id 1, main, >
> GetCommModemStatus(native@0x578 (jtermios.windows.WinAPI$HANDLE@578
> ),0x00000000)
> log: 985686,class jtermios.windows.WinAPI line 665, thread id 1, main, <
> GetCommModemStatus(native@0x578 
> (jtermios.windows.WinAPI$HANDLE@578),0x00000000)
> => true
> log: 985687,class jtermios.JTermios line 420, thread id 1, main, <
> ioctl(0,1074033770,[00000000]) => 0
> log: 985687,class jtermios.JTermios line 459, thread id 1, main, >
> pipe([2,0,0])
> log: 985688,class jtermios.JTermios line 461, thread id 1, main, <
> pipe([2,0,0]) => -1
> log: 985690,class jtermios.JTermios line 342, thread id 1, main, >
> setspeed(0,jtermios.Termios@975081c2,9600)
> log: 985690,class jtermios.JTermios line 344, thread id 1, main, <
> setspeed(0,jtermios.Termios@975081c2,9600) => 0
> log: 985691,class jtermios.JTermios line 376, thread id 1, main, >
> tcsetattr(0,0,jtermios.Termios@975081c2)
> log: 985692,class jtermios.JTermios line 378, thread id 1, main, <
> tcsetattr(0,0,jtermios.Termios@975081c2) => 0
> log: 985692,class jtermios.JTermios line 418, thread id 1, main, >
> ioctl(0,1074033770,[00000000])
> log: 985693,class jtermios.windows.WinAPI line 663, thread id 1, main, >
> GetCommModemStatus(native@0x578 (jtermios.windows.WinAPI$HANDLE@578
> ),0x00000000)
> log: 985694,class jtermios.windows.WinAPI line 665, thread id 1, main, <
> GetCommModemStatus(native@0x578 
> (jtermios.windows.WinAPI$HANDLE@578),0x00000000)
> => true
> log: 985694,class jtermios.JTermios line 420, thread id 1, main, <
> ioctl(0,1074033770,[00000000]) => 0
> log: 985695,class jtermios.JTermios line 418, thread id 1, main, >
> ioctl(0,-2147191699,[00000002])
> log: 985696,class jtermios.windows.WinAPI line 670, thread id 1, main, >
> EscapeCommFunction(native@0x578 (jtermios.windows.WinAPI$HANDLE@578
> ),0x00000005)
> log: 985703,class jtermios.windows.WinAPI line 672, thread id 1, main, <
> EscapeCommFunction(native@0x578 
> (jtermios.windows.WinAPI$HANDLE@578),0x00000005)
> => true
> log: 985704,class jtermios.windows.WinAPI line 670, thread id 1, main, >
> EscapeCommFunction(native@0x578 (jtermios.windows.WinAPI$HANDLE@578
> ),0x00000004)
> log: 985704,class jtermios.windows.WinAPI line 672, thread id 1, main, <
> EscapeCommFunction(native@0x578 
> (jtermios.windows.WinAPI$HANDLE@578),0x00000004)
> => true
> log: 985705,class jtermios.JTermios line 420, thread id 1, main, <
> ioctl(0,-2147191699,[00000002]) => 0
> log: 985706,class jtermios.JTermios line 404, thread id 1, main, >
> write(0,[6,0x48,0x65,0x6C,0x6C,0x6F,0x0A],6)
> log: 985706,class jtermios.windows.WinAPI line 698, thread id 1, main, >
> ResetEvent(native@0x580 (jtermios.windows.WinAPI$HANDLE@580))
> log: 985707,class jtermios.windows.WinAPI line 700, thread id 1, main, <
> ResetEvent(native@0x580 (jtermios.windows.WinAPI$HANDLE@580)) => true
> log: 985708,class jtermios.windows.WinAPI line 549, thread id 1, main, >
> WriteFile(native@0x578 (jtermios.windows.WinAPI$HANDLE@578),
> [6,0x48,0x65,0x6C,0x6C,0x6F...], 6, [0], auto-allocated@0xf98480 (32
> bytes))
> log: 985710,class jtermios.windows.WinAPI line 551, thread id 1, main, <
> WriteFile(native@0x578 (jtermios.windows.WinAPI$HANDLE@578),
> [6,0x48,0x65,0x6C,0x6C,0x6F...], 6, [0], auto-allocated@0xf98480 (32
> bytes)) => false
> log: 985711,class jtermios.windows.WinAPI line 740, thread id 1, main, >
> GetLastError()
> log: 985711,class jtermios.windows.WinAPI line 742, thread id 1, main, <
> GetLastError() => 997
> log: 985712,class jtermios.JTermios line 406, thread id 1, main, <
> write(0,[6,0x48,0x65,0x6C,0x6C,0x6F,0x0A],6) => 6
> log: 985713,class jtermios.JTermios line 356, thread id 1, main, >
> tcdrain(0)
> log: 985714,class jtermios.windows.WinAPI line 572, thread id 1, main, >
> FlushFileBuffers(native@0x578 (jtermios.windows.WinAPI$HANDLE@578))
> log: 985714,class jtermios.windows.WinAPI line 574, thread id 1, main, <
> FlushFileBuffers(native@0x578 (jtermios.windows.WinAPI$HANDLE@578)) =>
> true
> log: 985715,class jtermios.JTermios line 358, thread id 1, main, <
> tcdrain(0) => 0
> log: 985716,class jtermios.JTermios line 376, thread id 1, main, >
> tcsetattr(0,0,jtermios.Termios@8b99f2e1)
> log: 985717,class jtermios.windows.WinAPI line 635, thread id 1, main, >
> SetCommTimeouts(native@0x578 (jtermios.windows.WinAPI$HANDLE@578),
> [ReadIntervalTimeout 0 ReadTotalTimeoutMultiplier 0
> ReadTotalTimeoutConstant 0 WriteTotalTimeoutMultiplier 0
> WriteTotalTimeoutConstant 0])
> log: 985718,class jtermios.windows.WinAPI line 637, thread id 1, main, <
> SetCommTimeouts(native@0x578 (jtermios.windows.WinAPI$HANDLE@578),
> [ReadIntervalTimeout 0 ReadTotalTimeoutMultiplier 0
> ReadTotalTimeoutConstant 0 WriteTotalTimeoutMultiplier 0
> WriteTotalTimeoutConstant 0]) => true
> log: 985719,class jtermios.windows.JTermiosImpl line 752, thread id 1,
> main, vmin 1 vtime 0 ReadIntervalTimeout 0 ReadTotalTimeoutConstant 0
> ReadTotalTimeoutMultiplier 0
> log: 985719,class jtermios.JTermios line 378, thread id 1, main, <
> tcsetattr(0,0,jtermios.Termios@8b99f2e1) => 0
> log: 985720,class jtermios.JTermios line 438, thread id 1, main, >
> select(1,[0],[],[],jtermios.TimeVal@601b1195)
> log: 985720,class jtermios.windows.WinAPI line 600, thread id 1, main, >
> ClearCommError(native@0x578 (jtermios.windows.WinAPI$HANDLE@578), [0],
> [fFlags 0000 cbInQue 0 cbInQue 0])
> log: 985721,class jtermios.windows.WinAPI line 602, thread id 1, main, <
> ClearCommError(native@0x578 (jtermios.windows.WinAPI$HANDLE@578), [0],
> [fFlags 0000 cbInQue 0 cbInQue 0]) => true
> log: 985722,class jtermios.windows.WinAPI line 698, thread id 1, main, >
> ResetEvent(native@0x588 (jtermios.windows.WinAPI$HANDLE@588))
> log: 985723,class jtermios.windows.WinAPI line 700, thread id 1, main, <
> ResetEvent(native@0x588 (jtermios.windows.WinAPI$HANDLE@588)) => true
> log: 985723,class jtermios.windows.WinAPI line 607, thread id 1, main, >
> SetCommMask(native@0x578 (jtermios.windows.WinAPI$HANDLE@578), 0x00000001)
> log: 985724,class jtermios.windows.WinAPI line 609, thread id 1, main, <
> SetCommMask(native@0x578 (jtermios.windows.WinAPI$HANDLE@578),
> 0x00000001) => true
> log: 985725,class jtermios.windows.WinAPI line 705, thread id 1, main, >
> WaitCommEvent(native@0x578 (jtermios.windows.WinAPI$HANDLE@578), [0],
> auto-allocated@0xf984b0 (32 bytes))
> log: 985725,class jtermios.windows.WinAPI line 707, thread id 1, main, <
> WaitCommEvent(native@0x578 (jtermios.windows.WinAPI$HANDLE@578), [0],
> auto-allocated@0xf984b0 (32 bytes)) => false
> log: 985726,class jtermios.windows.WinAPI line 740, thread id 1, main, >
> GetLastError()
> log: 985726,class jtermios.windows.WinAPI line 742, thread id 1, main, <
> GetLastError() => 997
> log: 985727,class jtermios.windows.WinAPI line 726, thread id 1, main, >
> WaitForMultipleObjects(2, [2,native@0x588(jtermios.windows.WinAPI$HANDLE@588
> ),native@0x590 (jtermios.windows.WinAPI$HANDLE@590)], false, 2147483647)
>
>
> Thanks again for any help.
>
>    ...ant
>
>
>
> On Fri, May 23, 2014 at 12:55 PM, ant elder <ant.elder@xxxxxxxxx> wrote:
>
>> Sure ok, was really just asking right away to see if the 997 meant
>> anything obvious.
>>
>> I can easily and repeatedly recreate it, but thats with my app which has
>> quite a lot of code around PureJavaComm. I'll go strip all that out and
>> make a simple test case and report back...
>>
>>    ...ant
>>
>>
>> On Fri, May 23, 2014 at 12:05 PM, Kustaa Nyholm <
>> Kustaa.Nyholm@xxxxxxxxxxxx> wrote:
>>
>>> Hi,
>>>
>>> when you say it is not working, what exactly is happening?
>>>
>>> How do you test it...does anything get transmitted...how about
>>> received...
>>>
>>> Error 997 per se is not suspicious, as you can see from the code,
>>> WinAPI.java:835, this is
>>> expected to happen at times an the code is prepared to handle it (or at
>>> least that is
>>> the intent).
>>>
>>> What we need is a repeatable test case and see where or who gets stuck.
>>>
>>> br Kusti
>>>
>>> From: ant elder <ant.elder@xxxxxxxxx>
>>> Reply-To: "purejavacomm@xxxxxxxxxxxxx" <purejavacomm@xxxxxxxxxxxxx>
>>> Date: Fri, 23 May 2014 12:57:16 +0300
>>> To: "purejavacomm@xxxxxxxxxxxxx" <purejavacomm@xxxxxxxxxxxxx>
>>> Subject: [purejavacomm] PureJavaComm no response received after error
>>> 997
>>>
>>> I've been using PureJavaComm 0.0.21 for a while now and its working
>>> really well talking to lots of different types of Arduino and compatible
>>> mcu's, so thank you for it.
>>>
>>> I've just got a new device today (
>>> http://www.dfrobot.com/wiki/index.php/Bluno_SKU:DFR0267) and this one
>>> does not work. It is working ok talking to other Windows Terminal programs
>>> and with the Arduino serial monitor which use RXTX, so the board itself
>>> seems to be working ok.
>>>
>>> I've a debug log from PureJavaComm which i've attached here. I don't
>>> completely understand all the debug output but i do see there is an error
>>> 997 which sounds suspicious. Does this indicate anything to you?
>>>
>>> Thanks for any help.
>>>
>>>    ...ant
>>>
>>> log: 705295,class jtermios.windows.JTermiosImpl line 264, thread id 1,
>>> main, instantiating jtermios.windows.JTermiosImpl
>>> log: 705829,class jtermios.windows.WinAPI line 763, thread id 1, main, >
>>> QueryDosDeviceW(null,[C@a894af68,16384)
>>> log: 705833,class jtermios.windows.WinAPI line 765, thread id 1, main, <
>>> QueryDosDeviceW(null,[C@a894af68,16384) => 14155
>>> log: 705843,class jtermios.JTermios line 390, thread id 1, main, >
>>> open('COM15',00020006)
>>> log: 705856,class jtermios.windows.WinAPI line 533, thread id 1, main, >
>>> CreateFileW(\\.\COM15, 0xC0000000, 0x00000000, null, 0x00000003,
>>> 0x40000000,null)
>>> log: 705859,class jtermios.windows.WinAPI line 535, thread id 1, main, <
>>> CreateFileW(\\.\COM15, 0xC0000000, 0x00000000, null, 0x00000003,
>>> 0x40000000,null) => native@0x5a8 (jtermios.windows.WinAPI$HANDLE@5a8)
>>> log: 705860,class jtermios.windows.WinAPI line 642, thread id 1, main, >
>>> SetCommTimeouts(native@0x5a8 (jtermios.windows.WinAPI$HANDLE@5a8),
>>> 2048, 2048)
>>> log: 705862,class jtermios.windows.WinAPI line 644, thread id 1, main, <
>>> SetCommTimeouts(native@0x5a8 (jtermios.windows.WinAPI$HANDLE@5a8),
>>> 2048, 2048) => true
>>> log: 705863,class jtermios.windows.WinAPI line 621, thread id 1, main, >
>>> GetCommState(native@0x5a8 (jtermios.windows.WinAPI$HANDLE@5a8),
>>> [BaudRate 0 fFlags 0000 wReserved 0 XonLim 0 XoffLim 0 ByteSize 0 Parity 0
>>> StopBits 0 XonChar 00 XoffChar 00 ErrorChar 00 EofChar 00 EvtChar 00
>>> wReserved1 0])
>>> log: 705869,class jtermios.windows.WinAPI line 623, thread id 1, main, <
>>> GetCommState(native@0x5a8 (jtermios.windows.WinAPI$HANDLE@5a8),
>>> [BaudRate 1000000 fFlags 0001 wReserved 0 XonLim 0 XoffLim 0 ByteSize 8
>>> Parity 0 StopBits 0 XonChar 11 XoffChar 13 ErrorChar 00 EofChar 00 EvtChar
>>> 0A wReserved1 0]) => true
>>> log: 705872,class jtermios.windows.WinAPI line 628, thread id 1, main, >
>>> SetCommState(native@0x5a8 (jtermios.windows.WinAPI$HANDLE@5a8),
>>> [BaudRate 9600 fFlags 0001 wReserved 0 XonLim 0 XoffLim 0 ByteSize 8 Parity
>>> 0 StopBits 0 XonChar 00 XoffChar 00 ErrorChar 00 EofChar 00 EvtChar 0A
>>> wReserved1 0])
>>> log: 705878,class jtermios.windows.WinAPI line 630, thread id 1, main, <
>>> SetCommState(native@0x5a8 (jtermios.windows.WinAPI$HANDLE@5a8),
>>> [BaudRate 9600 fFlags 0001 wReserved 0 XonLim 0 XoffLim 0 ByteSize 8 Parity
>>> 0 StopBits 0 XonChar 00 XoffChar 00 ErrorChar 00 EofChar 00 EvtChar 0A
>>> wReserved1 0]) => true
>>> log: 705879,class jtermios.windows.WinAPI line 635, thread id 1, main, >
>>> SetCommTimeouts(native@0x5a8 (jtermios.windows.WinAPI$HANDLE@5a8),
>>> [ReadIntervalTimeout -1 ReadTotalTimeoutMultiplier 0
>>> ReadTotalTimeoutConstant 0 WriteTotalTimeoutMultiplier 0
>>> WriteTotalTimeoutConstant 0])
>>> log: 705880,class jtermios.windows.WinAPI line 637, thread id 1, main, <
>>> SetCommTimeouts(native@0x5a8 (jtermios.windows.WinAPI$HANDLE@5a8),
>>> [ReadIntervalTimeout -1 ReadTotalTimeoutMultiplier 0
>>> ReadTotalTimeoutConstant 0 WriteTotalTimeoutMultiplier 0
>>> WriteTotalTimeoutConstant 0]) => true
>>> log: 705881,class jtermios.windows.JTermiosImpl line 752, thread id 1,
>>> main, vmin 0 vtime 0 ReadIntervalTimeout -1 ReadTotalTimeoutConstant 0
>>> ReadTotalTimeoutMultiplier 0
>>> log: 705882,class jtermios.windows.WinAPI line 684, thread id 1, main, >
>>> CreateEventA(null, false, false, null)
>>> log: 705883,class jtermios.windows.WinAPI line 686, thread id 1, main, <
>>> CreateEventA(null, false, false, null) => 
>>> native@0x5ac(jtermios.windows.WinAPI$HANDLE@5ac
>>> )
>>> log: 705884,class jtermios.windows.WinAPI line 684, thread id 1, main, >
>>> CreateEventA(null, true, false, null)
>>> log: 705884,class jtermios.windows.WinAPI line 686, thread id 1, main, <
>>> CreateEventA(null, true, false, null) => 
>>> native@0x5b0(jtermios.windows.WinAPI$HANDLE@5b0
>>> )
>>> log: 705885,class jtermios.windows.WinAPI line 684, thread id 1, main, >
>>> CreateEventA(null, true, false, null)
>>> log: 705885,class jtermios.windows.WinAPI line 686, thread id 1, main, <
>>> CreateEventA(null, true, false, null) => 
>>> native@0x5b4(jtermios.windows.WinAPI$HANDLE@5b4
>>> )
>>> log: 705886,class jtermios.windows.WinAPI line 684, thread id 1, main, >
>>> CreateEventA(null, true, false, null)
>>> log: 705887,class jtermios.windows.WinAPI line 686, thread id 1, main, <
>>> CreateEventA(null, true, false, null) => 
>>> native@0x5b8(jtermios.windows.WinAPI$HANDLE@5b8
>>> )
>>> log: 705888,class jtermios.windows.WinAPI line 684, thread id 1, main, >
>>> CreateEventA(null, true, false, null)
>>> log: 705889,class jtermios.windows.WinAPI line 686, thread id 1, main, <
>>> CreateEventA(null, true, false, null) => 
>>> native@0x5bc(jtermios.windows.WinAPI$HANDLE@5bc
>>> )
>>> log: 705889,class jtermios.windows.WinAPI line 684, thread id 1, main, >
>>> CreateEventA(null, true, false, null)
>>> log: 705890,class jtermios.windows.WinAPI line 686, thread id 1, main, <
>>> CreateEventA(null, true, false, null) => 
>>> native@0x5c0(jtermios.windows.WinAPI$HANDLE@5c0
>>> )
>>> log: 705891,class jtermios.JTermios line 392, thread id 1, main, <
>>> open('COM15',00020006) => 0
>>> log: 705892,class jtermios.JTermios line 307, thread id 1, main, >
>>> fcntl(0, 3, 0)
>>> log: 705893,class jtermios.JTermios line 309, thread id 1, main, <
>>> fcntl(0, 3, 0) => 131078
>>> log: 705893,class jtermios.JTermios line 307, thread id 1, main, >
>>> fcntl(0, 4, 131074)
>>> log: 705894,class jtermios.JTermios line 309, thread id 1, main, <
>>> fcntl(0, 4, 131074) => 0
>>> log: 705895,class jtermios.JTermios line 369, thread id 1, main, >
>>> tcgetattr(0,jtermios.Termios@a1323da0)
>>> log: 705895,class jtermios.JTermios line 371, thread id 1, main, <
>>> tcgetattr(0,jtermios.Termios@d0c82aa0) => 0
>>> log: 705896,class jtermios.JTermios line 363, thread id 1, main, >
>>> cfmakeraw(0,jtermios.Termios@d0c82aa0)
>>> log: 705897,class jtermios.JTermios line 365, thread id 1, main, <
>>> cfmakeraw(0,jtermios.Termios@d0c82aa0)
>>> log: 705897,class jtermios.JTermios line 376, thread id 1, main, >
>>> tcsetattr(0,0,jtermios.Termios@975081c2)
>>> log: 705898,class jtermios.windows.WinAPI line 621, thread id 1, main, >
>>> GetCommState(native@0x5a8 (jtermios.windows.WinAPI$HANDLE@5a8),
>>> [BaudRate 9600 fFlags 0001 wReserved 0 XonLim 0 XoffLim 0 ByteSize 8 Parity
>>> 0 StopBits 0 XonChar 00 XoffChar 00 ErrorChar 00 EofChar 00 EvtChar 0A
>>> wReserved1 0])
>>> log: 705901,class jtermios.windows.WinAPI line 623, thread id 1, main, <
>>> GetCommState(native@0x5a8 (jtermios.windows.WinAPI$HANDLE@5a8),
>>> [BaudRate 9600 fFlags 0001 wReserved 0 XonLim 0 XoffLim 0 ByteSize 8 Parity
>>> 0 StopBits 0 XonChar 00 XoffChar 00 ErrorChar 00 EofChar 00 EvtChar 0A
>>> wReserved1 0]) => true
>>> log: 705902,class jtermios.windows.WinAPI line 628, thread id 1, main, >
>>> SetCommState(native@0x5a8 (jtermios.windows.WinAPI$HANDLE@5a8),
>>> [BaudRate 9600 fFlags 0001 wReserved 0 XonLim 0 XoffLim 0 ByteSize 8 Parity
>>> 0 StopBits 0 XonChar 11 XoffChar 13 ErrorChar 00 EofChar 00 EvtChar 0A
>>> wReserved1 0])
>>> log: 705908,class jtermios.windows.WinAPI line 630, thread id 1, main, <
>>> SetCommState(native@0x5a8 (jtermios.windows.WinAPI$HANDLE@5a8),
>>> [BaudRate 9600 fFlags 0001 wReserved 0 XonLim 0 XoffLim 0 ByteSize 8 Parity
>>> 0 StopBits 0 XonChar 11 XoffChar 13 ErrorChar 00 EofChar 00 EvtChar 0A
>>> wReserved1 0]) => true
>>> log: 705909,class jtermios.JTermios line 378, thread id 1, main, <
>>> tcsetattr(0,0,jtermios.Termios@975081c2) => 0
>>> log: 705910,class jtermios.JTermios line 342, thread id 1, main, >
>>> setspeed(0,jtermios.Termios@975081c2,9600)
>>> log: 705911,class jtermios.JTermios line 344, thread id 1, main, <
>>> setspeed(0,jtermios.Termios@975081c2,9600) => 0
>>> log: 705912,class jtermios.JTermios line 376, thread id 1, main, >
>>> tcsetattr(0,0,jtermios.Termios@975081c2)
>>> log: 705913,class jtermios.JTermios line 378, thread id 1, main, <
>>> tcsetattr(0,0,jtermios.Termios@975081c2) => 0
>>> log: 705914,class jtermios.JTermios line 376, thread id 1, main, >
>>> tcsetattr(0,0,jtermios.Termios@975081c2)
>>> log: 705914,class jtermios.JTermios line 378, thread id 1, main, <
>>> tcsetattr(0,0,jtermios.Termios@975081c2) => 0
>>> log: 705915,class jtermios.JTermios line 418, thread id 1, main, >
>>> ioctl(0,1074033770,[00000000])
>>> log: 705916,class jtermios.windows.WinAPI line 663, thread id 1, main, >
>>> GetCommModemStatus(native@0x5a8 (jtermios.windows.WinAPI$HANDLE@5a8
>>> ),0x00000000)
>>> log: 705917,class jtermios.windows.WinAPI line 665, thread id 1, main, <
>>> GetCommModemStatus(native@0x5a8 
>>> (jtermios.windows.WinAPI$HANDLE@5a8),0x00000000)
>>> => true
>>> log: 705918,class jtermios.JTermios line 420, thread id 1, main, <
>>> ioctl(0,1074033770,[00000000]) => 0
>>> log: 705919,class jtermios.JTermios line 459, thread id 1, main, >
>>> pipe([2,0,0])
>>> log: 705919,class jtermios.JTermios line 461, thread id 1, main, <
>>> pipe([2,0,0]) => -1
>>> log: 705921,class jtermios.JTermios line 342, thread id 1, main, >
>>> setspeed(0,jtermios.Termios@975081c2,1000000)
>>> log: 705922,class jtermios.windows.WinAPI line 621, thread id 1, main, >
>>> GetCommState(native@0x5a8 (jtermios.windows.WinAPI$HANDLE@5a8),
>>> [BaudRate 9600 fFlags 0001 wReserved 0 XonLim 0 XoffLim 0 ByteSize 8 Parity
>>> 0 StopBits 0 XonChar 11 XoffChar 13 ErrorChar 00 EofChar 00 EvtChar 0A
>>> wReserved1 0])
>>> log: 705925,class jtermios.windows.WinAPI line 623, thread id 1, main, <
>>> GetCommState(native@0x5a8 (jtermios.windows.WinAPI$HANDLE@5a8),
>>> [BaudRate 9600 fFlags 0001 wReserved 0 XonLim 0 XoffLim 0 ByteSize 8 Parity
>>> 0 StopBits 0 XonChar 11 XoffChar 13 ErrorChar 00 EofChar 00 EvtChar 0A
>>> wReserved1 0]) => true
>>> log: 705926,class jtermios.windows.WinAPI line 628, thread id 1, main, >
>>> SetCommState(native@0x5a8 (jtermios.windows.WinAPI$HANDLE@5a8),
>>> [BaudRate 1000000 fFlags 0001 wReserved 0 XonLim 0 XoffLim 0 ByteSize 8
>>> Parity 0 StopBits 0 XonChar 11 XoffChar 13 ErrorChar 00 EofChar 00 EvtChar
>>> 0A wReserved1 0])
>>> log: 705932,class jtermios.windows.WinAPI line 630, thread id 1, main, <
>>> SetCommState(native@0x5a8 (jtermios.windows.WinAPI$HANDLE@5a8),
>>> [BaudRate 1000000 fFlags 0001 wReserved 0 XonLim 0 XoffLim 0 ByteSize 8
>>> Parity 0 StopBits 0 XonChar 11 XoffChar 13 ErrorChar 00 EofChar 00 EvtChar
>>> 0A wReserved1 0]) => true
>>> log: 705933,class jtermios.JTermios line 344, thread id 1, main, <
>>> setspeed(0,jtermios.Termios@760249c2,1000000) => 0
>>> log: 705934,class jtermios.JTermios line 376, thread id 1, main, >
>>> tcsetattr(0,0,jtermios.Termios@760249c2)
>>> log: 705934,class jtermios.JTermios line 378, thread id 1, main, <
>>> tcsetattr(0,0,jtermios.Termios@760249c2) => 0
>>> log: 705935,class jtermios.JTermios line 418, thread id 1, main, >
>>> ioctl(0,1074033770,[00000000])
>>> log: 705936,class jtermios.windows.WinAPI line 663, thread id 1, main, >
>>> GetCommModemStatus(native@0x5a8 (jtermios.windows.WinAPI$HANDLE@5a8
>>> ),0x00000000)
>>> log: 705937,class jtermios.windows.WinAPI line 665, thread id 1, main, <
>>> GetCommModemStatus(native@0x5a8 
>>> (jtermios.windows.WinAPI$HANDLE@5a8),0x00000000)
>>> => true
>>> log: 705937,class jtermios.JTermios line 420, thread id 1, main, <
>>> ioctl(0,1074033770,[00000000]) => 0
>>> log: 705938,class jtermios.JTermios line 418, thread id 1, main, >
>>> ioctl(0,-2147191699,[00000002])
>>> log: 705939,class jtermios.windows.WinAPI line 670, thread id 1, main, >
>>> EscapeCommFunction(native@0x5a8 (jtermios.windows.WinAPI$HANDLE@5a8
>>> ),0x00000005)
>>> log: 705940,class jtermios.windows.WinAPI line 672, thread id 1, main, <
>>> EscapeCommFunction(native@0x5a8 
>>> (jtermios.windows.WinAPI$HANDLE@5a8),0x00000005)
>>> => true
>>> log: 705941,class jtermios.windows.WinAPI line 670, thread id 1, main, >
>>> EscapeCommFunction(native@0x5a8 (jtermios.windows.WinAPI$HANDLE@5a8
>>> ),0x00000004)
>>> log: 705941,class jtermios.windows.WinAPI line 672, thread id 1, main, <
>>> EscapeCommFunction(native@0x5a8 
>>> (jtermios.windows.WinAPI$HANDLE@5a8),0x00000004)
>>> => true
>>> log: 705942,class jtermios.JTermios line 420, thread id 1, main, <
>>> ioctl(0,-2147191699,[00000002]) => 0
>>> cmd: 1,16
>>>
>>> log: 705945,class jtermios.JTermios line 376, thread id 26, Thread-6, >
>>> tcsetattr(0,0,jtermios.Termios@6a4bbae1)
>>> log: 705946,class jtermios.windows.WinAPI line 635, thread id 26,
>>> Thread-6, > 
>>> SetCommTimeouts(native@0x5a8(jtermios.windows.WinAPI$HANDLE@5a8),
>>> [ReadIntervalTimeout 0 ReadTotalTimeoutMultiplier 0
>>> ReadTotalTimeoutConstant 0 WriteTotalTimeoutMultiplier 0
>>> WriteTotalTimeoutConstant 0])
>>> log: 705947,class jtermios.JTermios line 404, thread id 1, main, >
>>> write(0,[8192,0x31,0x2C,0x31,0x36,0x0A,0x00,0x00,0x00...],5)
>>> log: 705947,class jtermios.windows.WinAPI line 637, thread id 26,
>>> Thread-6, < 
>>> SetCommTimeouts(native@0x5a8(jtermios.windows.WinAPI$HANDLE@5a8),
>>> [ReadIntervalTimeout 0 ReadTotalTimeoutMultiplier 0
>>> ReadTotalTimeoutConstant 0 WriteTotalTimeoutMultiplier 0
>>> WriteTotalTimeoutConstant 0]) => true
>>> log: 705948,class jtermios.windows.WinAPI line 698, thread id 1, main, >
>>> ResetEvent(native@0x5bc (jtermios.windows.WinAPI$HANDLE@5bc))
>>> log: 705949,class jtermios.windows.JTermiosImpl line 752, thread id 26,
>>> Thread-6, vmin 1 vtime 0 ReadIntervalTimeout 0 ReadTotalTimeoutConstant 0
>>> ReadTotalTimeoutMultiplier 0
>>> log: 705950,class jtermios.windows.WinAPI line 700, thread id 1, main, <
>>> ResetEvent(native@0x5bc (jtermios.windows.WinAPI$HANDLE@5bc)) => true
>>> log: 705950,class jtermios.JTermios line 378, thread id 26, Thread-6, <
>>> tcsetattr(0,0,jtermios.Termios@6a4bbae1) => 0
>>> log: 705951,class jtermios.windows.WinAPI line 549, thread id 1, main, >
>>> WriteFile(native@0x5a8 (jtermios.windows.WinAPI$HANDLE@5a8),
>>> [5,0x31,0x2C,0x31,0x36,0x0A], 5, [0], auto-allocated@0x647a20 (32
>>> bytes))
>>> log: 705952,class jtermios.JTermios line 438, thread id 26, Thread-6, >
>>> select(1,[0],[],[],jtermios.TimeVal@8a7fa8b9)
>>> log: 705952,class jtermios.windows.WinAPI line 600, thread id 26,
>>> Thread-6, > ClearCommError(native@0x5a8(jtermios.windows.WinAPI$HANDLE@5a8),
>>> [0], [fFlags 0000 cbInQue 0 cbInQue 0])
>>> log: 705953,class jtermios.windows.WinAPI line 551, thread id 1, main, <
>>> WriteFile(native@0x5a8 (jtermios.windows.WinAPI$HANDLE@5a8),
>>> [5,0x31,0x2C,0x31,0x36,0x0A], 5, [0], auto-allocated@0x647a20 (32
>>> bytes)) => false
>>> log: 705954,class jtermios.windows.WinAPI line 602, thread id 26,
>>> Thread-6, < ClearCommError(native@0x5a8(jtermios.windows.WinAPI$HANDLE@5a8),
>>> [0], [fFlags 0000 cbInQue 0 cbInQue 0]) => true
>>> log: 705955,class jtermios.windows.WinAPI line 740, thread id 1, main, >
>>> GetLastError()
>>> log: 705956,class jtermios.windows.WinAPI line 698, thread id 26,
>>> Thread-6, > ResetEvent(native@0x5c0 (jtermios.windows.WinAPI$HANDLE@5c0
>>> ))
>>> log: 705956,class jtermios.windows.WinAPI line 742, thread id 1, main, <
>>> GetLastError() => 997
>>> log: 705957,class jtermios.windows.WinAPI line 700, thread id 26,
>>> Thread-6, < ResetEvent(native@0x5c0 (jtermios.windows.WinAPI$HANDLE@5c0))
>>> => true
>>> log: 705958,class jtermios.JTermios line 406, thread id 1, main, <
>>> write(0,[8192,0x31,0x2C,0x31,0x36,0x0A,0x00,0x00,0x00...],5) => 5
>>> log: 705958,class jtermios.windows.WinAPI line 607, thread id 26,
>>> Thread-6, > SetCommMask(native@0x5a8 (jtermios.windows.WinAPI$HANDLE@5a8),
>>> 0x00000001)
>>> log: 705959,class jtermios.JTermios line 356, thread id 1, main, >
>>> tcdrain(0)
>>> log: 705960,class jtermios.windows.WinAPI line 609, thread id 26,
>>> Thread-6, < SetCommMask(native@0x5a8 (jtermios.windows.WinAPI$HANDLE@5a8),
>>> 0x00000001) => true
>>> log: 705960,class jtermios.windows.WinAPI line 572, thread id 1, main, >
>>> FlushFileBuffers(native@0x5a8 (jtermios.windows.WinAPI$HANDLE@5a8))
>>> log: 705961,class jtermios.windows.WinAPI line 705, thread id 26,
>>> Thread-6, > WaitCommEvent(native@0x5a8(jtermios.windows.WinAPI$HANDLE@5a8),
>>> [0], auto-allocated@0x647a50 (32 bytes))
>>> log: 705961,class jtermios.windows.WinAPI line 574, thread id 1, main, <
>>> FlushFileBuffers(native@0x5a8 (jtermios.windows.WinAPI$HANDLE@5a8)) =>
>>> true
>>> log: 705962,class jtermios.windows.WinAPI line 707, thread id 26,
>>> Thread-6, < WaitCommEvent(native@0x5a8(jtermios.windows.WinAPI$HANDLE@5a8),
>>> [0], auto-allocated@0x647a50 (32 bytes)) => false
>>> log: 705963,class jtermios.JTermios line 358, thread id 1, main, <
>>> tcdrain(0) => 0
>>> log: 705964,class jtermios.windows.WinAPI line 740, thread id 26,
>>> Thread-6, > GetLastError()
>>> log: 705964,class jtermios.windows.WinAPI line 742, thread id 26,
>>> Thread-6, < GetLastError() => 997
>>> log: 705965,class jtermios.windows.WinAPI line 726, thread id 26,
>>> Thread-6, > WaitForMultipleObjects(2, 
>>> [2,native@0x5c0(jtermios.windows.WinAPI$HANDLE@5c0
>>> ),native@0x5ac (jtermios.windows.WinAPI$HANDLE@5ac)], false, 2147483647)
>>>
>>>
>>>
>>>
>>>
>>> ------------------------------
>>> This e-mail may contain confidential or privileged information. If you
>>> are not the intended recipient (or have received this e-mail in error)
>>> please notify the sender immediately and destroy this e-mail. Any
>>> unauthorized copying, disclosure or distribution of the material in this
>>> e-mail is strictly forbidden. We will not be liable for direct, indirect,
>>> special or consequential damages arising from alteration of the contents of
>>> this message by a third party or as a result of any virus being passed on
>>> or as of transmission of this e-mail in general.
>>>
>>
>>
>

Other related posts: