Commit Graph

249 Commits

Author SHA1 Message Date
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 e48aab8ebb When reporting abort for apdu exceeding the maximum the requester can accomodate we need to set the error code up as read property processing may have overwritten the default by then. 2011-03-14 11:11:09 +00:00
skarg 2371f4ea53 Added ifdef to allow outside configuration of MAX COV SUBSCRIPTIONS. 2011-03-12 12:08:46 +00:00
skarg 59823dde09 Corrected Abort or Reject code that is generated during ReadPropertyMultiple (seen during reading Object_List). 2011-02-24 18:07:38 +00:00
skarg 624de45fc8 Cleaned up compiler warnings when compiled with Win32 MS/TP datalink. 2011-01-14 15:23:03 +00:00
skarg 46cdade038 Corrected error response service type. Thank you, Martin! 2011-01-12 19:51:52 +00:00
skarg aa045effaa Corrected RPM Handler for max APDU size. 2010-12-23 05:59:09 +00:00
skarg 2a0bf4926a Performed standard indent script indent.sh on project files. 2010-12-15 19:02:40 +00:00
tbrennan3 2f424e038d Touched up some of the Doxygen tags. 2010-12-03 07:25:34 +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
skarg e850469da8 Added character string helper to test for printable. Added to WP checks. 2010-12-02 19:33:22 +00:00
skarg 01d1d5bd77 Changed %zu back to %d since Borland C++ doesn't understand %zu. 2010-11-30 06:08:48 +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
bacpack db5dea31e7 Compiler fails - missing declaration of Get_Routed_Device_Address(). 2010-11-21 17:03:04 +00:00
petermcs dbb8997b4d Added routing support for virtual network to more of the handlers and fixed up a couple of typos from the previous changes.
Added ReadRange service handler so that trendlogs can be read.
2010-11-18 21:29:11 +00:00
petermcs 3bb228edf2 Added routing support for virtual network so that source addresses are transmitted when required and the correct object ID is used. 2010-11-17 23:16:24 +00:00
bacpack d50eb7fef7 In bvlc.c, IP address and port number are always in the network byte order (including FD_Table[] and BBMD_Table[]).
The only left hton and ntoh functions are in debug_printf() and test functions.
2010-11-05 19:30:20 +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
skarg 2cac9ba528 Corrected printing of array properties. 2010-10-21 20:14:07 +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
skarg 86dbaf409b Added handling for bacapp decode value returning error codes. 2010-10-12 03:02:05 +00:00
tbrennan3 9058fc7f3a Finished up the Network Layer Message handling (I hope).
Simplified the Router Table encoding (just based on DNETs).
2010-10-08 02:50:14 +00:00
tbrennan3 478d7aeb41 Working out the sending of Network Layer Messages; trying to refactor the actual sending routines to just one since the beginning, end, and error handling are the same for all types - just the payload is different.
For many, need to know what our managed downstream BACnet Network list is, so added that argument.
2010-10-07 21:00:46 +00:00
skarg 23eecbc100 Added more informative error message. 2010-10-06 18:49:52 +00:00
tbrennan3 9f4b8e5f19 Adding a handler for routed NPDUs (ie, Network Layer Message handling).
The work is not complete yet; this is an interim checkin.
2010-09-29 20:52:51 +00:00
tbrennan3 d39d4fded3 More function documentation.
Defined a default Hop Count value, and used 15 instead of 255.
2010-09-29 20:29:12 +00:00
tbrennan3 e5f5dce995 Added some javadoc-type function comments.
Reduced the default hop count from way-big 255 to 15.
2010-09-28 21:05:38 +00:00
skarg 9569f2c536 Fixed EOL and performed standard indentation. 2010-09-16 22:00:47 +00:00
skarg c8f4aac1b7 Cleaning up some code to make it more robust. 2010-09-16 14:49:33 +00:00
skarg 9e13bd0ebb converted COV to use new error, reject, abort method. 2010-09-11 19:24:20 +00:00
skarg 914a063681 removed kludge by adding initializer 2010-09-11 19:23:08 +00:00
skarg a74e282f93 Updated some documentation about Environment Variables. 2010-09-10 18:27:58 +00:00
skarg 7928d7cb6c Fixed compiler error (after adding a change for IAR compile). 2010-09-07 18:18:30 +00:00
skarg 4105d22b4b Fixing compiler warnings (compiled with IAR and configured for no printing) 2010-09-07 16:16:15 +00:00
cneilson 3f3af6a072 Moved variable definitions to top of functions (variables can, only be defined partway thru in C++ not C) 2010-09-03 16:48:24 +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
brayra 81bc038abd Change Network Layer message to print to stderr 2010-08-27 22:00:46 +00:00
skarg b769dcbe1d Indented. 2010-08-18 00:11:35 +00:00
skarg a23d75689d Correcting prototypes and includes. 2010-08-18 00:01:32 +00:00
skarg 3c9c3c2d56 Updated prototypes and include as required and found by compile with extra checking. Thanks to Nigel Jones for his "setting a bad example" article. 2010-08-17 19:43:59 +00:00
skarg 2f5c95b7a3 Added additional WhoIs for network device discovery. Thanks, David Campfield! 2010-08-17 14:03:52 +00:00
skarg 83a3f08dad Fixed compiler warnings. 2010-08-06 22:21:29 +00:00
skarg 6c9ef7211d Fixed indent script, and indented files. 2010-07-19 23:19:54 +00:00
skarg e5481b4bb5 Fixed error code when array option is passed to special properties ALL, OPTIONAL, REQUIRED. 2010-07-16 14:48:52 +00:00
skarg 7852309f7e Added error code when array option is passed to special properties ALL, OPTIONAL, REQUIRED. 2010-07-16 14:34:15 +00:00
skarg 0a468dbb5a Added recurring foreign device registration for server demo. 2010-07-02 12:20:51 +00:00
skarg 987e28d515 Modified the ReadProperty, ReadPropertyMultiple, and WriteProperty demo applications to check source address and invoke ID on the returning acknowledge to prevent printing responses not intended for this client. 2010-06-15 14:58:27 +00:00