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
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
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
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
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
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