Commit Graph

567 Commits

Author SHA1 Message Date
skarg 0a468dbb5a Added recurring foreign device registration for server demo. 2010-07-02 12:20:51 +00:00
skarg 0dff7c85eb Improved reporting in demo WhoIs and mstpcap. 2010-07-01 16:36:05 +00:00
skarg 8a96963e8b Removed deprecated property. 2010-06-26 03:53:17 +00:00
skarg d088bc354c Removed usage of key (analog input 0 is key=0) to determine end of object list. 2010-06-26 03:51:23 +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
petermcs 702da8e212 Fixed up comparison size issue in write property handling for PROP_LOG_DEVICE_OBJECT_PROPERTY. Was only checking first 4 bytes instead of the full structure. 2010-06-13 10:35:12 +00:00
petermcs 404eaa01d0 Removed spurious #define TEST and fixed up a couple of printfs. 2010-06-10 21:20:47 +00:00
petermcs 7b77fe776a Refactored rpm decoding to return proper reject/abort status for malformed requests.
Note: the test code in rpm.c has been changed to accommodate the changes made to the decoding functions but I have not tested the test code as I have not run the test suite.
2010-06-10 11:31:53 +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
skarg ea250f422d Added some dynamic-ism to some properties of the demo Binary Input object. 2010-06-03 19:12:25 +00:00
petermcs f32e7bf1c0 Changes to error checking to report invalid requests via proper reject codes and not the blanket abort which was in place (will need to look at other service request decoders as well...) Should address question raised by Jérémy Delhomme. 2010-06-03 11:20:37 +00:00
tbrennan3 15f8e6741d Corrected the Object Names for 37 and 38 (and friendlier text now).
In bacepics, now counts errors and displays error count at the end (if any).
Always prints out the Device Address Binding as a '?' if it is Null.
2010-06-01 21:21:20 +00:00
skarg 9ca6961c15 Cleaned up warnings on GCC on Linux. 2010-05-23 12:33:45 +00:00
skarg d95863d89c Corrected epics demo handling of proprietary properties. 2010-05-21 14:25:39 +00:00
skarg 1bafe2ed98 Added all standard baud rates for Windows serial ports. Updated mstpcap readme file. 2010-05-20 23:31:50 +00:00
skarg 0263f9dce8 Corrected const char for WhoHas/I-Have (bug ID: 3002190). Thank you, Jim Bell! 2010-05-15 22:16:59 +00:00
tbrennan3 1526557b54 Added arguments to bacepics which let you specify a source port to use (besides 0xBAC0) and a target MAC to use.
Combining these lets you run bacepics against the localhost's Device at port 0xBAC0.
One small change in dlenv_init() to support this (don't force source port to 0xBAC0 if that's not what we want).
2010-05-14 19:09:53 +00:00
tbrennan3 c69686c99b Fixed 2 problems that Steve found:
1) Did not properly handle when RPM was not supported.
2) Did not handle small MAX_APDU values well.
2010-05-14 14:44:27 +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 286c372d2c Updated ToDo list.
Added more info to MS/TP capture utility readme file.
Changed silence timer in BDK to compile smaller.
2010-05-14 12:14:09 +00:00
skarg 54ff09468e renamed file so that it is easily added to binary release. 2010-05-05 15:03:25 +00:00
skarg bef726d837 Corrected compile error due to C++ comment conversion. 2010-05-05 15:02:43 +00:00
skarg 710cfccfef Indented using indent script. 2010-05-04 21:06:26 +00:00
skarg b2368acc27 Fixed up EOL for subversion. 2010-05-04 21:04:26 +00:00
skarg 74be776295 Cleaned up C++ comments 2010-05-04 21:01:48 +00:00
skarg e261490f61 Corrected compiler warning. 2010-04-28 17:34:49 +00:00
brayra 37d048310c Added ability to set starting invoke id from environment variable BACNET_INVOKE_ID 2010-04-27 15:11:58 +00:00
tbrennan3 1c8a58f158 Final fixes (I believe, for now) for EPICS generation.
Now has proper support for State Text and Subordinate Annotations text arrays, even very large ones.
Now has 3 ways, of descending throughput, for all Objects and all their properties:
a) Get all object properties with RPM for ALL
b) Get individual properties with RP for Array_Index = ALL
c) Walk through a too-large array one index step at a time.
2010-04-26 20:09:41 +00:00
brayra 15c5375196 More corrections to return value 2010-04-26 19:39:24 +00:00
brayra d4797f99d7 Fixed return value when error detected 2010-04-26 13:54:13 +00:00
tbrennan3 040e6ed286 Make sure RPM handler aborts if Device_Read_Property() returns -2 (because the current property by itself won't fit in the APDU). 2010-04-23 18:40:09 +00:00
skarg 4163cac4cb Corrected statistics when used with a single MS/TP device. 2010-04-23 18:09:39 +00:00
tbrennan3 136c90f6c1 More simple doxygen tweaks. 2010-04-18 01:51:52 +00:00
tbrennan3 8dd671d5a1 Sorry about the missing header; adding it in here.
Some comment tweaks for Doxygen.
2010-04-17 15:39:20 +00:00
tbrennan3 fac19dff98 Made bacepics' output more correct for VTS3 EPICS parsing.
Put command line argument checking and usage printing into their own functions,
and added an optional argument to show values instead of '?' for properties like Present_Value.
Added screening of properties that should normally be replaced with '?' on output.
Added a few enums to bactext (Node_Type, Polarity).
2010-04-16 20:52:40 +00:00
tbrennan3 4d90a024c6 Extensively revised bacepics to produce a full list of objects, not just the required properties of just the Device object.
Added a state machine which tries to get all properties in one RPM call first, then falls back to getting all object properties and calling RP once for each property, except the Device Object List, which calls RP once for each ObjectID in the list.
Adding support for Structured Views but not complete yet.
2010-04-15 20:51:55 +00:00
tbrennan3 1dc93c3a28 Added function rp_ack_fully_decode_service_request() to parse and return the same structure as RPM (but the list has just one property). Convenient when you want to switch hit between RP and RPM.
Put it in the handler/h_rp_a.c file since I wasn't sure if we wanted it in the stack src itself.
2010-04-15 20:48:06 +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
tbrennan3 026a489fc5 Answered my own questions, after some thought:
Made the epics pretty-printing generate shorter lines by only decoding 4 bits per line (hurts my byte-centered soul, but does look better).
Moved the big comment section out of demo/server/main.c out to a new header, server.h.
Provided doxygen links to the functions called in the server demo.
2010-03-23 12:32:46 +00:00
tbrennan3 5a99f0662c Commented the demo/server in a new module.
Embedded its PICS in the server documentation (hopefully a good idea).
Added a PrettyPrintPropertyValue() function to the epics program (hopefully OK format).
Added a function apdu_service_supported_to_index() to the apdu code to translate a SERVICE_SUPPORTED_ enum to its SERVICE_CONFIRMED_ or SERVICE_UNCONFIRMED_ index, and used it when PrettyPrinting services.
2010-03-23 04:55:11 +00:00
petermcs 6cc780e562 Changed int apdu_len to bool status in Device_Write_Property as the return value is a bool and the return value for the object write functions is also bool. 2010-03-17 15:03:54 +00:00
skarg 52518b9d57 Changed NPDU handler to check for BACnet version before attempting to decode. Thanks, Piotr! 2010-03-17 00:35:51 +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 47ff6200f1 Doxygenation of the main Alarm/Event and COV functions.
Also documented the main misc functions for handlers.
2010-03-12 03:30:31 +00:00
petermcs bfd3920698 Removed assumption that object instance and object index are one and the same. Added in missing Analog_Input_Instance_To_Index() function. 2010-03-11 16:57:55 +00:00
tbrennan3 776bf54278 Added partial documentation of DS-COV.
Dropped the Latex output from default doxyfile.
Added a convenience starting point for HTML output, the only format that has worked well for this project on doxygen.
2010-03-07 05:42:19 +00:00
petermcs d639f48788 Fixed some errors in the handling of the status flags. 2010-03-04 14:27:47 +00:00
petermcs 51c3479240 Add in check for clients that send invalid start of epoch time with all 0s in the date. 2010-03-03 22:55:51 +00:00
petermcs 430cc119d5 Fixed up some issues which stopped code compiling on Linux. Not tested yet. 2010-03-03 21:28:40 +00:00