Commit Graph

653 Commits

Author SHA1 Message Date
skarg 3efa7a2ea9 Moved lso back to its rightful place in include. 2011-03-24 16:48:06 +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
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
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 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 46cdade038 Corrected error response service type. Thank you, Martin! 2011-01-12 19:51:52 +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 aa045effaa Corrected RPM Handler for max APDU size. 2010-12-23 05:59:09 +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 f820697464 Converted C++ comments to ifdef for testing. 2010-12-15 18:59:03 +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 2f424e038d Touched up some of the Doxygen tags. 2010-12-03 07:25:34 +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
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 f26997a367 Changed make to $(MAKE). Not sure if this is still needed, since MSYS has make.exe (in lieu of MinGW). Lots of demo makefiles still have make in them... 2010-11-30 18:04:27 +00:00
skarg a39bf392bd Fixed Makefile for MinGW build. Testing with MinGW 20101030 and MSYS. gcc (GCC) 4.5.0 (MinGW), GNU Make 3.81 (MSYS). 2010-11-30 17:50:24 +00:00
skarg 01d1d5bd77 Changed %zu back to %d since Borland C++ doesn't understand %zu. 2010-11-30 06:08:48 +00:00
skarg 0e34c5ce5c Moved ports back into root Makefile. 2010-11-29 04:18:53 +00:00
petermcs 072640f887 Added in call to trend_log_timer so Trendlogs are updated and changed stop time on initial setup of logs to the year 2020 instead of 2009 so they would accumulate some more records. 2010-11-26 13:16: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
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
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
petermcs a1eaffccff Added Get_Routed_Device_Address function 2010-11-17 23:14:07 +00:00
petermcs 38d307d780 Added in the full set of objects.
Fixed up snprintf to work with MSVC.
Fixed virtual object address initialisation so network and address are initialised.
2010-11-17 23:05:54 +00:00
skarg 3d80d1a272 Corrected Multi-State Input and Output object Present_Value and number of states handling after being reminded at the BACnet Plugfest that "The Present_Value property shall always have a value greater than zero." 2010-11-17 08:13:33 +00:00
tbrennan3 6319e1a7d9 Good IDE tools can be sooo helpful. 2010-11-16 13:12:23 +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 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
petermcs d6cee12acb added ms-input.c and trendlog.c to project file 2010-10-30 16:16:05 +00:00
skarg 2cac9ba528 Corrected printing of array properties. 2010-10-21 20:14:07 +00:00
tbrennan3 e77f12d261 Yes, these should be deleted now that the code is moved into the regular library area. 2010-10-21 18:19:58 +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 2c3e03256d Added missing initialization for PFM count. 2010-10-13 00:06:07 +00:00
skarg 86dbaf409b Added handling for bacapp decode value returning error codes. 2010-10-12 03:02:05 +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