Skip to content

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. <<<<<<< Updated upstream

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.

=======

System Overview System Overview

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:

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.

Stashed changes