Added all standard baud rates for Windows serial ports. Updated mstpcap readme file.

This commit is contained in:
skarg
2010-05-20 23:31:50 +00:00
parent 4ef686d2ae
commit 1bafe2ed98
2 changed files with 60 additions and 28 deletions
+9 -27
View File
@@ -7,13 +7,6 @@ code in it, and will contain up to 65535 packets. A new file
will be created at each 65535 packet interval. The tool can
be stopped by using Control-C.
Wireshark is a protocol anaylzyer that can be downloaded from
wireshark.org. Wireshark can open and view the files that
are created from mstpcap. Wireshark can also open a named
pipe, and msptcap can send the capture data to the named pipe
for realtime viewing, while saving the capture data to a file.
See Named Pipe Usage below.
Here is a sample of the tool running (use CTRL-C to quit).
D:\code\bacnet-stack\bin>mstpcap COM3 38400
Adjusted interface name to \\.\COM3
@@ -24,8 +17,6 @@ MAC MaxMstr Tokens Retries Treply Tusage Trpfm Tder Tpostpd
0 0 525 0 32 0 0 0 0
1 127 525 0 16 79 0 0 0
Statistics
----------
The BACnet MS/TP capture tool also includes statistics which are
listed for any MAC addresses found passing a token,
or any MAC address replying to a DER message.
@@ -62,23 +53,14 @@ required to be less than 250ms.
Note that the mstpcap tool may not have that good of
resolution on Windows, so timing under 50ms may not be accurate.
Name Pipe Usage
---------------
1. Launch the mstpcap with all command line options, include the named
pipe. On Linux, the named pipe can be any file. On Windows the named
pipe must be located in a specific directory \\.\pipe\wireshark
Note: If you are using FTDI chip in your RS485 converter, you can
alias an existing baud rate on Windows in the FTDIPORT.INF file
in order to acheive non-standard 76800 bps:
HKR,,"ConfigData",1,11,00,3F,3F,27,C0,00,00,27,00,00,00,C4,09,00,00,E2,04,00,00,71,02,00,00,38,41,00,00,9C,80,00,00,4E,C0,00,00,34,00,00,00,1A,00,00,00,0D,00,00,00,06,40,00,00,03,80,00,00,00,00,00,00,D0,80,00,00
D:\code\bacnet-stack\bin>mstpcap COM3 38400 \\.\pipe\wireshark
replace the 10,27,00,00 => divisor = 10000, rate = 300 bps alias
2. Run Wireshark. Select "Capture" -> "Options" -> "Interface". Copy the
pipe name from the command console (i.e. Mark) and paste it into the
Interface box. Select "Start" to begin the live capture. Note that
the capture cannot be restarted from Wireshark, but must be restarted from
the command line each time you want to capture.
Non-Standard Baud Rates
-----------------------
If your serial adapter supports non-standard baud rates by using
aliasing, you can pass the aliased buad rate as the baud rate
parameter. 76800 is a non-standard baud rate, and is not enumerated
on Windows Computers.
hex values actual
----------- ---------
27,C0,00,00 - 76923 bps => divisor=39.125
27,00,00,00 - 76677 bps => divisor=39.000
+51 -1
View File
@@ -269,8 +269,28 @@ uint32_t RS485_Get_Baud_Rate(
return 57600;
case CBR_115200:
return 115200;
default:
case CBR_110:
return 110;
case CBR_300:
return 300;
case CBR_600:
return 600;
case CBR_1200:
return 1200;
case CBR_2400:
return 2400;
case CBR_4800:
return 4800;
case CBR_14400:
return 14400;
case CBR_56000:
return 56000;
case CBR_128000:
return 128000;
case CBR_256000:
return 256000;
case CBR_9600:
default:
return 9600;
}
}
@@ -302,6 +322,36 @@ bool RS485_Set_Baud_Rate(
case 115200:
RS485_Baud = CBR_115200;
break;
case 110:
RS485_Baud = CBR_110;
break;
case 300:
RS485_Baud = CBR_300;
break;
case 600:
RS485_Baud = CBR_600;
break;
case 1200:
RS485_Baud = CBR_1200;
break;
case 2400:
RS485_Baud = CBR_2400;
break;
case 4800:
RS485_Baud = CBR_4800;
break;
case 14400:
RS485_Baud = CBR_14400;
break;
case 56000:
RS485_Baud = CBR_56000;
break;
case 128000:
RS485_Baud = CBR_128000;
break;
case 256000:
RS485_Baud = CBR_256000;
break;
default:
valid = false;
break;