modelica-3rdparty / Modelica_DeviceDrivers

Free library for interfacing hardware drivers to Modelica models. There is support for joysticks, keyboards, UDP, TCP/IP, LCM, MQTT, shared memory, AD/DA converters, serial port and other devices.
BSD 3-Clause "New" or "Revised" License
77 stars 31 forks source link

Allow to send and receive data from the same COM port #350

Open max-privato opened 3 years ago

max-privato commented 3 years ago

To use serial communication is very useful to be able to send and receive data from the same COM port. Unfortunately, this seems impossible with the current version of Modelica_DeviceDrivers, since the SW tries to open the same port twice.

See for example the following model (change txt into mo before using): RXTXissue.txt

This comes from the choice to have separate serialPortSend and serialPortReceive, which both open (or try to open) their ports. Maybe one should add a serialPortSendReceive with two connectors one to send, the other to receive?

bernhard-thiele commented 3 years ago

Yes, or a similar approach as is used for some other devices there where is an inner config component which opens the device and the other read/write blocks can use it as outer.

I agree that it would be a nice feature. However, I'm not very knowledgeable regarding serial port programming, particularly on the Windows side. So I guess it would take me quite some time to get things running for both platforms. If somebody would provide a solid Windows implementation I'd be fine with trying for Linux :)