Releases: modelica-3rdparty/Modelica_DeviceDrivers
Modelica_DeviceDrivers v2.2.0
Updated package compatibility to Modelica 4.1.0.
Enhancements:
- Compile libMDDSpaceMouse.a with -fPIC (#388)
- Serial port: change number of data bits (#368)
- Add byte size parameter for number of data bits of serial port communication (#378)
- Accept non null terminated string on unpacking (#382)
- Always ensure null terminated string buffer and raise warning otherwise (#377)
- Declare array inputs of external C functions const (introduced in Modelica 3.5) (#389)
- Update SimulationX specific binaries (#399)
Bug fixes:
- Fixed process priority not reset (#44)
- Fix linker errors due to multiply defined symbols (#385)
- Fix CLOCK_MONOTONIC not available in -std=c89 (#383)
Other (minor) fixes and improvements (full changelog: v2.1.1...v2.2.0)
Modelica_DeviceDrivers v2.1.1
Modelica_DeviceDrivers v2.1.0
Enhancements:
- Added parameter
useRecvThreadalso for clocked UDPReceive variant (#342). - Added option for not unlinking shared memory partition at process termination (#339).
- Updated paho.mqtt.c to v1.3.10 (#355).
Bug fixes:
- Fixed
RealtimeSynchronizeblock "clock_nanosleep" error on Linux (#357). - Fixed
MDD_TCPIPServer_Send(...)return value, so that it works as described in the documentation "On success, return the number of bytes sent, 0 if operation would block, -1 on non-fatal error" (#323). - Serial port interface on Windows: Fixed spurious byte sent at the end of a simulation (#352).
Other (minor) fixes and improvements.
Modelica_DeviceDrivers v2.0.0
Migrated from Modelica Standard Library 3 (MSL 3) to MSL 4 -> Non-backwards compatible release!
However, apart from the MSL 4 dependency this release is compatible to previous releases and no update of user libraries is necessary apart from migrating to MSL 4.
Enhancements:
- Added all license files to better assist tool vendors in distribution of source or binary files (#313 ).
- Updated 3rd-party library paho.mqtt.c to v1.3.4 ( #320).
Bug fixes:
- Fixed small issues in the SBHS Board example (#318).
Modelica_DeviceDrivers v1.8.2
Updated Linux MQTT binary dependencies. The updated libraries are compiled with the -fPIC flag, which fixes a related FMU generation problem (#306).
Modelica_DeviceDrivers v1.8.1
Fix declaration of MDD_spaceMouseGetData in external C code (#305)
Modelica_DeviceDrivers v1.8.0
Enhancements:
- TCP/IP server communication (#296). In addition to the existing TCP/IP client blocks (see #78) there are now also blocks for setting up a TCP/IP server. See examples
Blocks.Examples.TestSerialPackager_TCPIPServerandBlocks.Examples.TestSerialPackager_TCPIPServerMultipleClients. - Enhanced real-time synchronization block (#290). Added an enhanced real-time synchronization block
(Blocks.OperatingSystem.RealtimeSynchronize) and deprecated the existing block (Blocks.OperatingSystem.SynchronizeRealtime). The deprecated block is known to not working well with recent Dymola versions (e.g., Dymola 2020). The newRealtimeSynchronizeblock supports a sample-based real-time synchronization mode which is recommended for more deterministic, less solver sensitive behavior. See exampleBlocks.Examples.TestRealtimeSynchronize. - An utility block for debugging purposes which prints a message when triggered by an event (#289).
- Updated 3rd-party library paho.mqtt.c to v1.3.1 (#293)
Bug fixes:
- Fixed Spacemouse not working under Windows 10 bug (#289).
- More similar behavior for getMACAddress() in Windows and Linux (#263).
Other (minor) fixes and improvements.
Modelica_DeviceDrivers v1.7.1
Fix backwards compatibility (#284)
Modelica_DeviceDrivers v1.7.0
Enhancements:
- Uses latest version of Modelica Standard Library (v3.2.3).
- Option for using blocking UDP receive calls (#275). On the function interface level an optional third argument in the
UDPSocketconstructor allows to create the external object without starting a dedicated receive thread (default:useRecvThread=true). On the block interface level (blockUDPReceive) a new parameteruseRecvThread(default:useRecvThread=true) allows to select the desired behavior. See exampleBlocks.Examples.TestSerialPackager_UDPWithoutReceiveThread. - Added parameter
enable(default:enable=true) for conditionally enabling or disabling the real-time synchronization within theBlocks.OperatingSystem.SynchronizeRealtimeblock (#270). - Update OpenSSL to 1.0.2r (#280).
Bug fixes:
EmbeddedTargets.AVR: Only start the RT synch timer once (#274).EmbeddedTargets.AVR: Fixed reading of digital pins (#266).- Fixed Cygwin build (#271).
- Fixed scale factor calculation error in
JoystickInputblock (#272). - Fix missing byte copy of
\0in external C code functionMDDEXT_SerialPackagerGetString()(#273).
Other (minor) fixes and improvements.
Modelica_DeviceDrivers v1.6.0
Enhancements:
- Support for MQTT (Message Queuing Telemetry Transport protocol) client communication (see #130, #256).
- Utility function to retrieve MAC address (
Utilities.Functions.getMACAddress, see #255). - Utility function to generate a UUID (
Utilities.Functions.generateUUID(), see #244). - Number of received bytes in
UDPReceiveblock is provided as output (see #236). - Scalable real-time synchronization (see #215).
Adaption of the new Modelica Association license for libraries: The 3-Clause BSD License (see #238, #264). The C-code parts of the library were already BSD 3-Clause licensed, but the Modelica code was licensed under the Modelica License 2. Since Modelica Association projects, most notably the Modelica Standard Library (MSL), changed from Modelica License 2 to the BSD 3-Clause license, the Modelica_DeviceDrivers library follows this development.
Other (minor) fixes and improvements.