Serial Port Monitor ActiveX Control - Low Timestamp Precision(Read 6338 times)
Hello,
I'm testing Serial Port Monitor ActiveX Control 4.0 trial with Delphi XE on Win7 x64 Pro.
It seems, Timestamp value returned in OnIrp event has about 100 milliseconds precision.

I write test program that read 23 bytes from serial port one-by-one with 100 ms pause between readings and I have the same timestamp values in test program and my monitor program:

Code: javascript:void(0);
My Test Program (100 ms pause)
14:57:06.707 << 01
14:57:06.807 << 30
14:57:06.908 << 31
14:57:07.010 << 41
...

My Monitor Program
COM2: 15.10.2013 14:57:06:707 >> IRP_MJ_READ 0x00000000 UP 0
COM2: 15.10.2013 14:57:06:720 >> IRP_MJ_READ 0x00000000 DOWN 0 01

COM2: 15.10.2013 14:57:06:807 >> IRP_MJ_READ 0x00000000 UP 0
COM2: 15.10.2013 14:57:06:820 >> IRP_MJ_READ 0x00000000 DOWN 0 30

COM2: 15.10.2013 14:57:06:908 >> IRP_MJ_READ 0x00000000 UP 0
COM2: 15.10.2013 14:57:06:920 >> IRP_MJ_READ 0x00000000 DOWN 0 31

COM2: 15.10.2013 14:57:07:010 >> IRP_MJ_READ 0x00000000 UP 0
COM2: 15.10.2013 14:57:07:020 >> IRP_MJ_READ 0x00000000 DOWN 0 41
...

But if I remove pause or set it to 10 ms I got different timestamp values:

Code: javascript:void(0);
My Test Program (10 ms pause)
15:01:54.616 << 01
15:01:54.627 << 30
15:01:54.639 << 31
15:01:54.650 << 41
15:01:54.661 << 02
15:01:54.671 << 30
15:01:54.682 << 30
15:01:54.693 << 30
15:01:54.705 << 30
15:01:54.715 << 32
15:01:54.726 << 32
15:01:54.736 << 30
15:01:54.748 << 30
15:01:54.760 << 30
15:01:54.772 << 30
15:01:54.783 << 30
15:01:54.794 << 31
15:01:54.805 << 30
15:01:54.816 << 30
15:01:54.827 << 30
15:01:54.838 << 35
15:01:54.850 << 03
15:01:54.862 << 45

My Monitor Program
COM2: 15.10.2013 15:01:54:629 >> IRP_MJ_READ 0x00000000 UP 0
COM2: 15.10.2013 15:01:54:629 >> IRP_MJ_READ 0x00000000 DOWN 0 01

COM2: 15.10.2013 15:01:54:629 >> IRP_MJ_READ 0x00000000 UP 0
COM2: 15.10.2013 15:01:54:630 >> IRP_MJ_READ 0x00000000 DOWN 0 30

COM2: 15.10.2013 15:01:54:639 >> IRP_MJ_READ 0x00000000 UP 0
COM2: 15.10.2013 15:01:54:731 >> IRP_MJ_READ 0x00000000 DOWN 0 31

COM2: 15.10.2013 15:01:54:731 >> IRP_MJ_READ 0x00000000 UP 0
COM2: 15.10.2013 15:01:54:731 >> IRP_MJ_READ 0x00000000 DOWN 0 41

COM2: 15.10.2013 15:01:54:731 >> IRP_MJ_READ 0x00000000 UP 0
COM2: 15.10.2013 15:01:54:731 >> IRP_MJ_READ 0x00000000 DOWN 0 02

COM2: 15.10.2013 15:01:54:731 >> IRP_MJ_READ 0x00000000 UP 0
COM2: 15.10.2013 15:01:54:731 >> IRP_MJ_READ 0x00000000 DOWN 0 30

COM2: 15.10.2013 15:01:54:731 >> IRP_MJ_READ 0x00000000 UP 0
COM2: 15.10.2013 15:01:54:731 >> IRP_MJ_READ 0x00000000 DOWN 0 30

COM2: 15.10.2013 15:01:54:731 >> IRP_MJ_READ 0x00000000 UP 0
COM2: 15.10.2013 15:01:54:731 >> IRP_MJ_READ 0x00000000 DOWN 0 30

COM2: 15.10.2013 15:01:54:731 >> IRP_MJ_READ 0x00000000 UP 0
COM2: 15.10.2013 15:01:54:731 >> IRP_MJ_READ 0x00000000 DOWN 0 30

COM2: 15.10.2013 15:01:54:731 >> IRP_MJ_READ 0x00000000 UP 0
COM2: 15.10.2013 15:01:54:731 >> IRP_MJ_READ 0x00000000 DOWN 0 32

COM2: 15.10.2013 15:01:54:731 >> IRP_MJ_READ 0x00000000 UP 0
COM2: 15.10.2013 15:01:54:731 >> IRP_MJ_READ 0x00000000 DOWN 0 32

COM2: 15.10.2013 15:01:54:736 >> IRP_MJ_READ 0x00000000 UP 0
COM2: 15.10.2013 15:01:54:831 >> IRP_MJ_READ 0x00000000 DOWN 0 30

COM2: 15.10.2013 15:01:54:831 >> IRP_MJ_READ 0x00000000 UP 0
COM2: 15.10.2013 15:01:54:831 >> IRP_MJ_READ 0x00000000 DOWN 0 30

COM2: 15.10.2013 15:01:54:831 >> IRP_MJ_READ 0x00000000 UP 0
COM2: 15.10.2013 15:01:54:831 >> IRP_MJ_READ 0x00000000 DOWN 0 30

COM2: 15.10.2013 15:01:54:831 >> IRP_MJ_READ 0x00000000 UP 0
COM2: 15.10.2013 15:01:54:831 >> IRP_MJ_READ 0x00000000 DOWN 0 30

COM2: 15.10.2013 15:01:54:831 >> IRP_MJ_READ 0x00000000 UP 0
COM2: 15.10.2013 15:01:54:831 >> IRP_MJ_READ 0x00000000 DOWN 0 30

COM2: 15.10.2013 15:01:54:831 >> IRP_MJ_READ 0x00000000 UP 0
COM2: 15.10.2013 15:01:54:831 >> IRP_MJ_READ 0x00000000 DOWN 0 31

COM2: 15.10.2013 15:01:54:831 >> IRP_MJ_READ 0x00000000 UP 0
COM2: 15.10.2013 15:01:54:831 >> IRP_MJ_READ 0x00000000 DOWN 0 30

COM2: 15.10.2013 15:01:54:831 >> IRP_MJ_READ 0x00000000 UP 0
COM2: 15.10.2013 15:01:54:831 >> IRP_MJ_READ 0x00000000 DOWN 0 30

COM2: 15.10.2013 15:01:54:831 >> IRP_MJ_READ 0x00000000 UP 0
COM2: 15.10.2013 15:01:54:831 >> IRP_MJ_READ 0x00000000 DOWN 0 30

COM2: 15.10.2013 15:01:54:838 >> IRP_MJ_READ 0x00000000 UP 0
COM2: 15.10.2013 15:01:54:931 >> IRP_MJ_READ 0x00000000 DOWN 0 35

COM2: 15.10.2013 15:01:54:931 >> IRP_MJ_READ 0x00000000 UP 0
COM2: 15.10.2013 15:01:54:931 >> IRP_MJ_READ 0x00000000 DOWN 0 03

COM2: 15.10.2013 15:01:54:931 >> IRP_MJ_READ 0x00000000 UP 0
COM2: 15.10.2013 15:01:54:931 >> IRP_MJ_READ 0x00000000 DOWN 0 45

As you can see, many events in monitor log have equal timestamp values. I think this is not normal.

P.S. I use GetLocalTime function in test program and 2 functions (FileTimeToLocalFileTime, FileTimeToSystemTime) to get local time from LowTimestamp and HighTimestamp parameters in monitor program.



Re: Serial Port Monitor ActiveX Control - Low Timestamp Precision Reply #1 on: October 21, 2013, 12:19:07 PM
We are aware that the timestamping precision may be lacking in some cases, and have this issue in our to-do list for the future updates.



Re: Serial Port Monitor ActiveX Control - Low Timestamp Precision Reply #2 on: October 21, 2013, 01:42:19 PM
Thank you for your answer.
Last update of SPMC was in 2009 year, so I guess it has a low priority. Do you have plans to release in near future?



 

Sitemap 1 2 3 4 5