Commit Graph

21 Commits

Author SHA1 Message Date
skarg e5dccc0fc0 cleaned up gateway build from Gnu Make by having it build the library again with its own defines, and removed the gateway defines in the various Makefile files. 2013-04-12 23:12:32 +00:00
skarg ba3242aafd indented using indent.sh script to get uniform looking code for release 2013-03-13 22:17:13 +00:00
cneilson f5c9073853 fix incorrect use of NULL 2012-09-17 16:04:18 +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 48e2c60ce2 indented to standard from script 2012-05-13 15:07:12 +00:00
tbrennan3 cbc62dd6c0 Extended the test for supported services for routed devices to the device's PROP_PROTOCOL_SERVICES_SUPPORTED.
Support calling of Routed_Device_Service_Approval() with a NULL buffer if just testing for support.
2011-10-27 20:34:45 +00:00
tbrennan3 710ac3d34c Added checking in with each device (in the BAC_ROUTING case) to see whether it supports RD or DCC.
Sends a Reject message if not supported.  Added to the respective handlers.
2011-10-21 17:02:11 +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
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 2a0bf4926a Performed standard indent script indent.sh on project files. 2010-12-15 19:02:40 +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
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
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
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 a1eaffccff Added Get_Routed_Device_Address function 2010-11-17 23:14:07 +00:00
tbrennan3 6319e1a7d9 Good IDE tools can be sooo helpful. 2010-11-16 13:12:23 +00:00
tbrennan3 a5f24fa19f Tweaked the comments for better Doxygen output. 2010-10-13 19:00:57 +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