Skip to content
forked from lcm-proj/lcm

Lightweight Communications and Marshalling

License

Notifications You must be signed in to change notification settings

irom-princeton/lcm

 
 

Repository files navigation

Lightweight Communications and Marshalling (LCM)

LCM is a set of libraries and tools for message passing and data marshalling, targeted at real-time systems where high-bandwidth and low latency are critical. It provides a publish/subscribe message passing model and automatic marshalling/unmarshalling code generation with bindings for applications in a variety of programming languages.

Looking for a new maintainer

2022 September - LCM isn't actively updated much these days. It should be considered fairly stable on the platforms it was originally developed on, but new feature development and bug fixes are unlikely. If you are interested in taking over as the project maintainer and steering its direction going forwards, please send a message to Albert.

Quick Links

Features

  • Low-latency inter-process communication
  • Efficient broadcast mechanism using UDP Multicast
  • Type-safe message marshalling
  • User-friendly logging and playback
  • No centralized "database" or "hub" -- peers communicate directly
  • No daemons
  • Few dependencies

Supported platforms and languages

  • Platforms:
    • GNU/Linux
    • OS X
    • Windows
    • Any POSIX-1.2001 system (e.g., Cygwin, Solaris, BSD, etc.)
  • Languages
    • C
    • C++
    • C#
    • Go
    • Java
    • Lua
    • MATLAB
    • Python

Build Status (master)

Build Status

About

Lightweight Communications and Marshalling

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 48.1%
  • C++ 28.1%
  • C 16.8%
  • CMake 2.5%
  • C# 1.7%
  • HTML 0.8%
  • Other 2.0%