Updated documentation for WhoIs command line tool. Created a man page.
This commit is contained in:
@@ -1,5 +1,4 @@
|
|||||||
/**************************************************************************
|
/*************************************************************************
|
||||||
*
|
|
||||||
* Copyright (C) 2006 Steve Karg <skarg@users.sourceforge.net>
|
* Copyright (C) 2006 Steve Karg <skarg@users.sourceforge.net>
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining
|
* Permission is hereby granted, free of charge, to any person obtaining
|
||||||
@@ -232,9 +231,46 @@ int main(int argc, char *argv[]) {
|
|||||||
bool found = false;
|
bool found = false;
|
||||||
|
|
||||||
if (argc < 5) {
|
if (argc < 5) {
|
||||||
printf
|
printf(
|
||||||
("%s device-instance object-type object-instance property [index]\r\n",
|
"Usage: %s device-instance object-type object-instance "
|
||||||
|
"property [index]\r\n",
|
||||||
filename_remove_path(argv[0]));
|
filename_remove_path(argv[0]));
|
||||||
|
if ((argc > 1) && (strcmp(argv[1], "--help") == 0)) {
|
||||||
|
printf("device-instance:\r\n"
|
||||||
|
"BACnet Device Object Instance number that you are\r\n"
|
||||||
|
"trying to communicate to. This number will be used\r\n"
|
||||||
|
"to try and bind with the device using Who-Is and\r\n"
|
||||||
|
"I-Am services. For example, if you were reading\r\n"
|
||||||
|
"Device Object 123, the device-instance would be 123.\r\n"
|
||||||
|
"\r\nobject-type:\r\n"
|
||||||
|
"The object type is the integer value of the enumeration\r\n"
|
||||||
|
"BACNET_OBJECT_TYPE in bacenum.h. It is the object\r\n"
|
||||||
|
"that you are reading. For example if you were\r\n"
|
||||||
|
"reading Analog Output 2, the object-type would be 1.\r\n"
|
||||||
|
"\r\nobject-instance:\r\n"
|
||||||
|
"This is the object instance number of the object that\r\n"
|
||||||
|
"you are reading. For example, if you were reading\r\n"
|
||||||
|
"Analog Output 2, the object-instance would be 2.\r\n"
|
||||||
|
"\r\nproperty:\r\n"
|
||||||
|
"The property is an integer value of the enumeration\r\n"
|
||||||
|
"BACNET_PROPERTY_ID in bacenum.h. It is the property\r\n"
|
||||||
|
"you are reading. For example, if you were reading the\r\n"
|
||||||
|
"Present Value property, use 85 as the property.\r\n"
|
||||||
|
"\r\nindex:\r\n"
|
||||||
|
"This integer parameter is the index number of an array.\r\n"
|
||||||
|
"If the property is an array, individual elements can\r\n"
|
||||||
|
"be read. If this parameter is missing and the property\r\n"
|
||||||
|
"is an array, the entire array will be read.\r\n"
|
||||||
|
"\r\nExample:\r\n"
|
||||||
|
"If you want read the Present-Value of Analog Output 101\r\n"
|
||||||
|
"in Device 123, you could send the following command:\r\n"
|
||||||
|
"%s 123 1 101 85\r\n"
|
||||||
|
"If you want read the Priority-Array of Analog Output 101\r\n"
|
||||||
|
"in Device 123, you could send the following command:\r\n"
|
||||||
|
"%s 123 1 101 87\r\n",
|
||||||
|
filename_remove_path(argv[0]),
|
||||||
|
filename_remove_path(argv[0]));
|
||||||
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
/* decode the command line parameters */
|
/* decode the command line parameters */
|
||||||
@@ -260,7 +296,7 @@ int main(int argc, char *argv[]) {
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
if (Target_Object_Property > MAX_BACNET_PROPERTY_ID) {
|
if (Target_Object_Property > MAX_BACNET_PROPERTY_ID) {
|
||||||
fprintf(stderr, "object-type=%u - it must be less than %u\r\n",
|
fprintf(stderr, "property=%u - it must be less than %u\r\n",
|
||||||
Target_Object_Property, MAX_BACNET_PROPERTY_ID + 1);
|
Target_Object_Property, MAX_BACNET_PROPERTY_ID + 1);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -239,11 +239,33 @@ int main(int argc, char *argv[]) {
|
|||||||
|
|
||||||
if (argc < 2) {
|
if (argc < 2) {
|
||||||
printf
|
printf
|
||||||
("Usage: %s device-instance | device-instance-min device-instance-max\r\n"
|
("Usage: %s device-instance | "
|
||||||
"Send BACnet WhoIs request to devices, and wait for responses.\r\n"
|
"device-instance-min device-instance-max\r\n",
|
||||||
"\r\n" "The device-instance can be 0 to %d, or -1 for ALL.\r\n"
|
filename_remove_path(argv[0]));
|
||||||
"The device-instance can also be specified as a range.\r\n",
|
return 0;
|
||||||
filename_remove_path(argv[0]), BACNET_MAX_INSTANCE);
|
}
|
||||||
|
if ((argc > 1) && (strcmp(argv[1], "--help") == 0)) {
|
||||||
|
printf(
|
||||||
|
"Send BACnet WhoIs service request to a device or\r\n"
|
||||||
|
"multiple devices, and wait for responses. Displays\r\n"
|
||||||
|
"any devices found and their network information.\r\n"
|
||||||
|
"\r\ndevice-instance:\r\n"
|
||||||
|
"BACnet Device Object Instance number that you are trying to\r\n"
|
||||||
|
"send a Who-Is service request. The value should be in\r\n"
|
||||||
|
"the range of 0 to 4194303. A range of values can also be\r\n"
|
||||||
|
"specified by using a minimum value and a maximum value.\r\n"
|
||||||
|
"\r\nExample:\r\n"
|
||||||
|
"To send a WhoIs request to Device 123\r\n"
|
||||||
|
"use the following command:\r\n"
|
||||||
|
"%s 123\r\n"
|
||||||
|
"To send a WhoIs request to Devices from 1000 to 9000:\r\n"
|
||||||
|
"%s 1000 9000\r\n"
|
||||||
|
"To send a WhoIs request to all devices\r\n"
|
||||||
|
"use the following command:\r\n"
|
||||||
|
"%s -1\r\n",
|
||||||
|
filename_remove_path(argv[0]),
|
||||||
|
filename_remove_path(argv[0]),
|
||||||
|
filename_remove_path(argv[0]));
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
/* decode the command line parameters */
|
/* decode the command line parameters */
|
||||||
|
|||||||
@@ -304,12 +304,15 @@ int main(int argc, char *argv[]) {
|
|||||||
"accepting REAL, BOOLEAN, NULL, etc. Perhaps it would be simpler for\r\n"
|
"accepting REAL, BOOLEAN, NULL, etc. Perhaps it would be simpler for\r\n"
|
||||||
"the demo to use this kind of table - but I also wanted to be able\r\n"
|
"the demo to use this kind of table - but I also wanted to be able\r\n"
|
||||||
"to do negative testing by passing the wrong tag and have the server\r\n"
|
"to do negative testing by passing the wrong tag and have the server\r\n"
|
||||||
"return a reject message.\r\n" "\r\n" "Example:\r\n"
|
"return a reject message.\r\n"
|
||||||
"If you want send a 100 to the Present-Value in the Analog Output\r\n"
|
"\r\nExample:\r\n"
|
||||||
"at priority 16, you could send the following command:\r\n"
|
"If you want send a value of 100 to the Present-Value in\r\n"
|
||||||
"%s 123 1 0 85 4 100\r\n"
|
"Analog Output 0 of Device 123 at priority 16,\r\n"
|
||||||
"You could also send a relinquish command:\r\n"
|
"send the following command:\r\n"
|
||||||
"%s 123 1 0 85 0 0\r\n", filename_remove_path(argv[0]),
|
"%s 123 1 0 85 16 -1 4 100\r\n"
|
||||||
|
"To send a relinquish command to the same object:\r\n"
|
||||||
|
"%s 123 1 0 85 16 -1 0 0\r\n",
|
||||||
|
filename_remove_path(argv[0]),
|
||||||
filename_remove_path(argv[0]));
|
filename_remove_path(argv[0]));
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
|
|||||||
@@ -130,16 +130,23 @@
|
|||||||
another project hosted on SourceForge, as well as various BACnet controllers,
|
another project hosted on SourceForge, as well as various BACnet controllers,
|
||||||
BACnet workstations, and through BACnet routers.<p>
|
BACnet workstations, and through BACnet routers.<p>
|
||||||
|
|
||||||
<p>Using a master Makefile in the project root directory, a dozen or so
|
<h2>Demo BACnet Applications</h2>
|
||||||
|
<p>Using a master Makefile in the project root directory, a dozen
|
||||||
demo applications can be created that run under Linux or Win32.
|
demo applications can be created that run under Linux or Win32.
|
||||||
Linux supports BACnet Ethernet, BACnet/IP, or ARCNET data link layer
|
Linux supports BACnet Ethernet, BACnet/IP, or ARCNET data link layer
|
||||||
for communication, and BACnet/IP is supported under Win32. BACnet Ethernet
|
for communication, and BACnet/IP is supported under Win32. BACnet Ethernet
|
||||||
can also be used under Win32 with the <a href="http://www.winpcap.org/">WinPcap library</a>.
|
can also be used under Win32 with the <a href="http://www.winpcap.org/">WinPcap library</a>.
|
||||||
Root priveleges are required to run the Ethernet or ARCNET interfaces
|
Root priveleges are required to run the Ethernet or ARCNET interfaces
|
||||||
on Linux, but not needed to run BACnet/IP.
|
on Linux, but are not needed to run BACnet/IP.
|
||||||
MS/TP support under Windows or Linux using a USB to RS-485 device is a
|
MS/TP support under Windows or Linux using a USB to RS-485 device is a
|
||||||
work in progress. </p>
|
work in progress. </p>
|
||||||
|
|
||||||
|
<p>The demo application accept command line arguments.
|
||||||
|
To specify an array index of ALL, use "-1".
|
||||||
|
To make a priority optional, use "0".
|
||||||
|
The applications also use environment variables to set
|
||||||
|
datalink layer preferences.</p>
|
||||||
|
|
||||||
<code>
|
<code>
|
||||||
$ make clean all<br>
|
$ make clean all<br>
|
||||||
$ demo/server/bacsrv 123<br>
|
$ demo/server/bacsrv 123<br>
|
||||||
@@ -149,7 +156,7 @@
|
|||||||
bacrp device-instance object-type object-instance property [index]<br>
|
bacrp device-instance object-type object-instance property [index]<br>
|
||||||
<br>
|
<br>
|
||||||
$ demo/writeprop/bacwp<br>
|
$ demo/writeprop/bacwp<br>
|
||||||
bacwp device-instance object-type object-instance property tag value [priority] [index]<br>
|
bacwp device-instance object-type object-instance property priority index tag value [tag value...]<br>
|
||||||
<br>
|
<br>
|
||||||
$ demo/readfile/bacarf<br>
|
$ demo/readfile/bacarf<br>
|
||||||
bacarf device-instance file-instance local-name<br>
|
bacarf device-instance file-instance local-name<br>
|
||||||
@@ -185,10 +192,18 @@
|
|||||||
<br>
|
<br>
|
||||||
</code>
|
</code>
|
||||||
|
|
||||||
<p>The demos can be compiled under Win32 using <a href="http://www.borland.com/bcppbuilder/freecompiler/">Borland C++</a> or
|
<p>The demos can be compiled under Win32 using <a href="http://www.mingw.org/">MinGW - Minimalist GNU for Windows</a>,
|
||||||
<a href="http://msdn.microsoft.com/visualc/vctoolkit2003/">Microsoft Visual C++</a>, both of which
|
<a href="http://www.borland.com/bcppbuilder/freecompiler/">Borland C++</a>, or
|
||||||
are free (as in beer) command line compilers. Be sure to pick up the free
|
<a href="http://msdn.microsoft.com/visualc/vctoolkit2003/">Microsoft Visual C++</a>, which
|
||||||
<a href="http://info.borland.com/devsupport/bcppbuilder/patches/#freecompiler55">patches (service packs) for the Borland C++ compiler</a> (<a href="http://info.borland.com/devsupport/bcppbuilder/patches/bcc55/bcc55sp1.zip">SP1</a>, <a href="http://info.borland.com/devsupport/bcppbuilder/patches/bcc55/bcc55sp2.exe">SP2</a>), as well as the free turbo debugger. It is also possible to create Win32 projects using the free <a href="http://msdn.microsoft.com/vstudio/express/">Visual Studio Express Edition</a> after downloading the platform development kit for your operating system. You can also use <a href="http://www.mingw.org/">MinGW - Minimalist GNU for Windows</a> which comes with Code::Blocks. I frequently use <a href="http://codeblocks.org/">Code::Blocks</a> for compiling the unit tests using the MinGW compiler and created some Code::Block projects for some of the demos. I have also used <a href="http://codeblocks.org/">Code::Blocks</a> with the Borland C++ compiler and it successfully compiles and runs the code.</p>
|
are free command line compilers. Be sure to pick up the free
|
||||||
|
<a href="http://info.borland.com/devsupport/bcppbuilder/patches/#freecompiler55">patches (service packs) for the Borland C++ compiler</a>
|
||||||
|
(<a href="http://info.borland.com/devsupport/bcppbuilder/patches/bcc55/bcc55sp1.zip">SP1</a>, <a href="http://info.borland.com/devsupport/bcppbuilder/patches/bcc55/bcc55sp2.exe">SP2</a>), as well as the free turbo debugger. It is also possible to create Win32 projects using the free <a href="http://msdn.microsoft.com/vstudio/express/">Visual Studio Express Edition</a> after downloading the platform development kit for your operating system.
|
||||||
|
You can also use <a href="http://www.mingw.org/">MinGW - Minimalist GNU for Windows</a> which comes with Code::Blocks.
|
||||||
|
I frequently use <a href="http://codeblocks.org/">Code::Blocks</a> for
|
||||||
|
compiling the unit tests using the MinGW compiler and
|
||||||
|
created some Code::Block projects for some of the demos.
|
||||||
|
I have also used <a href="http://codeblocks.org/">Code::Blocks</a> with
|
||||||
|
the Borland C++ compiler and it successfully compiles and runs the code.</p>
|
||||||
|
|
||||||
<p>There is a Makefile in the ports/rtos32 directory, and a sample
|
<p>There is a Makefile in the ports/rtos32 directory, and a sample
|
||||||
application that runs under <a href="http://www.on-time.com/">RTOS-32</a>.
|
application that runs under <a href="http://www.on-time.com/">RTOS-32</a>.
|
||||||
@@ -211,14 +226,12 @@
|
|||||||
The datalink layer uses BACnet MS/TP
|
The datalink layer uses BACnet MS/TP
|
||||||
and the example uses several different objects and services.</p>
|
and the example uses several different objects and services.</p>
|
||||||
|
|
||||||
<!--
|
|
||||||
<p>There is a project in the ports/atmega168 directory, and a sample
|
<p>There is a project in the ports/atmega168 directory, and a sample
|
||||||
server application that can be built using
|
server application that can be built using
|
||||||
<a href="http://www.avrfreaks.net/wiki/index.php/Documentation:AVR_GCC/AVR_GCC_Tool_Collection">GCC-AVR</a> or
|
<a href="http://www.avrfreaks.net/wiki/index.php/Documentation:AVR_GCC/AVR_GCC_Tool_Collection">GCC-AVR</a> or
|
||||||
<a href="http://winavr.sourceforge.net/">WinAVR</a> for Atmel AVR series of microcontrollers.
|
<a href="http://winavr.sourceforge.net/">WinAVR</a> for Atmel AVR series of microcontrollers.
|
||||||
The datalink layer uses BACnet MS/TP
|
The datalink layer uses BACnet MS/TP
|
||||||
and the example uses several different objects and services.</p>
|
and the example uses several different objects and services.</p>
|
||||||
-->
|
|
||||||
|
|
||||||
<TABLE border="1" width="100%" cellpadding="1" cellspacing="0"
|
<TABLE border="1" width="100%" cellpadding="1" cellspacing="0"
|
||||||
summary="BACnet services supported matrix">
|
summary="BACnet services supported matrix">
|
||||||
@@ -419,11 +432,11 @@
|
|||||||
|
|
||||||
<h2>BACnet Objects</h2>
|
<h2>BACnet Objects</h2>
|
||||||
|
|
||||||
<p>The BACnet stack currently implements a Device Object, and
|
<p>The BACnet stack currently implements an example Device Object, and
|
||||||
handles all of the ReadProperty inquiries for the required
|
handles all of the ReadProperty inquiries for the required
|
||||||
Device Object properties. The stack handles Who-Is inquiries
|
Device Object properties. The stack handles Who-Is inquiries
|
||||||
with an I-Am, WhoHas with I-Have, and handles reject messages for
|
with an I-Am, WhoHas with I-Have, and handles reject messages for
|
||||||
services not currently supported. There is built in handling for
|
services not currently supported. There is built-in handling for
|
||||||
DeviceCommunicationControl.</p>
|
DeviceCommunicationControl.</p>
|
||||||
|
|
||||||
<p>The example handlers interact with example objects, including
|
<p>The example handlers interact with example objects, including
|
||||||
@@ -450,8 +463,9 @@
|
|||||||
the <a href="http://sourceforge.net/projects/bacnet/">BACnet Source Forge Project Page</a></p>
|
the <a href="http://sourceforge.net/projects/bacnet/">BACnet Source Forge Project Page</a></p>
|
||||||
|
|
||||||
<p>There is documentation that <a href="http://sourceforge.net/docman/display_doc.php?docid=33182&group_id=117598">describes the mechanisms in the BACnet Stack</a>.
|
<p>There is documentation that <a href="http://sourceforge.net/docman/display_doc.php?docid=33182&group_id=117598">describes the mechanisms in the BACnet Stack</a>.
|
||||||
I wrote up some <a href="http://sourceforge.net/docman/display_doc.php?docid=35583&group_id=117598">answers to some frequently asked questions</a>. Of course,
|
I wrote up some <a href="http://sourceforge.net/docman/display_doc.php?docid=35583&group_id=117598">answers to some frequently asked questions</a>.
|
||||||
there are a handful of text files in the doc directory of the project.</p>
|
Of course, there are a handful of text files in the doc directory of
|
||||||
|
the project.</p>
|
||||||
|
|
||||||
<p><a
|
<p><a
|
||||||
href="http://sourceforge.net/project/showfiles.php?group_id=117598&package_id=140172">BACnet
|
href="http://sourceforge.net/project/showfiles.php?group_id=117598&package_id=140172">BACnet
|
||||||
@@ -471,7 +485,7 @@
|
|||||||
<blockquote>
|
<blockquote>
|
||||||
<code>svn co https://bacnet.svn.sourceforge.net/svnroot/bacnet/trunk/bacnet-stack/</code><br />
|
<code>svn co https://bacnet.svn.sourceforge.net/svnroot/bacnet/trunk/bacnet-stack/</code><br />
|
||||||
or for the stable releases:<br />
|
or for the stable releases:<br />
|
||||||
<code>svn co https://bacnet.svn.sourceforge.net/svnroot/bacnet/tags/bacnet-stack-0-3-3/</code>
|
<code>svn co https://bacnet.svn.sourceforge.net/svnroot/bacnet/tags/bacnet-stack-0-4-4/</code>
|
||||||
</blockquote>
|
</blockquote>
|
||||||
|
|
||||||
<h2>BACnet Developer Resources</h2>
|
<h2>BACnet Developer Resources</h2>
|
||||||
@@ -531,6 +545,6 @@ access layer. BACnetSim is a fork of bacnet-stack-0.0.1</p>
|
|||||||
<b>BACnet<sup>®</sup></b> are registered trademarks of the American
|
<b>BACnet<sup>®</sup></b> are registered trademarks of the American
|
||||||
Society of Heating, Refrigerating and Air-Conditioning Engineers, Inc.,
|
Society of Heating, Refrigerating and Air-Conditioning Engineers, Inc.,
|
||||||
1791 Tullie Circle NE, Atlanta, GA 30329.</font> </p>
|
1791 Tullie Circle NE, Atlanta, GA 30329.</font> </p>
|
||||||
<p>Website updated 27-Jan-2008 by <a href="http://kargs.net/">Steve Karg</a>.</p>
|
<p>Website updated 17-May-2008 by <a href="http://steve.kargs.net/">Steve Karg</a>.</p>
|
||||||
</BODY>
|
</BODY>
|
||||||
</HTML>
|
</HTML>
|
||||||
|
|||||||
@@ -0,0 +1,103 @@
|
|||||||
|
.\" Process this file with
|
||||||
|
.\" groff -man -Tascii bacwi.1
|
||||||
|
.\" Contact <skarg@users.sourceforge.net> to correct errors or ommissions
|
||||||
|
.TH bacwi 1 "May 2008" "0.4.5" "BACnet Stack at SourceForge Tool Manual"
|
||||||
|
.SH NAME
|
||||||
|
bacwi \- send BACnet WhoIs service request to BACnet devices
|
||||||
|
.SH SYNOPSIS
|
||||||
|
|
||||||
|
.B bacwi device-instance | device-instance-min device-instance-max
|
||||||
|
|
||||||
|
.SH DESCRIPTION
|
||||||
|
.B bacwi uses the BACnet WhoIs service request to elicit
|
||||||
|
an I-Am service response from one or more BACnet devices
|
||||||
|
on the network. I-Am responses include a Device Object-Identifier,
|
||||||
|
a Vendor-Identifier, a Max-APDU size, and segmentation information.
|
||||||
|
By its nature, I-Am responses include the source address and
|
||||||
|
any network layer information necessary to communicate with the
|
||||||
|
device.
|
||||||
|
|
||||||
|
.SH OPTIONS
|
||||||
|
.IP device-instance
|
||||||
|
Device object instance number that you are trying to
|
||||||
|
send a Who-Is service request. The value should be in
|
||||||
|
the range of 0 to 4194303. A range of values can also be
|
||||||
|
specified by using a minimum value and a maximum value
|
||||||
|
option.
|
||||||
|
|
||||||
|
.IP "device-instance-min"
|
||||||
|
For specifying a range of Device object instance numbers,
|
||||||
|
this is the starting value.
|
||||||
|
|
||||||
|
.IP "device-instance-max"
|
||||||
|
For specifying a range of Device object instance numbers,
|
||||||
|
this is the ending value.
|
||||||
|
|
||||||
|
.SH FILES
|
||||||
|
.I address_cache
|
||||||
|
.RS
|
||||||
|
A cache that is read for static binding. See
|
||||||
|
.BR address_cache (5)
|
||||||
|
for further details.
|
||||||
|
.SH ENVIRONMENT
|
||||||
|
.IP BACNET_IP_PORT
|
||||||
|
If non-null, the number of the UDP port for BACnet/IP datalink.
|
||||||
|
The default UDP port number is 47808 (0xBAC0).
|
||||||
|
.IP BACNET_IFACE
|
||||||
|
If non-null, the device name for the datalink.
|
||||||
|
The default is "eth0".
|
||||||
|
.IP BACNET_BBMD_PORT
|
||||||
|
If non-null, the number of the UDP port that the BBMD is using.
|
||||||
|
The default UDP port number is 47808 (0xBAC0).
|
||||||
|
Used for BACnet/IP datalink only.
|
||||||
|
.IP BACNET_BBMD_TIMETOLIVE
|
||||||
|
If non-null, the number of seconds used in the Foreign Device
|
||||||
|
Registration. A 16-bit unsigned value of 0 to 65535 is expected.
|
||||||
|
The default number of seconds is 65535 (0xFFFF).
|
||||||
|
Used for BACnet/IP datalink only.
|
||||||
|
.IP BACNET_BBMD_ADDRESS
|
||||||
|
If non-null, the IP address of the BBMD that is handling the
|
||||||
|
Foreign Device Registration. If this environment variable is
|
||||||
|
missing or NULL, then Foreign Device Registration does not occur.
|
||||||
|
Used for BACnet/IP datalink only.
|
||||||
|
.IP BACNET_MAX_INFO_FRAMES
|
||||||
|
If non-null, the Max-Info-Frames value between 1 and 255.
|
||||||
|
The default number of frames is 1.
|
||||||
|
Used for BACnet MS/TP datalink only.
|
||||||
|
.IP BACNET_MAX_MASTER
|
||||||
|
If non-null, the Max-Master value between 1 and 127.
|
||||||
|
The default Max-Master is 127.
|
||||||
|
Used for BACnet MS/TP datalink only.
|
||||||
|
.IP BACNET_MSTP_BAUD
|
||||||
|
If non-null, a value baud rate of 9600, 19200, 38400, 57600,
|
||||||
|
and 115200.
|
||||||
|
The default baud rate is 9600.
|
||||||
|
Used for BACnet MS/TP datalink only.
|
||||||
|
.IP BACNET_MSTP_MAC
|
||||||
|
If non-null, the MS/TP MAC address value between 0 and 127.
|
||||||
|
The default MAC address is 0.
|
||||||
|
Used for BACnet MS/TP datalink only.
|
||||||
|
.SH DIAGNOSTICS
|
||||||
|
The following diagnostics may be issued on stderr:
|
||||||
|
|
||||||
|
device-instance=x - it must be less than 4194304
|
||||||
|
object-type=x - it must be less than 1024
|
||||||
|
object-instance=x - it must be less than 4194304
|
||||||
|
property=%u - it must be less than 4194304
|
||||||
|
.SH BUGS
|
||||||
|
No bugs are known to exist at this time.
|
||||||
|
.SH AUTHOR
|
||||||
|
Steve Karg <skarg@users.sourceforge.net>
|
||||||
|
.SH "SEE ALSO"
|
||||||
|
.BR bacarf (1),
|
||||||
|
.BR bacawf (1),
|
||||||
|
.BR bacdcc (1),
|
||||||
|
.BR bacepics (1),
|
||||||
|
.BR bacrd (1),
|
||||||
|
.BR bacrp (1),
|
||||||
|
.BR bacserv (1),
|
||||||
|
.BR bacts (1),
|
||||||
|
.BR bacucov (1),
|
||||||
|
.BR bacwh (1),
|
||||||
|
.BR bacwp (1),
|
||||||
|
.BR address_cache (5)
|
||||||
@@ -39,8 +39,8 @@
|
|||||||
#define BACNET_VERSION(x,y,z) (((x)<<16)+((y)<<8)+(z))
|
#define BACNET_VERSION(x,y,z) (((x)<<16)+((y)<<8)+(z))
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define BACNET_VERSION_TEXT "0.4.4"
|
#define BACNET_VERSION_TEXT "0.4.5"
|
||||||
#define BACNET_VERSION_CODE BACNET_VERSION(0,4,4)
|
#define BACNET_VERSION_CODE BACNET_VERSION(0,4,5)
|
||||||
#define BACNET_VERSION_MAJOR ((BACNET_VERSION_CODE>>16)&0xFF)
|
#define BACNET_VERSION_MAJOR ((BACNET_VERSION_CODE>>16)&0xFF)
|
||||||
#define BACNET_VERSION_MINOR ((BACNET_VERSION_CODE>>8)&0xFF)
|
#define BACNET_VERSION_MINOR ((BACNET_VERSION_CODE>>8)&0xFF)
|
||||||
#define BACNET_VERSION_MAINTENANCE (BACNET_VERSION_CODE&0xFF)
|
#define BACNET_VERSION_MAINTENANCE (BACNET_VERSION_CODE&0xFF)
|
||||||
|
|||||||
Reference in New Issue
Block a user