Bus Messages 1.0
Bus Message Serialization Library
Loading...
Searching...
No Matches
Bus Message Interface Library

Summary

The Bus Message Library is mainly a serialization library of bus messages. Optionally, it also includes basic inter-process communication libraries for shared memory and TCP/IP communications. The main purpose is to isolate the bus driver software from the rest of the application as the driver software normally is dependent on operating system and manufacturer.

Serialization of Bus Messages

The library supports the following buses:

  • CAN including CAN-FD.
  • LIN.
  • FlexRay.
  • MOST.
  • Ethernet (ETH).

Communication Interfaces

The library supports the following communication interfaces:

  • Shared Memory Broker. Single shared memory message bus.
  • Shared Memory Server. Tx/Rx shared memory message bus.
  • Shared Memory Client. Tx/Rx shared memory message client.
  • TCP/IP Message Broker. Single shared memory with a TCP/IP server.
  • TCP/IP Message Client. Client for TCP/IP servers and brokers.
  • TCP/IP Message Server. Tx/Rx message TCP/IP client.

A broker is used by applications that have one or more publishers and one or more subscribers, typical in logger applications. A server is used in applications where bidirectional traffic is needed, typical when running against bus drivers.

Applications

A number of applications use this library. Some of them are hosted inside this repository or have their own repository. The following applications are based upon this library:

  • Bus to MQTT. Subscribe to bus messages, parse the message to engineering values and forward to an MQTT broker.
  • Bus to MDF. Subscribe to bus messages and log them onto an MDF file.
  • Bus to Listen. Subscribe to bus messages and display the messages on a Listen Window.
  • Bus Daemon. Simple executable that starts various communication interfaces.
  • Bus Simulator. Simple GUI application that generates bus messages from an MDF file.