blockLCMSend
A block for sending LCM datagrams
Extends from Modelica_DeviceDrivers.Utilities.Icons.BaseIcon (Base icon for blocks providing access to external devices), Modelica_DeviceDrivers.Utilities.Icons.LCMconnection (Base icon for models of network connections), Modelica_DeviceDrivers.Blocks.Communication.Internal.PartialSampleTrigger (Common code for triggering calls to external I/O devices).
Information
Supports sending of Lightweight Communications and Marshalling (LCM) datagrams. (https://lcm-proj.github.io/)
Remark regarding Linux
LCM requires a valid multicast route. If this is a Linux computer and it is simply not connected to a network, the following commands are usually sufficient as a temporary solution:
sudo ifconfig lo multicast sudo route add -net 224.0.0.0 netmask 240.0.0.0 dev lo
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| Activation | |||
| Boolean | enableExternalTrigger (from PartialSampleTrigger) | false | true, enable external trigger input signal, otherwise use sample time settings below |
| SI.Period | sampleTime (from PartialSampleTrigger) | 0.1 | Sample period of component |
| SI.Time | startTime (from PartialSampleTrigger) | 0 | First sample time instant |
| Outgoing data | |||
| Boolean | autoBufferSize | true | true, buffer size is deduced automatically, otherwise set it manually. |
| Integer | userBufferSize | 16*1024 | Buffer size of message data in bytes (if not deduced automatically). |
| LCMProvider | provider | LCMProvider.UDPM | LCM network provider |
| String | address | "224.0.0.0" | UDP multicast IP address or logfile name |
| Integer | port | 10002 | UDP port (all receivers must bind to the same port to receive the multicast messages) |
| String | channel_send | "" | Channel name |
Connectors
| Type | Name | Default | Description |
|---|---|---|---|
| Modelica.Blocks.Interfaces.BooleanInput | trigger (from PartialSampleTrigger) | ||
| Interfaces.PackageIn | pkgIn |