Commit Graph

2080 Commits

Author SHA1 Message Date
skarg a8280dda95 Added CharacterString Value object example and unit tests, and added to demo/server example application.
Added Multi-state Value object example and unit tests, and added to demo/server example application.
Fixed Analog Input object, Analog Output object, Analog Value object, Device object, Multi-state Input object, Multi-state Output object examples to return correct error codes for WriteProperty service (per BACnet 135.1-2009-9.22.2.6).
Fixed top level ReadProperty and WriteProperty handlers in Device object to return correct error codes (per BACnet 135.1-2009-9.22.2.5)
2012-03-22 18:22:42 +00:00
skarg 1c42bcfb92 Added function pointers (nulls) for ReadRangeInfo and Iterator for Binary Value objects. 2012-03-19 19:28:21 +00:00
skarg 6b544c0ec4 Changed service error ERROR_CODE_UNSUPPORTED_OBJECT_TYPE to ERROR_CODE_UNKNOWN_OBJECT to since ERROR_CODE_UNSUPPORTED_OBJECT_TYPE seems to only be acceptable to return from CreateObject service. 2012-03-16 20:09:20 +00:00
skarg ae0008d569 Changed SubscribeCOV demo application to wait for APDU Timeout * Retries until the target device is found. After the target device is found, the demo application can wait the duration of the longest COV lifetime, if there is one. Thanks for the suggestion, Duane King! 2012-03-13 19:06:26 +00:00
skarg eb649fe3c6 Added missing demo applications to default Borland Makefile. Cleaned up the makefile.
Added missing ReadRange demo Makefile for Borland.
2012-03-13 18:55:43 +00:00
skarg f9911e8273 Corrected SubscribeCOV demo to allow missing lifetime parameter (meaning indefinite). 2012-03-13 16:06:05 +00:00
skarg 4870fb1953 Corrected demo COV handler for indefinite lifetime. 2012-03-13 16:05:45 +00:00
skarg 2a51a1db7c Added MS/TP tweak to improve byte reception and processing at higher baud rates and larger packet sizes. Thank you Peter Mc Shane! 2012-03-12 21:26:53 +00:00
skarg 9eb0066764 Fixed release files. 2012-03-10 21:33:57 +00:00
skarg 285c09641a Fixed comment. 2012-03-10 20:19:11 +00:00
skarg fdf387ed1d Changed MS/TP receive to read more bytes from UART queue if they are available during each cycle. This fixes high baud rate issues on slower processors if the main loop cycle time is not fast enough. 2012-03-10 20:18:14 +00:00
skarg d189f72abd Notification Class had wrong array indexes when assigning priorities. Thank you, Dmitry Korobkov! Bug ID 3495994. 2012-03-07 22:04:01 +00:00
skarg eaf6c9cee6 Removed unused parameter to clean up compiler warning. 2012-02-29 20:56:08 +00:00
skarg 420d4ecd8a updated readme.txt describing the demo applications. 2012-02-28 19:58:33 +00:00
skarg acfcdfbef4 Corrected minor typo. Thanks, Duane! 2012-02-28 16:18:29 +00:00
skarg 4d02e66634 Updated Code::Blocks projects to compile correctly. 2012-02-23 22:15:49 +00:00
skarg 8920f0df62 Removed accidental paste in Borland makefile.b32 that was causing DCC demo to fail. 2012-02-23 16:47:38 +00:00
skarg 0478d87d53 Added Append feature required by BACnet spec when File Offset is -1. Thank you Robert Bouwens! 2012-02-21 23:58:35 +00:00
skarg b05fbf196c Fixed file name in doxygen comment. 2012-02-21 22:10:05 +00:00
skarg 1c19bf7d09 Added checks in Error, Abort, Reject, and Acks for matching address and invoke ID so that out-of-order messages would not foul up the state machine and only the reply matching the request would be honored.
Changed request so that an error message of segmentation-not-supported would trigger the read-property fallback mechanism.
2012-02-21 21:56:18 +00:00
skarg 48c756bc11 Removed checks for previous BVLC messages since that is not correct behavior for BIP, especially when a WhoIs, I-Am, ReadProperty sequence occurs. This was causing messages to be sent as broadcast instead of unicast. 2012-02-21 21:53:37 +00:00
skarg 43b3a58704 added define to pass make command define. 2012-02-17 04:15:16 +00:00
skarg 9e8c2b0927 Added explicit datalink_cleanup to all demo applications.
Moved bip_cleanup() to port specific files.
This works better for bacnet-stack DLLs.
2012-02-10 22:12:15 +00:00
skarg 2e6a060b26 Added volatile qualifier to ringbuffer library to be interrupt safe. 2012-02-10 22:10:17 +00:00
skarg 9226159c5d Added MS/TP crc calculating demo application to use when writing articles that include example MS/TP code. 2012-02-07 23:54:15 +00:00
skarg 6c5fe45769 Changed buffer from volatile pointers to non-volatile data, to pointers to volatile variables. 2012-01-25 19:03:54 +00:00
petermcs bae2321abc Fixed off by 1 error when checking length of string in WPValidateString() 2012-01-21 10:30:23 +00:00
skarg 0f0c41d347 Added usleep for Tturnaround time before RS485 Transmit. Added tcdrain to wait for write to have written before returning. Thank you, Nikola Jelic! 2012-01-21 01:46:46 +00:00
petermcs 52ea59f446 Removed MS C specific gettimeofday function from mstpcap.c as there is one in the timer.c in the Win32 port.
Changed the conditional compilation in the Win32 timer.cto allow gettimeofday compile with MS C
2012-01-17 07:46:53 +00:00
skarg 3f761a53dc Added information about where to get the CMSIS and Standard Peripheral Driver library for STM32 project. 2012-01-16 16:46:43 +00:00
petermcs e0cf05f74a Added in 76800 baud rate as it works on Win 7 with the B&B Electronics USOPTL4 USB adaptor that I have, YMMV.
Added gettimeofday() function to allow me build with VS2008 C++ Express Edition
2012-01-14 12:28:44 +00:00
skarg 6fefac808f Added FIFO Pull function to remove one or more bytes from the FIFO. Added unit tests for FIFO Pull. 2012-01-13 17:56:55 +00:00
skarg 12d0d9f204 Created Rowley Crossworks AVR project for BDK port to ATmega644p. 2012-01-12 23:09:14 +00:00
skarg e3e706ffa9 Increased number of cycles for testing FIFO. 2012-01-12 23:07:28 +00:00
skarg 79f5caf850 Corrected BACnet name in BDK port to clear end of string when new string is smaller than old string. 2012-01-11 22:18:56 +00:00
skarg 0fcd5132c2 Updated the example Visual Studio 10 project and solution files to build without errors. Thank you, Scott! 2012-01-09 23:29:11 +00:00
skarg 1006b642e7 I was thinking that this might need to be done to separate the head from tail in case head is incremented by ISR while this is called. 2012-01-09 23:16:53 +00:00
skarg bf4cd368b0 Reverted r2140 as this breaks MS/TP and non-BACnet/IP builds. If this functionality is indeed required, then we will need to change the APDU dispatcher to include information with the service so that this can be discerned. 2012-01-09 22:52:59 +00:00
skarg abf23e80e8 Updated online website page. 2012-01-07 14:46:40 +00:00
skarg 10b6e58f2c Improved FIFO_Available by allowing the last byte to be available. 2012-01-06 18:52:44 +00:00
skarg 513663727f Added function prototypes to support COV. 2012-01-06 18:52:22 +00:00
petermcs 954d2b0079 Moved check for wild card Device Id to before call to rpm_ack_encode_apdu_object_begin so that the real Device ID is encoded in the response. 2011-12-31 08:05:29 +00:00
petermcs a5f6477364 Moved check for wild card Device Id to before call to rp_ack_encode_apdu_init so that the real Device ID is encoded in the response. 2011-12-31 07:58:13 +00:00
skarg ad74c6d4ac Corrected missing packet initialization in DLMSTP for several ports that may result in unusual REPLY-POSTPONED frames emitted for a DATA-EXPECTING-REPLY frame. 2011-12-29 03:37:38 +00:00
petermcs ef40b6e180 Removed superfluous ',' at end of last entry in enum definition which trips up some compilers 2011-12-22 10:41:33 +00:00
skarg 7d87b88d47 Corrected compiler warnings. 2011-12-20 15:39:30 +00:00
gri6507 cb620a9432 Made the perl bindings ReadProperty example more generic 2011-12-16 23:25:56 +00:00
gri6507 fd4a0ebb62 * Updated the perl bindings to work with the new style extract API and removed vestigial code
* Updated the perl bindings readme.txt
* Fixed a small bug in the new bacapp_print_value() function which incorrectly interpreted the return status from the snprintf function.
2011-12-15 00:03:04 +00:00
gri6507 6e82afde79 Another attempt to refactor the bacapp_print_value function into a print() and
an extract() function. The original implementation used calloc() inside the
extract() routine which forced all clients, including embedded builds, to have a
heap. This was very heavy handed. The new solution is must more flexible. 
* If the client want to use the print() functionality, they will have to support
  calloc and string safe variable argument length function similar to snprintf.
  This seems reasonable because if you can print, then you can typically support
  these complex capabilities. 
* For clients that don't want to print, but still want to parse the bacpp value
  into a string, they can use the new extract() method, which only requires
  supports for snprintf. This would require a compile time definition of
  BACAPP_SNPRINTF_ENABLED.
* For clients which don't want the overhead of these heavy handed methods, it is
  possible to set compile time flags to not inherit either the print() or the
  extract() functions.
2011-12-12 16:22:04 +00:00
skarg fcf2c4a8ba Corrected BACnet Name in BDK port to use EEPROM instead of SEEPROM (it was overwritten by BO data). 2011-12-07 03:40:20 +00:00