Commit Graph

  • 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. tbrennan3 2010-04-26 20:09:41 +00:00
  • 15c5375196 More corrections to return value brayra 2010-04-26 19:39:24 +00:00
  • d4797f99d7 Fixed return value when error detected brayra 2010-04-26 13:54:13 +00:00
  • 040e6ed286 Make sure RPM handler aborts if Device_Read_Property() returns -2 (because the current property by itself won't fit in the APDU). tbrennan3 2010-04-23 18:40:09 +00:00
  • 4163cac4cb Corrected statistics when used with a single MS/TP device. skarg 2010-04-23 18:09:39 +00:00
  • 9c667949cc Corrected filename (used in demo apps) when compiled with MinGW. skarg 2010-04-23 18:08:56 +00:00
  • 202bc06768 Changed makefile install to handle slow clock on AVR. skarg 2010-04-22 02:09:17 +00:00
  • ad8cab409d Corrected compiler error. skarg 2010-04-22 01:22:00 +00:00
  • fd133c43e7 Some notes on doxygen. tbrennan3 2010-04-18 03:28:55 +00:00
  • 136c90f6c1 More simple doxygen tweaks. tbrennan3 2010-04-18 01:51:52 +00:00
  • 8dd671d5a1 Sorry about the missing header; adding it in here. Some comment tweaks for Doxygen. tbrennan3 2010-04-17 15:39:20 +00:00
  • 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). tbrennan3 2010-04-16 20:52:40 +00:00
  • 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. tbrennan3 2010-04-15 20:51:55 +00:00
  • 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. tbrennan3 2010-04-15 20:48:06 +00:00
  • c5977b8933 Added some function documentation and a little more support for Structured Views. tbrennan3 2010-04-15 20:45:22 +00:00
  • f9d900fdca Added structure for BACnetDeviceObjectReference, and ability to encode/decode it. tbrennan3 2010-04-08 19:26:27 +00:00
  • 1115ffcf88 Updated build.bat to include notes about YAGARTO Tools. skarg 2010-04-06 18:57:06 +00:00
  • 8cb5a8a230 removed process.h since it gave errors when compiling under gcc (GCC) 3.4.5 (mingw-vista special r3) for BACDL_MSTP. skarg 2010-03-31 21:48:13 +00:00
  • 30fef973de Reorganised the declarations and initialisers in apdu_service_supported_to_index() to separate the locals from the parameters. petermcs 2010-03-30 12:18:37 +00:00
  • 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. petermcs 2010-03-29 21:41:39 +00:00
  • b56cf7bba5 Corrected seeprom write function that wrote wrong number of bytes when near page end. skarg 2010-03-25 15:33:56 +00:00
  • f92316649b Started a Doxygen module for DataLink layer, for the default DataLink templates and for BACnet/IP. tbrennan3 2010-03-24 03:41:39 +00:00
  • 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. tbrennan3 2010-03-23 12:32:46 +00:00
  • 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. tbrennan3 2010-03-23 04:55:11 +00:00
  • 35f0a52d51 Exposed some useful functions in FIFO library. Updated Ringbuffer library to my latest. skarg 2010-03-22 21:36:27 +00:00
  • d3207bf5e5 Added MAX_UNITS to help with range checking code. petermcs 2010-03-17 15:05:41 +00:00
  • 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. petermcs 2010-03-17 15:03:54 +00:00
  • 52518b9d57 Changed NPDU handler to check for BACnet version before attempting to decode. Thanks, Piotr! skarg 2010-03-17 00:35:51 +00:00
  • 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. tbrennan3 2010-03-14 04:34:52 +00:00
  • 47ff6200f1 Doxygenation of the main Alarm/Event and COV functions. Also documented the main misc functions for handlers. tbrennan3 2010-03-12 03:30:31 +00:00
  • bfd3920698 Removed assumption that object instance and object index are one and the same. Added in missing Analog_Input_Instance_To_Index() function. petermcs 2010-03-11 16:57:55 +00:00
  • baec022ecd Updated Visual Studio project for latest demo application. skarg 2010-03-10 16:33:57 +00:00
  • c4df15b39c Corrected error message. skarg 2010-03-07 10:22:05 +00:00
  • 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. tbrennan3 2010-03-07 05:42:19 +00:00
  • 997a75ecfe Added unit test to timer module. skarg 2010-03-06 00:22:26 +00:00
  • ea7c74dad2 Changed header defines for Units to be uint16_t since the maximum value allowed by BACnet is 65535. Thanks, Piotr! skarg 2010-03-05 17:14:42 +00:00
  • d5c542fd22 Converted timer to a more useful and easily used timer library. skarg 2010-03-05 05:01:26 +00:00
  • d639f48788 Fixed some errors in the handling of the status flags. petermcs 2010-03-04 14:27:47 +00:00
  • 51c3479240 Add in check for clients that send invalid start of epoch time with all 0s in the date. petermcs 2010-03-03 22:55:51 +00:00
  • 8fdc3b113a Oops didn't mean to commit this with print enabled set to 1 petermcs 2010-03-03 21:45:11 +00:00
  • 9b50b1388f Added in trendlog.c and ms-input.c petermcs 2010-03-03 21:31:50 +00:00
  • 1b5348ced7 Moved defines and structures into header file to allow use in decoding of trendlog responses. . petermcs 2010-03-03 21:30:27 +00:00
  • 430cc119d5 Fixed up some issues which stopped code compiling on Linux. Not tested yet. petermcs 2010-03-03 21:28:40 +00:00
  • 174b8f39ef Moved defines and structures into header file to allow use in decoding of trendlog responses. Fixed up numerous instances of the code assuming object instance and index into log info arrray were equivalent. Added enable checking into the timer routine so date enable/disable works. petermcs 2010-03-03 21:27:18 +00:00
  • 6c799cb847 Documented the function pointer templates for object_functions, as used in device.c tbrennan3 2010-03-02 20:44:46 +00:00
  • d4b39c6b59 Changed CC and AR in demo makefiles to make cross compiling the demo applications easier. skarg 2010-03-01 19:01:40 +00:00
  • 9327994aef Two quick fixes for sending unicast I-Am - corrected name of handler, and added the destination copy. tbrennan3 2010-03-01 15:43:06 +00:00
  • cd33aa18e9 Documentation for the Data Sharing BIBBs: RP, RPM, WP. A start on ReadRange for Trending BIBB. tbrennan3 2010-02-28 03:44:06 +00:00
  • 2a68202503 Updated GNU make Makefile for cross compile by changing CC=gcc to CC:=gcc. skarg 2010-02-27 04:02:27 +00:00
  • 42c01e92f6 Our cross-compiled builds were failing when they tried to link in the library built with the native linux compiler and archiver; this fixes that without changing the intent. GNU-based make will handle this syntax correctly; if other makes have trouble with it, we'll have to do something different. tbrennan3 2010-02-26 15:43:18 +00:00
  • 49b4c6cd35 Added comments to create Doxygen sub-Module for DM-DOB BIBB (Who-Has). tbrennan3 2010-02-23 03:26:47 +00:00
  • 60247fa55f Added comments to create Doxygen Modules for some of the DM BIBBs (DCC, Who-Is, RD) so far. tbrennan3 2010-02-23 02:43:16 +00:00
  • 8deecad15b Corrected compiler error. skarg 2010-02-19 14:49:35 +00:00
  • d98194636c Changed default WhoIs to be Broadcast after seeing problems of unicast I-Am through some BACnet routers. Split out WhoIs into 2 handlers - one for unicast I-Am and one for Broadcast I-Am. Developer can choose which one to use for their default handler. skarg 2010-02-19 14:45:32 +00:00
  • 0529106e73 Corrected Send_I_Am_Unicast. Removed the NULL src feature of sending broadcast for now. skarg 2010-02-18 22:40:23 +00:00
  • d5e49c7cc1 Removed the extra layer of dereference to device object in WP handler. skarg 2010-02-18 22:11:28 +00:00
  • f5bc326061 Merged duplicate and different BACnet Renitialized Device State enumerations. skarg 2010-02-18 17:25:58 +00:00
  • edd190159d Corrected WP to Polarity which was always setting to Normal. skarg 2010-02-18 15:33:24 +00:00
  • 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. petermcs 2010-02-18 11:12:38 +00:00
  • d7d22234d4 Changed to using common demo handler. skarg 2010-02-18 03:08:23 +00:00
  • 1f9c13d37b Got rid of the handler-set functions for RP,RPM,WP,RD. Just referencing the device object functions directly. skarg 2010-02-18 03:06:03 +00:00
  • 2b2077a329 Did a little refactoring for object properties. skarg 2010-02-16 22:48:09 +00:00
  • b60af74651 Added optional 4th parameter to bacawf to control the number of bytes sent in each write of a file. skarg 2010-02-16 22:47:13 +00:00
  • 24b9e013be Fixed wildcard instance for RP. skarg 2010-02-16 12:35:55 +00:00
  • 7f05571f43 Added debug info when zero length octet string is received. skarg 2010-02-16 03:37:40 +00:00
  • 85eaaa14b4 Cleaned up some comments. skarg 2010-02-16 03:32:45 +00:00
  • a18ca597e5 Added ability to get "my" netmask from the OS-specific network code, so we could construct subnet broadcasts from source addresses. (Haven't hooked up code to actually do that, yet.) tbrennan3 2010-02-15 21:18:57 +00:00
  • 4c99467009 Added Send_I_Am_Unicast() and used it in inhandler_who_is(). Sends directly back to the source address instead of a broadcast, per Addendum 135-2008q-1. tbrennan3 2010-02-15 20:47:20 +00:00
  • ccb5323721 Fixed Borland compiler warnings and errors. skarg 2010-02-15 20:20:11 +00:00
  • cba6197fe3 Fixed compiler warnings. skarg 2010-02-15 20:11:13 +00:00
  • 422b273a52 Removing because src/dlmstp.c is redundant with the better-positioned ports/win32/dlmstp.c. tbrennan3 2010-02-15 18:52:43 +00:00
  • 825181c4e8 Added missing file references to fix the build. tbrennan3 2010-02-15 15:32:03 +00:00
  • c8a9b22a53 Changed from using MAX_ANALOG_INPUTS to Analog_Input_Count() when updating inputs. Removed RR_Info handler setup. petermcs 2010-02-15 11:52:13 +00:00
  • f8b9b5f793 added process.h to includes to silence compiler warning about _beginthread petermcs 2010-02-15 11:48:58 +00:00
  • 8f421b9bf6 Added multistate input to object list. Added RR_Info function pointer to Object Table. Refactored some of the Object Table iteration code. petermcs 2010-02-15 11:46:35 +00:00
  • 966992abd4 Fixed up unresolved conflict which was breaking compile. petermcs 2010-02-15 11:43:16 +00:00
  • ecb1f2064f Folded error class and code into BACNET_READ_RANGE_DATA structure. petermcs 2010-02-15 11:41:23 +00:00
  • 786ddffc04 Initial doxygen control files: doxyfile, README, html header&footer, and nice little graphic. tbrennan3 2010-02-14 06:02:08 +00:00
  • 4cc1ce9c62 Added @file description to bacnet.h and lib/main.cpp Fixed a build issue for the linux+MS/TP combination in trendlog.h Setup library build to define BIP_DEBUG if it is a Debug build and if it is a BIP build. tbrennan3 2010-02-14 05:53:09 +00:00
  • 53d0a1510c The beginning of doxygenation, for the Linux port: As a first step, added an @file description for each file. tbrennan3 2010-02-14 05:46:31 +00:00
  • a911eea98f The beginning of doxygenation: As a first step, added an @file description for each file. tbrennan3 2010-02-14 05:41:45 +00:00
  • cc20f225b9 The beginning of doxygenation: As a first step, added an @file description for each file. tbrennan3 2010-02-14 05:29:43 +00:00
  • 5c439da7f2 Converted ports/at91sam7s to use demo handlers. Added RPM, WhoHas/I-Have. skarg 2010-02-13 16:15:30 +00:00
  • 6c1b5b7e68 Decoupled the demo handler from the demo object for ReinitializeDevice service. skarg 2010-02-13 13:38:00 +00:00
  • c8d959b3e3 Corrected some compiler warnings. skarg 2010-02-12 22:31:09 +00:00
  • ff8746d5f5 Corrected return value check for bool type. skarg 2010-02-12 22:19:18 +00:00
  • 6b1cc84249 Added WhoHas/I-Have services. Simplified the BO writes from main. skarg 2010-02-12 21:46:11 +00:00
  • eeaaf3caa1 Changed BO set/get to use instance number. skarg 2010-02-12 05:18:45 +00:00
  • d7ec61eb21 Moved constants defining the number of each object back into the source files for the demo objects since the header files are currently common to all. skarg 2010-02-11 23:14:53 +00:00
  • f10629260e cleaned up compile errors. skarg 2010-02-11 17:16:21 +00:00
  • eb791ae681 Updated code::blocks workspace and BACnet Library project. skarg 2010-02-11 17:15:44 +00:00
  • 8d85b05afd Corrected name that caused compiler error. skarg 2010-02-11 16:54:11 +00:00
  • e42bfad888 Removed code to make the unoptimized firmware smaller. skarg 2010-02-11 16:53:33 +00:00
  • 70b5d45ce2 Updated ports/bdk-atxx4-mstp to use demo handlers for RP,RPM,WP. skarg 2010-02-11 04:31:43 +00:00
  • 63d7a8018d Changed value of MAX OBJECT type to be consistent with other MAX values, and fixed places that relied on this value (most had a hack in place). skarg 2010-02-11 04:30:20 +00:00
  • bf0a6ab43d Changed device object functions list to terminate with normal unsigned value so that embedded compilers that convert enums to unsigned will work correctly. skarg 2010-02-11 04:28:33 +00:00
  • 3964f7973d Fixed compiler warning. skarg 2010-02-11 04:26:58 +00:00
  • 1b4640c192 Changed default state of PRINT_ENABLED to zero for embedded ports. skarg 2010-02-10 18:47:31 +00:00
  • e4080f41da Corrected some warnings generated from Borland compile. skarg 2010-02-10 17:43:11 +00:00
  • f0863c0238 Refactored RP, WP, RPM to reduce coupling with objects for Linux and Win32 ports. skarg 2010-02-10 16:27:31 +00:00