Commit Graph

138 Commits

Author SHA1 Message Date
skarg 15cb616b4a Added UCI support for the BACnet demo server. UCI is a replacement for nvram. The source is GPL and has a lua lib.
http://wiki.openwrt.org/doc/uci
http://nbd.name/gitweb.cgi?p=uci.git;a=summary
Thank you, Patrick <patrick@lunatiki.de>.
2013-04-15 20:22:24 +00:00
skarg ba3242aafd indented using indent.sh script to get uniform looking code for release 2013-03-13 22:17:13 +00:00
skarg 331b17cf1d Added JavaDoc function headers to a couple of functions. 2013-01-18 03:07:59 +00:00
skarg adb69c524c When write-property to object-name property in example objects, no need to write the duplicate name again. 2013-01-14 17:13:48 +00:00
skarg af5d529001 Fixed write-property to object-name property in demo application to fix for BTL 135.1-2009-9.22.2.8 - Reading an object name and writing it straight back gives a 'duplicate name' error. Thank you, Ed! 2013-01-14 16:29:42 +00:00
skarg 934fcbf012 A function in example device.c, Device_Object_List_Identifier, uses an array index, which starts at 1, not 0. Fixes WhoHas for last name in object list. Thank you, Peter van der Stok! 2012-12-07 16:28:01 +00:00
cneilson 77ad8cf6f4 fix compile errors 2012-09-12 08:39:36 +00:00
skarg d6b9d29e22 Removed extra else since error was initialized by default. 2012-08-16 18:55:09 +00:00
skarg 8988790bff Fixed duplicate case statement when compiled for MS/TP. 2012-07-12 20:04:20 +00:00
skarg 9f1719756d Added Binary Input Write Property handler to the device handler function table. Thanks for asking, Vogel! 2012-07-12 16:41:52 +00:00
skarg b6b852ef08 Removed wildcard match for Device Instance since it is only done for ReadProperty and ReadPropertyMultiple services, and the match is done by substitution in those service handlers. 2012-07-09 21:52:19 +00:00
skarg 7578b4ef06 Added check in each example object WriteProperty handler to pass test:
9.22.2.1 Writing Non-Array Properties with an Array Index
Thank you Kamalathas!
2012-07-09 19:49:27 +00:00
skarg 2dd97c23cd Added Analog Output and Binary Output objects to simulated device example. 2012-05-18 23:11:00 +00:00
skarg 48e2c60ce2 indented to standard from script 2012-05-13 15:07:12 +00:00
skarg a8280dda95 Added CharacterString Value object example and unit tests, and added to demo/server example application.
Added Multi-state Value object example and unit tests, and added to demo/server example application.
Fixed Analog Input object, Analog Output object, Analog Value object, Device object, Multi-state Input object, Multi-state Output object examples to return correct error codes for WriteProperty service (per BACnet 135.1-2009-9.22.2.6).
Fixed top level ReadProperty and WriteProperty handlers in Device object to return correct error codes (per BACnet 135.1-2009-9.22.2.5)
2012-03-22 18:22:42 +00:00
skarg 1c42bcfb92 Added function pointers (nulls) for ReadRangeInfo and Iterator for Binary Value objects. 2012-03-19 19:28:21 +00:00
skarg 6b544c0ec4 Changed service error ERROR_CODE_UNSUPPORTED_OBJECT_TYPE to ERROR_CODE_UNKNOWN_OBJECT to since ERROR_CODE_UNSUPPORTED_OBJECT_TYPE seems to only be acceptable to return from CreateObject service. 2012-03-16 20:09:20 +00:00
skarg 4841262b03 Added ReadRange into function handling list. 2011-11-02 21:46:21 +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
skarg e0b5b5b164 Corrected check for Device Name function. 2011-08-23 17:04:01 +00:00
tbrennan3 59831e8eaa Fixed up Device_Object_Name_Copy().
Revised Routed_Device_Name() and Add_Routed_Device() to use BACNET_CHARACTER_STRING.
2011-08-22 19:49:25 +00:00
skarg 3e1cb1847f Indented project. 2011-08-17 02:27:11 +00:00
k001a 08028dd819 Fixed headers when built without Intrinsic Reporting. 2011-08-15 08:16:41 +00:00
k001a c2282c5aad Fixed headers when built without Intrinsic Reporting. 2011-08-11 20:21:18 +00:00
k001a c61c096dc7 Intrinsic reporting for analog-input objects.
Print on output details of WritePropertyMultiple.
2011-07-11 21:29:51 +00:00
k001a 7f291e3041 Cosmetic changes to comments.
Print on output every change of Event_State for analog-value objects.
Added write_property_function for analog-input objects.
Created descriptor for analog-input objects.
Possible to write Present_Value for analog-inputs when Out_Of_Service is true.
2011-07-11 19:48:21 +00:00
k001a 90fcf9706d Ability to compile the project without INTRINSIC_REPORTING. 2011-07-07 20:06:43 +00:00
k001a 19a77ba46e Created descriptor for analog-value objects,
- writable Relinquish_Default and Units
- added properties required for intrinsic reporting.

Intrinsic reporting for analog-value. First commit. 
Not everything finished (inter alia Time_Delay, Event_Time_Stamps, ACK_Required doesn't work now).

Initialize all objects in Device_Init function.
Added function to read current time.
Defined enum BACNET_LIMIT_ENABLE.
Started cache address.
2011-07-05 19:44:36 +00:00
skarg 8da85f6c79 Moved COV object handling into Device object.
Fixed COV for multiple subscriptions to same object.
2011-05-25 20:18:56 +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
petermcs 6407f098ba We don't need to check for available space in the APDU once we have encoded the last entry in the object list 2011-03-14 11:13:10 +00:00
skarg 2f5d6fbaa1 Updated unit tests for objects and services, and corrected some portability problems. Thanks, Sergei! Didn't fix mstp or load control unit test results. 2010-12-27 00:04:38 +00:00
skarg 1c560c27b9 Refactored the DCC code in APDU for clarity. Added DCC check in demo server to prevend COV when DCC is not enabled. 2010-12-22 03:09:42 +00:00
skarg 350736f6bb Corrected DeviceCommunicationControl (DCC) for DISABLE_INITIATION state, which now allows I-Am in response to Who-Is. Did not add keep out for other initiated services like COV (to do). 2010-12-18 17:30:58 +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
bacpack 47ecaeabaa To build the Routing demo define BAC_ROUTING in the top Makefile. The value is not important - the symbol has to be defined. 2010-11-25 05:10:01 +00:00
tbrennan3 a595bdb4b5 Resolved more code where we didn't need to define separate BAC_ROUTING functionality, since the npdu_encode_pdu() will do the right thing if our source address is for the gateway (root device), because src->net and/or src->len will be 0.
For the important Device_Object_Instance_Number(), will redirect to the Routed_Device_Object_Instance_Number() function if this is a routing build.
This leaves only the Who-Is and Who-Has handlers to be dealt with.
2010-11-24 22:04:02 +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
tbrennan3 48411b8dbf Routing functionality complete, and working. (Have not done extensive testing, though.)
For building, made it possible to include or exclude the routing functionality with simple changes in the main Makefile and enables in lib/Makefile and include/config.h
The Device object (device.c and .h) was extended to support the virtually routed Devices, with most of the new functions in new file gw_device.c to replace their simpler cousins in device.c.
2010-10-13 15:59:39 +00:00
skarg e9249b5b5e Added test for a decoding problem where the stack is unable to decode something, and retrofitted into WriteProperty for each of the demo objects by returning an Error, Out of Range. 2010-10-12 01:17:50 +00:00
skarg 9569f2c536 Fixed EOL and performed standard indentation. 2010-09-16 22:00:47 +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 8a96963e8b Removed deprecated property. 2010-06-26 03:53:17 +00:00
petermcs 61bb34d726 2nd pass at changing the error/reject/abort status reporting to improve BTL test compliance. ReadProperty fully done for core and demo objects. Will tackle other services next. 2010-06-07 15:52:33 +00:00
petermcs 04e99f3671 Changes to reduce the number of warnings with Visual C++2008 warning level 4 to a minimum. 2010-05-14 14:21:48 +00:00
skarg 710cfccfef Indented using indent script. 2010-05-04 21:06:26 +00:00
tbrennan3 c5977b8933 Added some function documentation and a little more support for Structured Views. 2010-04-15 20:45:22 +00:00
petermcs d78ce26067 Added support for non contiguous object arrays to the device object. This allows, for example, a single table of objects to be used for configuration of the device with the objects of a given type not required to be in a contiguous block. 2010-03-29 21:41:39 +00:00