#vsomeip #uprotocol #some-ip #sdk #generate #proc-macro

macro vsomeip-proc-macro

Useful proc macros for generating necessary extern 'C' fns for use with vsomeip

2 releases

new 0.4.1 Jan 23, 2025
0.4.0 Jan 21, 2025

#891 in Procedural macros

Download history 60/week @ 2025-01-15 174/week @ 2025-01-22

234 downloads per month
Used in up-transport-vsomeip

Apache-2.0

18KB
224 lines

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

~1.4–2MB
~41K SLoC