Commit Graph

32 Commits

Author SHA1 Message Date
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
tbrennan3 31f440e070 Implemented separate Who-Is and Who-Has handlers for the routed case, where we loop through all the Devices looking for matches.
Tested and improved the routing code.
Gateway demo now sends I-Am as each Device is added.
Added test for valid Network number when routing, and only send Reject message if this fails (and not if we just can't find a Device match).
Test the hop_count and discard the packet if would reach 0 and a destination Network is called for.
2010-12-02 20:33:43 +00:00
tbrennan3 22c14fccad Followed Steve's good recommendation, and made routed_get_my_address() be a variant of datalink_get_my_address() just when routing is in use. Haven't done anything about the sending functions yet.
Renamed Lookup_Routed_Device_Address() as Routed_Device_Address_Lookup(), and replaced it in the routed npdu handler with a function that finds the "next" gateway or routed device, as per the destination address.  (Less tied to the specifics of the gw_device.c implementation.)
Fixed a few build warnings (eg, %zu for size_t arguments).
Until we improve the makefile system, I've enabled BAC_ROUTING in config.h
2010-11-24 20:44:32 +00:00
petermcs 4a137eb8df Added Get_Routed_Device_Address prototype 2010-11-17 23:12:54 +00:00
bacpack 9413ec4da2 Small reediting. 2010-11-13 20:31:37 +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 9569f2c536 Fixed EOL and performed standard indentation. 2010-09-16 22:00:47 +00:00
tbrennan3 2f7a8224aa comment.sh did some strange compactions when there was a sequence of two comment blocks.
Restoring to tidiness here, for Doxygen's sake.
2010-08-20 16:33:54 +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 db2e31b17b Added missing function prototype in device.h. Changed file license to MIT as it should have been. (per Bug #3004966). Thanks, Jim Bell! 2010-05-20 23:33:17 +00:00
skarg 710cfccfef Indented using indent script. 2010-05-04 21:06:26 +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
tbrennan3 6a97eb5424 Added Doxygen Modules describing the Object Helper Functions (and how they're used) and the Handler-to-Objects interface functions of the Device Object.
Two small code corrections in device.c:
a) Fixed the return value of Device_Write_Property() so that a -1 value would also return False.
b) Fixed the string length checked when writing PROP_OBJECT_NAME for the Device object.
2010-03-14 04:34:52 +00:00
tbrennan3 6c799cb847 Documented the function pointer templates for object_functions, as used in device.c 2010-03-02 20:44:46 +00:00
skarg f5bc326061 Merged duplicate and different BACnet Renitialized Device State enumerations. 2010-02-18 17:25:58 +00:00
petermcs 9c9e4b9603 Changed RR handler to call Device_Objects_RR_Info directly.
Removed handler_rr_object_set and associated info. 
Simplified parameter passing to rr info functions by passing ptr to BACnet_Read_Range_Data.
2010-02-18 11:12:38 +00:00
skarg 1f9c13d37b Got rid of the handler-set functions for RP,RPM,WP,RD. Just referencing the device object functions directly. 2010-02-18 03:06:03 +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
petermcs a076bca5dc Device_Set_System_Status() now does some range checking (also has local flag to allow internal and external sources have different levels of control.
Simplified write property code using new validation helper functions in h_wp.c. Added location, description and model name to the writable properties.
2010-02-03 22:45:07 +00:00
petermcs f3806bb158 Fixed error class for NO_SPACE_TO_WRITE_PROPERTY when changing device name so it is for class RESOURCES.
Changed Database Revision to uint32_t and now increment it when device name or ID is written (will need to look at other objects to see if they have writable ID's or names).
2010-02-01 13:19:32 +00:00
petermcs b8251f314f Implemented ReadRange functionality for the device "Device Address Binding" property and modified the ReadRange test app to use this real property for its target.
Implemented a framework for allowing the ReadRange handler determine which properties support ReadRange and which varients of ReadRange they support.
2009-11-10 15:37:11 +00:00
skarg c04e69da8c Fixed EOL, indent. 2009-10-24 17:02:59 +00:00
skarg 3de2b92216 Changed device object to conform to other objects RP/RPM/WP service API. Added MSI object. 2009-08-24 13:38:53 +00:00
skarg a28760bf56 Added init functions to object header files. Finished refactoring the demo read and write property handlers to use function tables. 2009-08-23 03:26:30 +00:00
skarg 0c4edb33d9 Fixed up file indent, comments, and eol-type. 2009-05-13 03:46:02 +00:00
skarg 469627a6cf Updated port for BACnet Development Kit. 2009-05-11 22:32:06 +00:00
skarg 9c316a65dc Moved APDU Timeout and Retries to apdu module. 2008-08-17 02:12:58 +00:00
skarg 411d6c1b24 Indented. 2007-11-29 15:56:53 +00:00
skarg 82311b321c Moved the demo object header files to the include directory. 2007-10-10 12:26:09 +00:00