This fixes segmented Complex-ACK frames which were dropped. This enables all proprietary frames and any new frames to be recieved to the higher layers.
* Fixed compiler warning format '%u' expects argument of type 'unsigned int', but argument 4 has type 'uint32_t' {aka 'long unsigned int'} [-Werror=format=] by casting or increasing format specifier size and casting. Increased the size of the name string to handle larger possible integers.
* Fixed copied code that no longer needs static function scope variables for text names.
* Added dynamic RAM file system to use with basic bacnet file object.
* Added static RAM file system to use with basic bacnet file object.
* Added check for read-only during AtomicWriteFile service API for BACnet File object.
* Change stm32f4xx example to use static RAM file system.
* Fixed bacfile_count() function return type
* Linux MS/TP:
* dlmstp_init:
* Maximize thread priority if permitted
* MSTP_Put_Receive/dlmstp_receive:
* Use a buffer so incoming frames are not dropped during bursts
* dlmstp_receive:
* Make timeout optional
* MSTP_Get_Reply:
* Lock the mutex before using the PDU Queue
* Iterate over all queued replies to find a match (instead of only checking the first)
* Sleep for a millisecond before checking again to wait for the application provide a reply
* RS485_Check_UART_Data:
* Ensure waiter is initilized before using with select
* Ensure bytes are read before adding to FIFO
TSM:
* Add log when `datalink_send_pdu` fails for consistency with all other `datalink_send_pdu` calls
dlenv_maintenance_timer:
* Fix Tx/Rx labels in MSTP statitistics print
* don't log on queued requests
* Added missing API defined in header into ports/win32/dlmstp.c module, added a PDU queue and refactored receive thread, and refactored MS/TP timing parameters.
* Added missing API defined in header into ports/linux/dlmstp.c module, and refactored MS/TP timing parameters.
* Added missing API defined in header into ports/bsd/dlmstp.c module, and refactored MS/TP timing parameters.
* Reduce default MS/TP APDU to 480 to avoid extended frames by default.
* Changed win32 port of localtime to use secure OS API functions when compiled with MSVC
* Changed all the sprintf to use snprintf instead in BSC tests to ensure null string endings.
* Fixed WriteProperty error code for PROP_FD_BBMD_ADDRESS and PROP_FD_SUBSCRIPTION_LIFETIME properties.
* Fixed dead-code warning after enabling all datalinks for basic network port object using the property list as the R/W checking for the port type.
* Fixed IPv6 handler to ignore original-broadcast when registered as a foreign-device
* Fixed IPv6 to leave multicast when registering as foreign device.
* Added unit test while reading all object properties to flag properties not in the property-list.
* Added enumeration for last-property used in unit testing.
* Added missing reliability property in the basic multistate output object example.
* Removed polarity property in binary value object as it is not standard.
* Changed BACnetARRAY index validation into ReadProperty, ReadPropertyMultiple, WriteProperty, and WritePropertyMultiple handlers.
* Changed the basic and example objects after refactoring BACnetARRAY index validation into ReadProperty, ReadPropertyMultiple, WriteProperty, and WritePropertyMultiple handlers.
* Added BACnet application decoder that understands that an array element of zero is an unsigned integer tagged value. Fixes RP and RPM apps when reading the array element zero of arrays.
* Added reject in all confirmed service handlers, except GetEventInformation, when confirmed services with zero length occur which rejects with required parameters are missing message.
* Refactored errno use in service using debug_perror. Changed debug_perror usage to debug_fprintf.
* Updated file and function headers in basic/service modules.
* Changed NDPU priority on confirmed messages to use requested NDPU priority.
* Renamed debug_aprintf to debug_printf_stdout for clarity.
* Convert most debug_fprintf usage to debug_print to reduce text bloat in AVR build
* Added daylight savings time calculation module with unit testing.
* Added datetime daylight savings time and clock API
* Added basic datetime_local() clock using mstimer as basis and time-sync option. Integrated clock with ports/stm32f4xx example.
* Refactored lighting command operations from the lighting output object, and added unit testing. Integrated the result back into lighting-output object.