blockLCMReceive

A block for receiving 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 receiving 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

TypeNameDefaultDescription
Activation
BooleanenableExternalTrigger (from PartialSampleTrigger)falsetrue, enable external trigger input signal, otherwise use sample time settings below
SI.PeriodsampleTime (from PartialSampleTrigger)0.1Sample period of component
SI.TimestartTime (from PartialSampleTrigger)0First sample time instant
Incoming data
BooleanautoBufferSizetruetrue, buffer size is deduced automatically, otherwise set it manually
IntegeruserBufferSize16*1024Buffer size of message data in bytes (if not deduced automatically)
LCMProviderproviderLCMProvider.UDPMLCM network provider
Stringaddress"224.0.0.0"UDP multicast IP address or logfile name
Integerport10001UDP port (receivers must bind to the same port as the sender to receive multicast messages)
Stringchannel_recv""Channel name
Integerqueue_size30Maximum number of received messages that can be queued up

Connectors

TypeNameDefaultDescription
Modelica.Blocks.Interfaces.BooleanInputtrigger (from PartialSampleTrigger)
Interfaces.PackageOutpkgOut