Notice: This forum has been recovered from an old backup, so some content, links, and dates may be outdated. The forum is currently read-only while we restore sign-in and registration functionality. Details

If you find this forum valuable and would like to help keep it online, donations to help cover hosting and domain costs are greatly appreciated, but never expected. You can support the forum through Buy Me a Coffee or Ko-fi. Thank you for helping preserve the EventGhost community.

Drops on reading from serial port

If you have a question or need help, this is the place to be.
igvk
Experienced User
Posts: 60
Joined: Wed Jan 09, 2013 7:22 pm

Drops on reading from serial port

Post by igvk »

I noticed a strange case of EventGhost dropping bytes when reading from serial thread.
The plugin that is used is X10Mouse.
There is the following code that reads from serial port:

Code: Select all

    def OnReceive(self, serialThread):
        self.byteNum = 0
        self.comBytes = [None, None, None]
        data = serialThread.Read(1, self.timeout)
        reply = {'suffix': None, 'payload': None}
        lastEvent = None
        while(len(data) > 0):
            reply['suffix'] = self.Decode(reply, ord(data))
            if (reply['suffix'] is not None) and (reply != lastEvent):
                self.TriggerEnduringEvent(reply['suffix'], reply['payload'])
                lastEvent = reply.copy()
                reply['payload'] = None
            data = serialThread.Read(1, self.timeout)
        self.EndLastEvent()
Periodically, it doesn't notice button presses on the remote.

I changed the code to include debug prints in the following way:

Code: Select all

    def OnReceive(self, serialThread):
        self.byteNum = 0
        self.comBytes = [None, None, None]
        print "+++ OnReceive"
        data = serialThread.Read(1, self.timeout)
        reply = {'suffix': None, 'payload': None}
        lastEvent = None
        while(len(data) > 0):
            print "Data:", data, hex(ord(data))
            reply['suffix'] = self.Decode(reply, ord(data))
            if (reply['suffix'] is not None) and (reply != lastEvent):
                self.TriggerEnduringEvent(reply['suffix'], reply['payload'])
                lastEvent = reply.copy()
                reply['payload'] = None
            data = serialThread.Read(1, self.timeout)
        print "--- OnReceive"
        self.EndLastEvent()
Besides, IO Ninja was used to monitor raw communication on the serial port.

And here is what I saw: lots of character drops in EG, while at the same time the stream of bytes is perfect.
Here is an example: the button pressed sends the same 3 bytes (in hex): 45 08 3f
And typically bytes 08 or 3f are dropped in EG output, only sometimes all 3 bytes in a row are read correctly.
Here is the log:

Code: Select all

.....
12:44:02   +++ OnReceive
12:44:02   Data: E 0x45
12:44:02   Data: ? 0x3f
12:44:02   Data: E 0x45
12:44:02   Data: ? 0x3f
12:44:02   --- OnReceive
12:44:05   +++ OnReceive
12:44:05   Data: E 0x45
12:44:05   Data:  0x8
12:44:05   Data: E 0x45
12:44:05   Data: ? 0x3f
12:44:05   --- OnReceive
12:44:07   +++ OnReceive
12:44:07   Data: E 0x45
12:44:07   Data: ? 0x3f
12:44:07   --- OnReceive
12:44:09   +++ OnReceive
12:44:09   Data: E 0x45
12:44:09   Data:  0x8
12:44:09   Data: E 0x45
12:44:09   Data: ? 0x3f
12:44:10   --- OnReceive
12:44:11   +++ OnReceive
12:44:11   Data: E 0x45
12:44:11   Data:  0x8
12:44:11   Data: E 0x45
12:44:11   Data: ? 0x3f
12:44:11   --- OnReceive
12:44:12   +++ OnReceive
12:44:12   Data: E 0x45
12:44:12   Data:  0x8
12:44:12   Data: E 0x45
12:44:12   Data: ? 0x3f
12:44:12   --- OnReceive
At the same time log from IO Ninja serial communication monitoring is perfect:

Code: Select all

Port closed
Capture stopped
Session started
Capture started on port COM3
Port opened
Set baud rate: 1200 bps
Set RTS: off
Set DTR: off
Set data bits: 7 bits
Set stop bits: 1 bit
Set parity: None
Set flow control: None
Set RTS: on
Set DTR: on
4d 45 08 3f 45 08 3f 45 08 3f 45 08 3f 45 08 3f  ME.?E.?E.?E.?E.?
45 08 3f 45 08 3f 45 08 3f 45 08 3f 45 08 3f 45  E.?E.?E.?E.?E.?E
08 3f                                            .?
What can be the reason of such character drops from serial port?

I have also attached serial terminal directly to COM port without EG running.
Here's what I see:

Code: Select all

Session started
[+] Opened port COM3 at 1200 bps
Status line(s) changed: DSR: on
Status line(s) changed: DSR: off
Status line(s) changed: DSR: on
Status line(s) changed: DSR: off
Status line(s) changed: DSR: on
Status line(s) changed: DSR: off
4d                                               M
Status line(s) changed: DSR: on
Status line(s) changed: DSR: off
Status line(s) changed: DSR: on
Status line(s) changed: DSR: off
Status line(s) changed: DSR: on
Status line(s) changed: DSR: off
Status line(s) changed: DSR: on
Status line(s) changed: DSR: off
45                                               E
Status line(s) changed: DSR: on
Status line(s) changed: DSR: off
Status line(s) changed: DSR: on
Status line(s) changed: DSR: off
08 3f                                            .?
Status line(s) changed: DSR: on
Status line(s) changed: DSR: off
Status line(s) changed: DSR: on
Status line(s) changed: DSR: off
Status line(s) changed: DSR: on
Status line(s) changed: DSR: off
Status line(s) changed: DSR: on
Status line(s) changed: DSR: off
Status line(s) changed: DSR: on
Status line(s) changed: DSR: off
45 08 3f                                         E.?
I am using Windows10 x64, EventGhost version 0.4.1.r1722.
User avatar
kgschlosser
Site Admin
Posts: 5190
Joined: Fri Jun 05, 2015 5:43 am
Location: Rocky Mountains, Colorado USA

Re: Drops on reading from serial port

Post by kgschlosser »

bad cable?

also there is a variety of different types of serial.
depending on the device and what kind of adapter

example.

usb to serial adapter unpowered is going to either be 3.3 volt (TTL) or 5 volt serial

and if the device you are plugging in is a true serial device at 12 volt. that could pose an issue

if you are using the serial that is built onto the mainboard that will be 12 volt. and if the device is 5 volt serial it would work but the longer the cable is the more voltage drop you have and the serial port on the mainboard will read the 5 volt but not a whole hell of a lot less than that so that could be an issue.

but from what it appears is it's a cable/voltage issue

K
If you like the work I have been doing then feel free to Image
igvk
Experienced User
Posts: 60
Joined: Wed Jan 09, 2013 7:22 pm

Re: Drops on reading from serial port

Post by igvk »

Why do you think that it's a cable, when the terminal clearly shows that no characters are lost?
This is a connection via Usb to serial adapter. And the only application that loses bytes is Eventghost. The serial monitor shows that all the data is received by the PC at the same time.
User avatar
kgschlosser
Site Admin
Posts: 5190
Joined: Fri Jun 05, 2015 5:43 am
Location: Rocky Mountains, Colorado USA

Re: Drops on reading from serial port

Post by kgschlosser »

i mis understood. i took dropping chars as garbage in the transmit. and not as in lost.

i had just woken up at that point. lol.

i see what you are talking about.

i have a serial driven receiver that has given me grief with the serialport so much so to the ectent i had to make a table of all 1200 responses and if the response isn't in the table to not post an event. and i thought the bad lines were the fault of the receiver. now i am going to have to check it out and see if maybe it's not and the problem is EG.

and it might not even be EG it could be how the whole process of obtaining data from a windows serial port is.

i have see shifts in my serial data running realterm tho. when it's supposed to be a constant set amount of bytes long.

i am going to have to investigate this now. because if i can be solved then i won't have to finish that table because there is no docs for the AVR on all the responses. so i have been systematically going through it. and i am at 1200 or so now. and i am sure there are a lot more.
If you like the work I have been doing then feel free to Image
User avatar
kgschlosser
Site Admin
Posts: 5190
Joined: Fri Jun 05, 2015 5:43 am
Location: Rocky Mountains, Colorado USA

Re: Drops on reading from serial port

Post by kgschlosser »

ok so this is what i am seeing.

Code: Select all

    12:44:02   Data: E 0x45
0x8  ** Missing **
    12:44:02   Data: ? 0x3f
    12:44:02   Data: E 0x45
0x8  ** Missing **
    12:44:02   Data: ? 0x3f
-------------------------------

    12:44:05   Data: E 0x45
    12:44:05   Data:  0x8
0x3f ** Missing **
    12:44:05   Data: E 0x45
0x8  ** Missing **
    12:44:05   Data: ? 0x3f
--------------------------------

    12:44:07   Data: E 0x45
0x8 ** Missing **
    12:44:07   Data: ? 0x3f
0x45 ** Missing **
0x8  ** Missing **
0x3f ** Missing **
--------------------------------

    12:44:09   Data: E 0x45
    12:44:09   Data:  0x8
0x3f ** Missing **
    12:44:09   Data: E 0x45
0x8  ** Missing **
    12:44:09   Data: ? 0x3f
--------------------------------

    12:44:11   Data: E 0x45
    12:44:11   Data:  0x8
0x3f ** Missing **
    12:44:11   Data: E 0x45
0x8  ** Missing **
    12:44:11   Data: ? 0x3f
--------------------------------

    12:44:12   Data: E 0x45
    12:44:12   Data:  0x8
0x3f ** Missing **
    12:44:12   Data: E 0x45
0x8  ** Missing **
    12:44:12   Data: ? 0x3f

is that correct???
If you like the work I have been doing then feel free to Image
igvk
Experienced User
Posts: 60
Joined: Wed Jan 09, 2013 7:22 pm

Re: Drops on reading from serial port

Post by igvk »

Ok, so you have seen something similar from serial port in EG?
In my case, the problem was so obscure that I thought that the remote transmitter is at fault.
Because the problem wasn't obvious and it possibly depends on EG state (but this is not proved).
Although after troubleshooting and knowing that the transmitter sends everything correctly, it is easily reproducible from the very startup of EG.

Do you know how to debug the serial driver of EG? It would be useful for it to output debug info on received data.
And, for X10Mouse, flow control (e.g. DSR) isn't used. Could it be that it still has influence on the bytes that EG accepts for serial interface?
igvk
Experienced User
Posts: 60
Joined: Wed Jan 09, 2013 7:22 pm

Re: Drops on reading from serial port

Post by igvk »

For the missing parts of data:
The only sequence the transmitter was sending (except for the startup) was "0x45 0x08 0x3f".
These 3 bytes could be repeated twice (or more) sometimes because the button sends them rapidly when pressed.
In my example the missing bytes were always 0x08 or 0x3f.
User avatar
kgschlosser
Site Admin
Posts: 5190
Joined: Fri Jun 05, 2015 5:43 am
Location: Rocky Mountains, Colorado USA

Re: Drops on reading from serial port

Post by kgschlosser »

i checked my serial communications with my AVR and the data that EG shows is the same data that any other application i have tried shows.

i am using a plugin specifically created for talking to my AVR tho. and it's making a call to eg.SerialPort for the serial communications. I would have to look at the x10 mouse plugin to see if there would be a reason as to why it's dropping the serial data
If you like the work I have been doing then feel free to Image
igvk
Experienced User
Posts: 60
Joined: Wed Jan 09, 2013 7:22 pm

Re: Drops on reading from serial port

Post by igvk »

To me it didn't look like the fault of the plugin itself. The code of reading from serial doesn't seem to do anything too complex.
Possibly, it would be better to debug the low-level serial communication of EG.
igvk
Experienced User
Posts: 60
Joined: Wed Jan 09, 2013 7:22 pm

Re: Drops on reading from serial port

Post by igvk »

By the way, here is the plugin that I use for X10 MouseRemote:
viewtopic.php?f=9&t=3280
igvk
Experienced User
Posts: 60
Joined: Wed Jan 09, 2013 7:22 pm

Re: Drops on reading from serial port

Post by igvk »

I was troubleshooting this issue and trying different serial port monitoring software, when I noticed that in EG everything works as expected.
No drops now. Don't know what the reason for this was. Some software incompatibility with the way EG reads from serial port?
User avatar
kgschlosser
Site Admin
Posts: 5190
Joined: Fri Jun 05, 2015 5:43 am
Location: Rocky Mountains, Colorado USA

Re: Drops on reading from serial port

Post by kgschlosser »

to be honest i am not sure how the software you were using intercepts the data.

i know that realterm you have to have it running first then launch whatever it is that is going to use the port. because it makes a virtual port if you will and shuttles data back and forth.

i think it has somehting to do with how that other software gets in the middle because that is the first time i have ever seen a something like that start and stop capturing when something connects to the port.

example:

my avr is always outputting data. and when i am monitoring i can always see that data. and then if the plugin connects to the port i can now see the plugin sending data.

the one you were using wouldn't show a thing until my plugin connected

took me a minute to figure that out.

it's odd
If you like the work I have been doing then feel free to Image
igvk
Experienced User
Posts: 60
Joined: Wed Jan 09, 2013 7:22 pm

Re: Drops on reading from serial port

Post by igvk »

Now it happened.. again. Don't know the cause yet. But I prepared for it with advanced serial monitoring :)
Here are the results.

EG debug output:

Code: Select all

01:44:18   ---> Welcome to EventGhost <---
01:44:19   Autostart
01:44:19      Plugin: Task Create/Switch Events
01:44:19      Plugin: Network Event Receiver
01:44:19      Plugin: X10 MouseRemote
01:44:19      Wait: 1.0 sec
01:44:19         +++ OnReceive
01:44:19         Data: M 0x4d
01:44:19         --- OnReceive
01:44:20      Plugin: Desktop Remote
01:44:20      Plugin: Zoom Player
01:44:20      Plugin: AIMP
01:44:21      Plugin: Media Player Classic
01:44:21      Plugin: PotPlayer
01:44:21      Plugin: CyberLink PowerDVD
01:44:21   Main.OnInit
01:44:21      Python Script
01:44:21         Initialize
01:44:22   Task.Activated.Desktop
01:44:24   Task.Created.EventGhost
01:44:24   Task.NewWindow.EventGhost
01:44:24   Task.Deactivated.Desktop
01:44:24   Task.Activated.EventGhost
01:44:38   +++ OnReceive
01:44:38   Data: E 0x45
01:44:39   Data:  0x8
01:44:39   Data: E 0x45
01:44:39   Data: ? 0x3f
01:44:39   --- OnReceive
01:44:41   +++ OnReceive
01:44:41   Data: E 0x45
01:44:41   Data:  0x8
01:44:41   Data: ? 0x3f
01:44:41   X10Mouse.Pad8
01:44:41   --- OnReceive
01:44:44   +++ OnReceive
01:44:44   Data: E 0x45
01:44:44   Data:  0x8
01:44:44   Data: ? 0x3f
01:44:44   X10Mouse.Pad8
01:44:44   --- OnReceive
01:44:46   +++ OnReceive
01:44:46   Data: E 0x45
01:44:46   Data: ? 0x3f
01:44:46   --- OnReceive
01:44:50   +++ OnReceive
01:44:50   Data: E 0x45
01:44:50   Data:  0x8
01:44:50   --- OnReceive
01:44:53   +++ OnReceive
01:44:53   Data: E 0x45
01:44:53   Data: ? 0x3f
01:44:53   Data: E 0x45
01:44:53   Data:  0x8
01:44:54   Data: ? 0x3f
01:44:54   X10Mouse.Pad8
01:44:54   --- OnReceive
01:44:58   +++ OnReceive
01:44:58   Data: E 0x45
01:44:58   Data: ? 0x3f
01:44:58   --- OnReceive
01:45:00   +++ OnReceive
01:45:00   Data: E 0x45
01:45:01   Data:  0x8
01:45:01   Data: ? 0x3f
01:45:01   X10Mouse.Pad8
01:45:01   --- OnReceive
01:45:02   +++ OnReceive
01:45:02   Data: E 0x45
01:45:02   Data:  0x8
01:45:02   Data: E 0x45
01:45:02   --- OnReceive
01:45:03   +++ OnReceive
01:45:03   Data: E 0x45
01:45:03   Data: E 0x45
01:45:03   Data: ? 0x3f
01:45:04   --- OnReceive
Serial monitor:

Code: Select all

[10/06/2016 01:44:19] 
223 IRP_MJ_CREATE - Opens a COM port (COM3) 
    STATUS_SUCCESS 
        Opened by: 
            C:\Program Files (x86)\EventGhost\EventGhost.exe 
---------------------------------------------------------------------------------- 
[10/06/2016 01:44:19] 
225 IRP_MJ_DEVICE_CONTROL - Request operates a serial port (COM3) 
    STATUS_SUCCESS 
        IOCTL_SERIAL_GET_BAUD_RATE - Returns the baud rate that is currently set for a COM port 
            BaudRate - 1200 
---------------------------------------------------------------------------------- 
[10/06/2016 01:44:19] 
227 IRP_MJ_DEVICE_CONTROL - Request operates a serial port (COM3) 
    STATUS_SUCCESS 
        IOCTL_SERIAL_GET_LINE_CONTROL - Request returns information about the line control set for a COM port 
            StopBits   - 0 (1 stop bit) 
            Parity     - 0 (NO_PARITY) 
            WordLength - 7 
---------------------------------------------------------------------------------- 
[10/06/2016 01:44:19] 
229 IRP_MJ_DEVICE_CONTROL - Request operates a serial port (COM3) 
    STATUS_SUCCESS 
        IOCTL_SERIAL_GET_CHARS - Request returns the special characters that Serial uses with handshake flow control 
            EofChar   - 0 
            ErrorChar - 0 
            BreakChar - 0 
            EventChar - 0 
            XonChar   - 17 
            XoffChar  - 19 
---------------------------------------------------------------------------------- 
[10/06/2016 01:44:19] 
231 IRP_MJ_DEVICE_CONTROL - Request operates a serial port (COM3) 
    STATUS_SUCCESS 
        IOCTL_SERIAL_GET_HANDFLOW - Request returns information about the configuration of the handshake flow control set for a COM port 
            ControlHandShake - 0x00  
            FlowReplace      - 0x80000000  
            XonLimit         - 2048 
            XoffLimit        - 512 
---------------------------------------------------------------------------------- 
[10/06/2016 01:44:19] 
233 IRP_MJ_DEVICE_CONTROL - Request operates a serial port (COM3) 
    STATUS_SUCCESS 
        IOCTL_SERIAL_GET_BAUD_RATE - Returns the baud rate that is currently set for a COM port 
            BaudRate - 1200 
---------------------------------------------------------------------------------- 
[10/06/2016 01:44:19] 
235 IRP_MJ_DEVICE_CONTROL - Request operates a serial port (COM3) 
    STATUS_SUCCESS 
        IOCTL_SERIAL_GET_LINE_CONTROL - Request returns information about the line control set for a COM port 
            StopBits   - 0 (1 stop bit) 
            Parity     - 0 (NO_PARITY) 
            WordLength - 7 
---------------------------------------------------------------------------------- 
[10/06/2016 01:44:19] 
237 IRP_MJ_DEVICE_CONTROL - Request operates a serial port (COM3) 
    STATUS_SUCCESS 
        IOCTL_SERIAL_GET_CHARS - Request returns the special characters that Serial uses with handshake flow control 
            EofChar   - 0 
            ErrorChar - 0 
            BreakChar - 0 
            EventChar - 0 
            XonChar   - 17 
            XoffChar  - 19 
---------------------------------------------------------------------------------- 
[10/06/2016 01:44:19] 
239 IRP_MJ_DEVICE_CONTROL - Request operates a serial port (COM3) 
    STATUS_SUCCESS 
        IOCTL_SERIAL_GET_HANDFLOW - Request returns information about the configuration of the handshake flow control set for a COM port 
            ControlHandShake - 0x00  
            FlowReplace      - 0x80000000  
            XonLimit         - 2048 
            XoffLimit        - 512 
---------------------------------------------------------------------------------- 
[10/06/2016 01:44:19] 
241 IRP_MJ_DEVICE_CONTROL - Request operates a serial port (COM3) 
    STATUS_SUCCESS 
        IOCTL_SERIAL_SET_BAUD_RATE - Request sets the baud rate on a COM port. Serial verifies the specified baud rate 
            BaudRate - 1200 
---------------------------------------------------------------------------------- 
[10/06/2016 01:44:19] 
243 IRP_MJ_DEVICE_CONTROL - Request operates a serial port (COM3) 
    STATUS_SUCCESS 
        IOCTL_SERIAL_CLR_RTS - Request clears the RTS control signal  
---------------------------------------------------------------------------------- 
[10/06/2016 01:44:19] 
245 IRP_MJ_DEVICE_CONTROL - Request operates a serial port (COM3) 
    STATUS_SUCCESS 
        IOCTL_SERIAL_CLR_DTR - Request clears the DTR control signal.  
---------------------------------------------------------------------------------- 
[10/06/2016 01:44:19] 
247 IRP_MJ_DEVICE_CONTROL - Request operates a serial port (COM3) 
    STATUS_SUCCESS 
        IOCTL_SERIAL_SET_LINE_CONTROL - Request sets the line control register 
            StopBits   - 0 (1 stop bit) 
            Parity     - 0 (NO_PARITY) 
            WordLength - 7 
---------------------------------------------------------------------------------- 
[10/06/2016 01:44:19] 
249 IRP_MJ_DEVICE_CONTROL - Request operates a serial port (COM3) 
    STATUS_SUCCESS 
        IOCTL_SERIAL_SET_CHARS - Request sets the special characters that Serial uses for handshake flow control 
            EofChar   - 0 
            ErrorChar - 0 
            BreakChar - 0 
            EventChar - 0 
            XonChar   - 17 
            XoffChar  - 19 
---------------------------------------------------------------------------------- 
[10/06/2016 01:44:19] 
251 IRP_MJ_DEVICE_CONTROL - Request operates a serial port (COM3) 
    STATUS_SUCCESS 
        IOCTL_SERIAL_SET_HANDFLOW - Request sets the configuration of handshake flow control 
            ControlHandShake - 0x00  
            FlowReplace      - 0x80000000  
            XonLimit         - 2048 
            XoffLimit        - 512 
---------------------------------------------------------------------------------- 
[10/06/2016 01:44:19] 
253 IRP_MJ_DEVICE_CONTROL - Request operates a serial port (COM3) 
    STATUS_SUCCESS 
        IOCTL_SERIAL_GET_TIMEOUTS - Returns the timeout values that Serial uses with read and write requests 
            ReadIntervalTimeout         - 0 
            ReadTotalTimeoutMultiplier  - 0 
            ReadTotalTimeoutConstant    - 0 
            WriteTotalTimeoutMultiplier - 0 
            WriteTotalTimeoutConstant   - 0 
---------------------------------------------------------------------------------- 
[10/06/2016 01:44:19] 
255 IRP_MJ_DEVICE_CONTROL - Request operates a serial port (COM3) 
    STATUS_SUCCESS 
        IOCTL_SERIAL_SET_TIMEOUTS - Request sets the timeout value's that the driver uses with read and write requests 
            ReadIntervalTimeout         - 0 
            ReadTotalTimeoutMultiplier  - 0 
            ReadTotalTimeoutConstant    - 0 
            WriteTotalTimeoutMultiplier - 100 
            WriteTotalTimeoutConstant   - 100 
---------------------------------------------------------------------------------- 
[10/06/2016 01:44:19] 
257 IRP_MJ_DEVICE_CONTROL - Request operates a serial port (COM3) 
    STATUS_SUCCESS 
        IOCTL_SERIAL_SET_RTS - Request sets RTS 
---------------------------------------------------------------------------------- 
[10/06/2016 01:44:19] 
259 IRP_MJ_DEVICE_CONTROL - Request operates a serial port (COM3) 
    STATUS_SUCCESS 
        IOCTL_SERIAL_SET_DTR - Request sets DTR 
---------------------------------------------------------------------------------- 
[10/06/2016 01:44:19] 
261 IRP_MJ_READ - Transfers data from a COM port to a client (COM3) - 1 bytes of 1 
    STATUS_SUCCESS 
            4d                                                M                
---------------------------------------------------------------------------------- 
[10/06/2016 01:44:19] 
263 IRP_MJ_DEVICE_CONTROL - Request operates a serial port (COM3) 
    STATUS_SUCCESS 
        IOCTL_SERIAL_GET_COMMSTATUS - Request returns information about the communication status of a COM port 
            Errors           - 0 
            HoldReasons      - 0 
            AmountInInQueue  - 0 
            AmountInOutQueue - 0 
            EofReceived      - 0 
            WaitForImmediate - 0 
---------------------------------------------------------------------------------- 
[10/06/2016 01:44:38] 
265 IRP_MJ_READ - Transfers data from a COM port to a client (COM3) - 1 bytes of 1 
    STATUS_SUCCESS 
            45                                                E                
---------------------------------------------------------------------------------- 
[10/06/2016 01:44:38] 
267 IRP_MJ_DEVICE_CONTROL - Request operates a serial port (COM3) 
    STATUS_SUCCESS 
        IOCTL_SERIAL_GET_COMMSTATUS - Request returns information about the communication status of a COM port 
            Errors           - 0 
            HoldReasons      - 0 
            AmountInInQueue  - 0 
            AmountInOutQueue - 0 
            EofReceived      - 0 
            WaitForImmediate - 0 
---------------------------------------------------------------------------------- 
[10/06/2016 01:44:38] 
269 IRP_MJ_READ - Transfers data from a COM port to a client (COM3) - 1 bytes of 1 
    STATUS_SUCCESS 
            08                                                .                
---------------------------------------------------------------------------------- 
[10/06/2016 01:44:39] 
271 IRP_MJ_DEVICE_CONTROL - Request operates a serial port (COM3) 
    STATUS_SUCCESS 
        IOCTL_SERIAL_GET_COMMSTATUS - Request returns information about the communication status of a COM port 
            Errors           - 0 
            HoldReasons      - 0 
            AmountInInQueue  - 1 
            AmountInOutQueue - 0 
            EofReceived      - 0 
            WaitForImmediate - 0 
---------------------------------------------------------------------------------- 
[10/06/2016 01:44:39] 
273 IRP_MJ_READ - Transfers data from a COM port to a client (COM3) - 1 bytes of 1 
    STATUS_SUCCESS 
            3f                                                ?                
---------------------------------------------------------------------------------- 
[10/06/2016 01:44:39] 
275 IRP_MJ_READ - Transfers data from a COM port to a client (COM3) - 1 bytes of 1 
    STATUS_SUCCESS 
            45                                                E                
---------------------------------------------------------------------------------- 
[10/06/2016 01:44:39] 
277 IRP_MJ_DEVICE_CONTROL - Request operates a serial port (COM3) 
    STATUS_SUCCESS 
        IOCTL_SERIAL_GET_COMMSTATUS - Request returns information about the communication status of a COM port 
            Errors           - 0 
            HoldReasons      - 0 
            AmountInInQueue  - 1 
            AmountInOutQueue - 0 
            EofReceived      - 0 
            WaitForImmediate - 0 
---------------------------------------------------------------------------------- 
[10/06/2016 01:44:39] 
279 IRP_MJ_READ - Transfers data from a COM port to a client (COM3) - 1 bytes of 1 
    STATUS_SUCCESS 
            08                                                .                
---------------------------------------------------------------------------------- 
[10/06/2016 01:44:39] 
281 IRP_MJ_READ - Transfers data from a COM port to a client (COM3) - 1 bytes of 1 
    STATUS_SUCCESS 
            3f                                                ?                
---------------------------------------------------------------------------------- 
[10/06/2016 01:44:39] 
283 IRP_MJ_DEVICE_CONTROL - Request operates a serial port (COM3) 
    STATUS_SUCCESS 
        IOCTL_SERIAL_GET_COMMSTATUS - Request returns information about the communication status of a COM port 
            Errors           - 0 
            HoldReasons      - 0 
            AmountInInQueue  - 0 
            AmountInOutQueue - 0 
            EofReceived      - 0 
            WaitForImmediate - 0 
---------------------------------------------------------------------------------- 
[10/06/2016 01:44:41] 
285 IRP_MJ_READ - Transfers data from a COM port to a client (COM3) - 1 bytes of 1 
    STATUS_SUCCESS 
            45                                                E                
---------------------------------------------------------------------------------- 
[10/06/2016 01:44:41] 
287 IRP_MJ_DEVICE_CONTROL - Request operates a serial port (COM3) 
    STATUS_SUCCESS 
        IOCTL_SERIAL_GET_COMMSTATUS - Request returns information about the communication status of a COM port 
            Errors           - 0 
            HoldReasons      - 0 
            AmountInInQueue  - 0 
            AmountInOutQueue - 0 
            EofReceived      - 0 
            WaitForImmediate - 0 
---------------------------------------------------------------------------------- 
[10/06/2016 01:44:41] 
289 IRP_MJ_READ - Transfers data from a COM port to a client (COM3) - 1 bytes of 1 
    STATUS_SUCCESS 
            08                                                .                
---------------------------------------------------------------------------------- 
[10/06/2016 01:44:41] 
291 IRP_MJ_DEVICE_CONTROL - Request operates a serial port (COM3) 
    STATUS_SUCCESS 
        IOCTL_SERIAL_GET_COMMSTATUS - Request returns information about the communication status of a COM port 
            Errors           - 0 
            HoldReasons      - 0 
            AmountInInQueue  - 0 
            AmountInOutQueue - 0 
            EofReceived      - 0 
            WaitForImmediate - 0 
---------------------------------------------------------------------------------- 
[10/06/2016 01:44:41] 
293 IRP_MJ_READ - Transfers data from a COM port to a client (COM3) - 1 bytes of 1 
    STATUS_SUCCESS 
            3f                                                ?                
---------------------------------------------------------------------------------- 
[10/06/2016 01:44:41] 
295 IRP_MJ_DEVICE_CONTROL - Request operates a serial port (COM3) 
    STATUS_SUCCESS 
        IOCTL_SERIAL_GET_COMMSTATUS - Request returns information about the communication status of a COM port 
            Errors           - 0 
            HoldReasons      - 0 
            AmountInInQueue  - 0 
            AmountInOutQueue - 0 
            EofReceived      - 0 
            WaitForImmediate - 0 
---------------------------------------------------------------------------------- 
[10/06/2016 01:44:44] 
297 IRP_MJ_READ - Transfers data from a COM port to a client (COM3) - 1 bytes of 1 
    STATUS_SUCCESS 
            45                                                E                
---------------------------------------------------------------------------------- 
[10/06/2016 01:44:44] 
299 IRP_MJ_DEVICE_CONTROL - Request operates a serial port (COM3) 
    STATUS_SUCCESS 
        IOCTL_SERIAL_GET_COMMSTATUS - Request returns information about the communication status of a COM port 
            Errors           - 0 
            HoldReasons      - 0 
            AmountInInQueue  - 0 
            AmountInOutQueue - 0 
            EofReceived      - 0 
            WaitForImmediate - 0 
---------------------------------------------------------------------------------- 
[10/06/2016 01:44:44] 
301 IRP_MJ_READ - Transfers data from a COM port to a client (COM3) - 1 bytes of 1 
    STATUS_SUCCESS 
            08                                                .                
---------------------------------------------------------------------------------- 
[10/06/2016 01:44:44] 
303 IRP_MJ_DEVICE_CONTROL - Request operates a serial port (COM3) 
    STATUS_SUCCESS 
        IOCTL_SERIAL_GET_COMMSTATUS - Request returns information about the communication status of a COM port 
            Errors           - 0 
            HoldReasons      - 0 
            AmountInInQueue  - 0 
            AmountInOutQueue - 0 
            EofReceived      - 0 
            WaitForImmediate - 0 
---------------------------------------------------------------------------------- 
[10/06/2016 01:44:44] 
305 IRP_MJ_READ - Transfers data from a COM port to a client (COM3) - 1 bytes of 1 
    STATUS_SUCCESS 
            3f                                                ?                
---------------------------------------------------------------------------------- 
[10/06/2016 01:44:44] 
307 IRP_MJ_DEVICE_CONTROL - Request operates a serial port (COM3) 
    STATUS_SUCCESS 
        IOCTL_SERIAL_GET_COMMSTATUS - Request returns information about the communication status of a COM port 
            Errors           - 0 
            HoldReasons      - 0 
            AmountInInQueue  - 0 
            AmountInOutQueue - 0 
            EofReceived      - 0 
            WaitForImmediate - 0 
---------------------------------------------------------------------------------- 
[10/06/2016 01:44:46] 
309 IRP_MJ_READ - Transfers data from a COM port to a client (COM3) - 1 bytes of 1 
    STATUS_SUCCESS 
            45                                                E                
---------------------------------------------------------------------------------- 
[10/06/2016 01:44:46] 
311 IRP_MJ_DEVICE_CONTROL - Request operates a serial port (COM3) 
    STATUS_SUCCESS 
        IOCTL_SERIAL_GET_COMMSTATUS - Request returns information about the communication status of a COM port 
            Errors           - 0 
            HoldReasons      - 0 
            AmountInInQueue  - 1 
            AmountInOutQueue - 0 
            EofReceived      - 0 
            WaitForImmediate - 0 
---------------------------------------------------------------------------------- 
[10/06/2016 01:44:46] 
313 IRP_MJ_READ - Transfers data from a COM port to a client (COM3) - 1 bytes of 1 
    STATUS_SUCCESS 
            08                                                .                
---------------------------------------------------------------------------------- 
[10/06/2016 01:44:46] 
315 IRP_MJ_READ - Transfers data from a COM port to a client (COM3) - 1 bytes of 1 
    STATUS_SUCCESS 
            3f                                                ?                
---------------------------------------------------------------------------------- 
[10/06/2016 01:44:46] 
317 IRP_MJ_DEVICE_CONTROL - Request operates a serial port (COM3) 
    STATUS_SUCCESS 
        IOCTL_SERIAL_GET_COMMSTATUS - Request returns information about the communication status of a COM port 
            Errors           - 0 
            HoldReasons      - 0 
            AmountInInQueue  - 0 
            AmountInOutQueue - 0 
            EofReceived      - 0 
            WaitForImmediate - 0 
---------------------------------------------------------------------------------- 
[10/06/2016 01:44:50] 
319 IRP_MJ_READ - Transfers data from a COM port to a client (COM3) - 1 bytes of 1 
    STATUS_SUCCESS 
            45                                                E                
---------------------------------------------------------------------------------- 
[10/06/2016 01:44:50] 
321 IRP_MJ_DEVICE_CONTROL - Request operates a serial port (COM3) 
    STATUS_SUCCESS 
        IOCTL_SERIAL_GET_COMMSTATUS - Request returns information about the communication status of a COM port 
            Errors           - 0 
            HoldReasons      - 0 
            AmountInInQueue  - 0 
            AmountInOutQueue - 0 
            EofReceived      - 0 
            WaitForImmediate - 0 
---------------------------------------------------------------------------------- 
[10/06/2016 01:44:50] 
323 IRP_MJ_READ - Transfers data from a COM port to a client (COM3) - 1 bytes of 1 
    STATUS_SUCCESS 
            08                                                .                
---------------------------------------------------------------------------------- 
[10/06/2016 01:44:50] 
325 IRP_MJ_DEVICE_CONTROL - Request operates a serial port (COM3) 
    STATUS_SUCCESS 
        IOCTL_SERIAL_GET_COMMSTATUS - Request returns information about the communication status of a COM port 
            Errors           - 0 
            HoldReasons      - 0 
            AmountInInQueue  - 1 
            AmountInOutQueue - 0 
            EofReceived      - 0 
            WaitForImmediate - 0 
---------------------------------------------------------------------------------- 
[10/06/2016 01:44:50] 
327 IRP_MJ_READ - Transfers data from a COM port to a client (COM3) - 1 bytes of 1 
    STATUS_SUCCESS 
            3f                                                ?                
---------------------------------------------------------------------------------- 
[10/06/2016 01:44:53] 
329 IRP_MJ_READ - Transfers data from a COM port to a client (COM3) - 1 bytes of 1 
    STATUS_SUCCESS 
            45                                                E                
---------------------------------------------------------------------------------- 
[10/06/2016 01:44:53] 
331 IRP_MJ_DEVICE_CONTROL - Request operates a serial port (COM3) 
    STATUS_SUCCESS 
        IOCTL_SERIAL_GET_COMMSTATUS - Request returns information about the communication status of a COM port 
            Errors           - 0 
            HoldReasons      - 0 
            AmountInInQueue  - 1 
            AmountInOutQueue - 0 
            EofReceived      - 0 
            WaitForImmediate - 0 
---------------------------------------------------------------------------------- 
[10/06/2016 01:44:53] 
333 IRP_MJ_READ - Transfers data from a COM port to a client (COM3) - 1 bytes of 1 
    STATUS_SUCCESS 
            08                                                .                
---------------------------------------------------------------------------------- 
[10/06/2016 01:44:53] 
335 IRP_MJ_READ - Transfers data from a COM port to a client (COM3) - 1 bytes of 1 
    STATUS_SUCCESS 
            3f                                                ?                
---------------------------------------------------------------------------------- 
[10/06/2016 01:44:53] 
337 IRP_MJ_DEVICE_CONTROL - Request operates a serial port (COM3) 
    STATUS_SUCCESS 
        IOCTL_SERIAL_GET_COMMSTATUS - Request returns information about the communication status of a COM port 
            Errors           - 0 
            HoldReasons      - 0 
            AmountInInQueue  - 0 
            AmountInOutQueue - 0 
            EofReceived      - 0 
            WaitForImmediate - 0 
---------------------------------------------------------------------------------- 
[10/06/2016 01:44:53] 
339 IRP_MJ_READ - Transfers data from a COM port to a client (COM3) - 1 bytes of 1 
    STATUS_SUCCESS 
            45                                                E                
---------------------------------------------------------------------------------- 
[10/06/2016 01:44:53] 
341 IRP_MJ_DEVICE_CONTROL - Request operates a serial port (COM3) 
    STATUS_SUCCESS 
        IOCTL_SERIAL_GET_COMMSTATUS - Request returns information about the communication status of a COM port 
            Errors           - 0 
            HoldReasons      - 0 
            AmountInInQueue  - 0 
            AmountInOutQueue - 0 
            EofReceived      - 0 
            WaitForImmediate - 0 
---------------------------------------------------------------------------------- 
[10/06/2016 01:44:53] 
343 IRP_MJ_READ - Transfers data from a COM port to a client (COM3) - 1 bytes of 1 
    STATUS_SUCCESS 
            08                                                .                
---------------------------------------------------------------------------------- 
[10/06/2016 01:44:53] 
345 IRP_MJ_DEVICE_CONTROL - Request operates a serial port (COM3) 
    STATUS_SUCCESS 
        IOCTL_SERIAL_GET_COMMSTATUS - Request returns information about the communication status of a COM port 
            Errors           - 0 
            HoldReasons      - 0 
            AmountInInQueue  - 0 
            AmountInOutQueue - 0 
            EofReceived      - 0 
            WaitForImmediate - 0 
---------------------------------------------------------------------------------- 
[10/06/2016 01:44:53] 
347 IRP_MJ_READ - Transfers data from a COM port to a client (COM3) - 1 bytes of 1 
    STATUS_SUCCESS 
            3f                                                ?                
---------------------------------------------------------------------------------- 
[10/06/2016 01:44:53] 
349 IRP_MJ_DEVICE_CONTROL - Request operates a serial port (COM3) 
    STATUS_SUCCESS 
        IOCTL_SERIAL_GET_COMMSTATUS - Request returns information about the communication status of a COM port 
            Errors           - 0 
            HoldReasons      - 0 
            AmountInInQueue  - 0 
            AmountInOutQueue - 0 
            EofReceived      - 0 
            WaitForImmediate - 0 
---------------------------------------------------------------------------------- 
[10/06/2016 01:44:58] 
351 IRP_MJ_READ - Transfers data from a COM port to a client (COM3) - 1 bytes of 1 
    STATUS_SUCCESS 
            45                                                E                
---------------------------------------------------------------------------------- 
[10/06/2016 01:44:58] 
353 IRP_MJ_DEVICE_CONTROL - Request operates a serial port (COM3) 
    STATUS_SUCCESS 
        IOCTL_SERIAL_GET_COMMSTATUS - Request returns information about the communication status of a COM port 
            Errors           - 0 
            HoldReasons      - 0 
            AmountInInQueue  - 1 
            AmountInOutQueue - 0 
            EofReceived      - 0 
            WaitForImmediate - 0 
---------------------------------------------------------------------------------- 
[10/06/2016 01:44:58] 
355 IRP_MJ_READ - Transfers data from a COM port to a client (COM3) - 1 bytes of 1 
    STATUS_SUCCESS 
            08                                                .                
---------------------------------------------------------------------------------- 
[10/06/2016 01:44:58] 
357 IRP_MJ_READ - Transfers data from a COM port to a client (COM3) - 1 bytes of 1 
    STATUS_SUCCESS 
            3f                                                ?                
---------------------------------------------------------------------------------- 
[10/06/2016 01:44:58] 
359 IRP_MJ_DEVICE_CONTROL - Request operates a serial port (COM3) 
    STATUS_SUCCESS 
        IOCTL_SERIAL_GET_COMMSTATUS - Request returns information about the communication status of a COM port 
            Errors           - 0 
            HoldReasons      - 0 
            AmountInInQueue  - 0 
            AmountInOutQueue - 0 
            EofReceived      - 0 
            WaitForImmediate - 0 
---------------------------------------------------------------------------------- 
[10/06/2016 01:45:00] 
361 IRP_MJ_READ - Transfers data from a COM port to a client (COM3) - 1 bytes of 1 
    STATUS_SUCCESS 
            45                                                E                
---------------------------------------------------------------------------------- 
[10/06/2016 01:45:00] 
363 IRP_MJ_DEVICE_CONTROL - Request operates a serial port (COM3) 
    STATUS_SUCCESS 
        IOCTL_SERIAL_GET_COMMSTATUS - Request returns information about the communication status of a COM port 
            Errors           - 0 
            HoldReasons      - 0 
            AmountInInQueue  - 0 
            AmountInOutQueue - 0 
            EofReceived      - 0 
            WaitForImmediate - 0 
---------------------------------------------------------------------------------- 
[10/06/2016 01:45:01] 
365 IRP_MJ_READ - Transfers data from a COM port to a client (COM3) - 1 bytes of 1 
    STATUS_SUCCESS 
            08                                                .                
---------------------------------------------------------------------------------- 
[10/06/2016 01:45:01] 
367 IRP_MJ_DEVICE_CONTROL - Request operates a serial port (COM3) 
    STATUS_SUCCESS 
        IOCTL_SERIAL_GET_COMMSTATUS - Request returns information about the communication status of a COM port 
            Errors           - 0 
            HoldReasons      - 0 
            AmountInInQueue  - 0 
            AmountInOutQueue - 0 
            EofReceived      - 0 
            WaitForImmediate - 0 
---------------------------------------------------------------------------------- 
[10/06/2016 01:45:01] 
369 IRP_MJ_READ - Transfers data from a COM port to a client (COM3) - 1 bytes of 1 
    STATUS_SUCCESS 
            3f                                                ?                
---------------------------------------------------------------------------------- 
[10/06/2016 01:45:01] 
371 IRP_MJ_DEVICE_CONTROL - Request operates a serial port (COM3) 
    STATUS_SUCCESS 
        IOCTL_SERIAL_GET_COMMSTATUS - Request returns information about the communication status of a COM port 
            Errors           - 0 
            HoldReasons      - 0 
            AmountInInQueue  - 0 
            AmountInOutQueue - 0 
            EofReceived      - 0 
            WaitForImmediate - 0 
---------------------------------------------------------------------------------- 
[10/06/2016 01:45:02] 
373 IRP_MJ_READ - Transfers data from a COM port to a client (COM3) - 1 bytes of 1 
    STATUS_SUCCESS 
            45                                                E                
---------------------------------------------------------------------------------- 
[10/06/2016 01:45:02] 
375 IRP_MJ_DEVICE_CONTROL - Request operates a serial port (COM3) 
    STATUS_SUCCESS 
        IOCTL_SERIAL_GET_COMMSTATUS - Request returns information about the communication status of a COM port 
            Errors           - 0 
            HoldReasons      - 0 
            AmountInInQueue  - 0 
            AmountInOutQueue - 0 
            EofReceived      - 0 
            WaitForImmediate - 0 
---------------------------------------------------------------------------------- 
[10/06/2016 01:45:02] 
377 IRP_MJ_READ - Transfers data from a COM port to a client (COM3) - 1 bytes of 1 
    STATUS_SUCCESS 
            08                                                .                
---------------------------------------------------------------------------------- 
[10/06/2016 01:45:02] 
379 IRP_MJ_DEVICE_CONTROL - Request operates a serial port (COM3) 
    STATUS_SUCCESS 
        IOCTL_SERIAL_GET_COMMSTATUS - Request returns information about the communication status of a COM port 
            Errors           - 0 
            HoldReasons      - 0 
            AmountInInQueue  - 1 
            AmountInOutQueue - 0 
            EofReceived      - 0 
            WaitForImmediate - 0 
---------------------------------------------------------------------------------- 
[10/06/2016 01:45:02] 
381 IRP_MJ_READ - Transfers data from a COM port to a client (COM3) - 1 bytes of 1 
    STATUS_SUCCESS 
            3f                                                ?                
---------------------------------------------------------------------------------- 
[10/06/2016 01:45:02] 
383 IRP_MJ_READ - Transfers data from a COM port to a client (COM3) - 1 bytes of 1 
    STATUS_SUCCESS 
            45                                                E                
---------------------------------------------------------------------------------- 
[10/06/2016 01:45:02] 
385 IRP_MJ_DEVICE_CONTROL - Request operates a serial port (COM3) 
    STATUS_SUCCESS 
        IOCTL_SERIAL_GET_COMMSTATUS - Request returns information about the communication status of a COM port 
            Errors           - 0 
            HoldReasons      - 0 
            AmountInInQueue  - 2 
            AmountInOutQueue - 0 
            EofReceived      - 0 
            WaitForImmediate - 0 
---------------------------------------------------------------------------------- 
[10/06/2016 01:45:02] 
387 IRP_MJ_READ - Transfers data from a COM port to a client (COM3) - 2 bytes of 2 
    STATUS_SUCCESS 
            08 3f                                             .?               
---------------------------------------------------------------------------------- 
[10/06/2016 01:45:03] 
389 IRP_MJ_READ - Transfers data from a COM port to a client (COM3) - 1 bytes of 1 
    STATUS_SUCCESS 
            45                                                E                
---------------------------------------------------------------------------------- 
[10/06/2016 01:45:03] 
391 IRP_MJ_DEVICE_CONTROL - Request operates a serial port (COM3) 
    STATUS_SUCCESS 
        IOCTL_SERIAL_GET_COMMSTATUS - Request returns information about the communication status of a COM port 
            Errors           - 0 
            HoldReasons      - 0 
            AmountInInQueue  - 2 
            AmountInOutQueue - 0 
            EofReceived      - 0 
            WaitForImmediate - 0 
---------------------------------------------------------------------------------- 
[10/06/2016 01:45:03] 
393 IRP_MJ_READ - Transfers data from a COM port to a client (COM3) - 2 bytes of 2 
    STATUS_SUCCESS 
            08 3f                                             .?               
---------------------------------------------------------------------------------- 
[10/06/2016 01:45:03] 
395 IRP_MJ_READ - Transfers data from a COM port to a client (COM3) - 1 bytes of 1 
    STATUS_SUCCESS 
            45                                                E                
---------------------------------------------------------------------------------- 
[10/06/2016 01:45:03] 
397 IRP_MJ_DEVICE_CONTROL - Request operates a serial port (COM3) 
    STATUS_SUCCESS 
        IOCTL_SERIAL_GET_COMMSTATUS - Request returns information about the communication status of a COM port 
            Errors           - 0 
            HoldReasons      - 0 
            AmountInInQueue  - 1 
            AmountInOutQueue - 0 
            EofReceived      - 0 
            WaitForImmediate - 0 
---------------------------------------------------------------------------------- 
[10/06/2016 01:45:03] 
399 IRP_MJ_READ - Transfers data from a COM port to a client (COM3) - 1 bytes of 1 
    STATUS_SUCCESS 
            08                                                .                
---------------------------------------------------------------------------------- 
[10/06/2016 01:45:03] 
401 IRP_MJ_READ - Transfers data from a COM port to a client (COM3) - 1 bytes of 1 
    STATUS_SUCCESS 
            3f                                                ?                
---------------------------------------------------------------------------------- 
[10/06/2016 01:45:03] 
403 IRP_MJ_DEVICE_CONTROL - Request operates a serial port (COM3) 
    STATUS_SUCCESS 
        IOCTL_SERIAL_GET_COMMSTATUS - Request returns information about the communication status of a COM port 
            Errors           - 0 
            HoldReasons      - 0 
            AmountInInQueue  - 0 
            AmountInOutQueue - 0 
            EofReceived      - 0 
            WaitForImmediate - 0 
---------------------------------------------------------------------------------- 
[10/06/2016 01:45:22] 
405 IRP_MJ_READ - Transfers data from a COM port to a client (COM3) 
    STATUS_CANCELLED 
---------------------------------------------------------------------------------- 
[10/06/2016 01:45:22] 
407 IRP_MJ_DEVICE_CONTROL - Request operates a serial port (COM3) 
    STATUS_SUCCESS 
        IOCTL_SERIAL_SET_TIMEOUTS - Request sets the timeout value's that the driver uses with read and write requests 
            ReadIntervalTimeout         - 0 
            ReadTotalTimeoutMultiplier  - 0 
            ReadTotalTimeoutConstant    - 0 
            WriteTotalTimeoutMultiplier - 0 
            WriteTotalTimeoutConstant   - 0 
---------------------------------------------------------------------------------- 
[10/06/2016 01:45:22] 
409 IRP_MJ_CLOSE - Close a COM port (COM3) 
    STATUS_SUCCESS 
---------------------------------------------------------------------------------- 
There several cases of dropped characters, and some 3-byte sequences are still correctly recognized.

The serial monitor doesn't influence the drops. It has a driver that intercepts serial data exchange and IOCTLs. No virtual port is created.
The problem can be reproduced independently of whether the port is monitored or not.
And the most strange part is that sometimes EG works without drops. Very peculiar case..
igvk
Experienced User
Posts: 60
Joined: Wed Jan 09, 2013 7:22 pm

Re: Drops on reading from serial port

Post by igvk »

So, no drops on serial interface, but characters are lost in EG.
The strange thing that I noticed is that, while the EG plugin reads always only 1 byte:

Code: Select all

data = serialThread.Read(1, self.timeout)
, the monitor sometimes shows 2-byte reads:

Code: Select all

393 IRP_MJ_READ - Transfers data from a COM port to a client (COM3) - 2 bytes of 2 
    STATUS_SUCCESS 
            08 3f                                             .?               
Could this somehow lead to drops due to wrong buffering/sync issues in EG?
User avatar
kgschlosser
Site Admin
Posts: 5190
Joined: Fri Jun 05, 2015 5:43 am
Location: Rocky Mountains, Colorado USA

Re: Drops on reading from serial port

Post by kgschlosser »

let me check the mouse plugin. and the serial thread in eg because if there is an ord exclusion that may be causing the problem.


and i would have to rework the serial portion of the mouse plugin to not use the eg serial thread but to handle it on it's own.

one of the things i know is that the log can only print displayable items and will go off the deep end if you print something that isn't so it could be that the serial thread was designed around receiving serial data and posting an event with it so it does it's best to filter the unprintable ones.

so it may not be the best fit for the mouse plugin because of this.

let me look at the code and see what i can dig up. i might rework it anyways and send it over to you and see if it fixes it ( i have no way of testing)
If you like the work I have been doing then feel free to Image
Post Reply