skarg
1c19bf7d09
Added checks in Error, Abort, Reject, and Acks for matching address and invoke ID so that out-of-order messages would not foul up the state machine and only the reply matching the request would be honored.
...
Changed request so that an error message of segmentation-not-supported would trigger the read-property fallback mechanism.
2012-02-21 21:56:18 +00:00
skarg
9e8c2b0927
Added explicit datalink_cleanup to all demo applications.
...
Moved bip_cleanup() to port specific files.
This works better for bacnet-stack DLLs.
2012-02-10 22:12:15 +00:00
skarg
dd93e8cf1b
Removed the object-table function macros from each demo object header file since it was very difficult to maintain when new functions are added. Added device-client.c file which is a small device object just for simple clients. Updated most Makefiles of client demo applications to utilize device-client.c file.
...
Added two device object table functions for COV support.
Corrected demo COV handler interaction with TSM, COV flags, and multiple subscriptions for the same object.
2011-10-03 18:54:14 +00:00
tbrennan3
630ed4640b
Improved the bacepics program to include header and footer, so it can generate a full (and compliant) EPICS file for VTS3.
2011-09-12 18:07:25 +00:00
skarg
f19f2c29d9
Converted all the BACnet-array-index variables from int32 to uint32 as they were intended.
2011-08-23 20:11:42 +00:00
tbrennan3
c1f148dc61
Quick fixes for BACNET_CHARACTER_STRING uses with routing. (Mostly just reverting to ANSI with this demo code.)
2011-08-22 19:55:05 +00:00
skarg
3e1cb1847f
Indented project.
2011-08-17 02:27:11 +00:00
skarg
05ddcf93c5
Corrected device function list NULL functions.
2011-05-25 21:34:19 +00:00
skarg
deab12a5e1
Changed WhoHas and I-Have to use CharacterString instead of forcing ANSI X34 and C Strings. Affected all demos and ports object name, so I changed the object name function name to make sure it was noticed.
2011-03-24 16:53:02 +00:00
skarg
e095715cec
Moved include files for demo objects into demo/object, and updated makefiles to accommodate the move. This allows developers to create and maintain their own objects and the interfaces to them.
2011-03-22 20:53:13 +00:00
skarg
2f9d601178
Removed BACnet/IP explicit calls in demo epics (with ifdef) to allow to compile for MS/TP or Ethernet. Thank you, 55792882!
2011-01-14 15:22:16 +00:00
skarg
2a0bf4926a
Performed standard indent script indent.sh on project files.
2010-12-15 19:02:40 +00:00
skarg
8f1e8d82cd
Changed Object Table from a global to a local variable and added a Device function to initialize it.
2010-12-13 03:41:55 +00:00
skarg
20ca252a8d
Fixed compiler warning messages.
2010-12-12 05:42:42 +00:00
skarg
d5b8dee34e
Updated make to $(MAKE) as recommended best practice.
2010-12-12 05:42:13 +00:00
tbrennan3
b768518a9d
Now using Who-Is-Remote() to get the address binding if targeting a routed Device.
...
Eliminated empty braces for the Device object in its own list of objects.
2010-12-03 06:54:02 +00:00
tbrennan3
de4ead47c6
Improvements to bacepics for the routing case; can now specify a DNET on the command line.
...
Not all there yet, however, for the routed case.
Added null tests and dummy string defaults in Add_Routed_Device().
2010-12-02 22:05:59 +00:00
bacpack
6a523e4d23
First attempt to clean-up Makefiles.
...
1. Top (main) makefile defines build configuration variables and export them for sub-makes to use. BAC_ROUTING is defined here - is has been removed from config.h.
2. A new makefile has been added in demo subdirectory. It builds the demo applications. NOTE: the 'ports' target is not build.
2010-11-25 04:17:58 +00:00
bacpack
502cbcc2e6
1. In device.c, the Object_Table[] is now extern; it has to be defined by the user application (see demos); only the required BACnet objects have to be included.
...
2. Objects' .h files define macro to be used to initialize Object_Table[].
2010-11-13 19:57:29 +00:00
bacpack
a639864cc8
In bip.c getter and setter functions of IP address and Port number expect and return values in the network byte order. All ntoh and hton were eliminated from bip.c.
...
All other modules changed to be consistent.
arm7 port left unchanged.
2010-11-04 13:30:26 +00:00
tbrennan3
a5f24fa19f
Tweaked the comments for better Doxygen output.
2010-10-13 19:00:57 +00:00
tbrennan3
44b7e02721
Tweaked the debug building and printing a little - I hope this works OK for everyone. Let me know if not.
...
Tamped down a few warnings.
For the demo/server Makefile, made an either/or choice between executable size optimization (normal) or gdb debug info and no optimization.
2010-09-27 20:27:29 +00:00
skarg
9569f2c536
Fixed EOL and performed standard indentation.
2010-09-16 22:00:47 +00:00
skarg
50a8a3f2fb
Changed some plumbing for printing values to handle the case of a Present-Value enumerated property from a proprietary object type.
2010-09-02 13:16:27 +00:00
skarg
0dcc38b020
Corrected errant APDU timeout in epics demo.
2010-08-26 14:23:00 +00:00
tbrennan3
968687b4f4
For epics creation, if not showing the actual values, replace Present_Value and Priority_Array values with a single question mark, just as VTS3 wants it. (Ie, print "?" and not "{?, ?}" ).
...
Various small fixes to remove warnings and make assertion statements more meaningful when they are tripped.
2010-08-24 20:04:43 +00:00
skarg
b769dcbe1d
Indented.
2010-08-18 00:11:35 +00:00
skarg
6c9ef7211d
Fixed indent script, and indented files.
2010-07-19 23:19:54 +00:00
skarg
6450255be6
Corrected reading of ALL to not read with array index 0.
2010-07-16 16:10:28 +00:00
skarg
0b5efa5be5
Changed -L=lib to -Llib in all GNU Make makefiles since it was wrong and causing problems on cross compilers. Thank you, Magno!
2010-07-14 12:55:37 +00:00
skarg
d088bc354c
Removed usage of key (analog input 0 is key=0) to determine end of object list.
2010-06-26 03:51:23 +00:00
tbrennan3
15f8e6741d
Corrected the Object Names for 37 and 38 (and friendlier text now).
...
In bacepics, now counts errors and displays error count at the end (if any).
Always prints out the Device Address Binding as a '?' if it is Null.
2010-06-01 21:21:20 +00:00
skarg
9ca6961c15
Cleaned up warnings on GCC on Linux.
2010-05-23 12:33:45 +00:00
skarg
d95863d89c
Corrected epics demo handling of proprietary properties.
2010-05-21 14:25:39 +00:00
tbrennan3
1526557b54
Added arguments to bacepics which let you specify a source port to use (besides 0xBAC0) and a target MAC to use.
...
Combining these lets you run bacepics against the localhost's Device at port 0xBAC0.
One small change in dlenv_init() to support this (don't force source port to 0xBAC0 if that's not what we want).
2010-05-14 19:09:53 +00:00
tbrennan3
c69686c99b
Fixed 2 problems that Steve found:
...
1) Did not properly handle when RPM was not supported.
2) Did not handle small MAX_APDU values well.
2010-05-14 14:44:27 +00:00
skarg
bef726d837
Corrected compile error due to C++ comment conversion.
2010-05-05 15:02:43 +00:00
skarg
710cfccfef
Indented using indent script.
2010-05-04 21:06:26 +00:00
skarg
b2368acc27
Fixed up EOL for subversion.
2010-05-04 21:04:26 +00:00
skarg
74be776295
Cleaned up C++ comments
2010-05-04 21:01:48 +00:00
tbrennan3
1c8a58f158
Final fixes (I believe, for now) for EPICS generation.
...
Now has proper support for State Text and Subordinate Annotations text arrays, even very large ones.
Now has 3 ways, of descending throughput, for all Objects and all their properties:
a) Get all object properties with RPM for ALL
b) Get individual properties with RP for Array_Index = ALL
c) Walk through a too-large array one index step at a time.
2010-04-26 20:09:41 +00:00
tbrennan3
8dd671d5a1
Sorry about the missing header; adding it in here.
...
Some comment tweaks for Doxygen.
2010-04-17 15:39:20 +00:00
tbrennan3
fac19dff98
Made bacepics' output more correct for VTS3 EPICS parsing.
...
Put command line argument checking and usage printing into their own functions,
and added an optional argument to show values instead of '?' for properties like Present_Value.
Added screening of properties that should normally be replaced with '?' on output.
Added a few enums to bactext (Node_Type, Polarity).
2010-04-16 20:52:40 +00:00
tbrennan3
4d90a024c6
Extensively revised bacepics to produce a full list of objects, not just the required properties of just the Device object.
...
Added a state machine which tries to get all properties in one RPM call first, then falls back to getting all object properties and calling RP once for each property, except the Device Object List, which calls RP once for each ObjectID in the list.
Adding support for Structured Views but not complete yet.
2010-04-15 20:51:55 +00:00
tbrennan3
026a489fc5
Answered my own questions, after some thought:
...
Made the epics pretty-printing generate shorter lines by only decoding 4 bits per line (hurts my byte-centered soul, but does look better).
Moved the big comment section out of demo/server/main.c out to a new header, server.h.
Provided doxygen links to the functions called in the server demo.
2010-03-23 12:32:46 +00:00
tbrennan3
5a99f0662c
Commented the demo/server in a new module.
...
Embedded its PICS in the server documentation (hopefully a good idea).
Added a PrettyPrintPropertyValue() function to the epics program (hopefully OK format).
Added a function apdu_service_supported_to_index() to the apdu code to translate a SERVICE_SUPPORTED_ enum to its SERVICE_CONFIRMED_ or SERVICE_UNCONFIRMED_ index, and used it when PrettyPrinting services.
2010-03-23 04:55:11 +00:00
skarg
d4b39c6b59
Changed CC and AR in demo makefiles to make cross compiling the demo applications easier.
2010-03-01 19:01:40 +00:00
skarg
2a68202503
Updated GNU make Makefile for cross compile by changing CC=gcc to CC:=gcc.
2010-02-27 04:02:27 +00:00
skarg
f0863c0238
Refactored RP, WP, RPM to reduce coupling with objects for Linux and Win32 ports.
2010-02-10 16:27:31 +00:00
skarg
ba795a3d2e
Moved key.c and keylist.c into library for better management. Thanks Piotr!
2010-01-13 18:06:42 +00:00