#vsomeip #uprotocol #some-ip #sdk

up-transport-vsomeip

Layer-1 uTransport implementation for vsomeip (SOME/IP)

1 unstable release

new 0.4.0 Jan 21, 2025

#2 in #uprotocol

Apache-2.0

3.5MB
73K SLoC

C++ 66K SLoC // 0.1% comments Rust 4K SLoC // 0.1% comments Shell 3K SLoC // 0.3% comments Python 94 SLoC // 0.1% comments

Eclipse uProtocol Rust vsomeip Client

Overview

This library implements a uTransport client for vsomeip in Rust following the uProtocol uTransport Specifications.

Getting Started

Building the Library

To build the library, setup the environment

source build/env_setup.sh

then run:

VSOMEIP_INSTALL_PATH=<path/to/where/to/install/vsomeip> cargo build

in the project root directory.

See vsomeip-sys/README.md for more details on options.

This library leverages the up-rust library for data types and models specified by uProtocol.

Running the Tests

To run the tests, run

 VSOMEIP_INSTALL_PATH= <path/to/vsomeip/install> LD_LIBRARY_PATH=$LD_LIBRARY_PATH:<path/to/vsomeip/install>/lib cargo test -- --test-threads 1

Breaking this down:

  • Details about the environment variables can be found in vsomeip-sys/README.md. Please reference there for further detail.
  • We need to pass in -- --test-threads 1 because the tests refer to the same configurations and will fall over if they are run simultaneously. So we instruct to use a single thread, i.e. run the tests in serial.

Using the Library

The library contains the following modules:

Package uProtocol spec Purpose
transport uP-L1 Specifications Implementation of vsomeip uTransport client used for bidirectional point-2-point communication between uEs.

Dependencies

~12–26MB
~349K SLoC