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.
=======
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. Shared memory broker 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 server.
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