• Stars
    star
    1,104
  • Rank 42,038 (Top 0.9 %)
  • Language
    C++
  • License
    Mozilla Public Li...
  • Created about 8 years ago
  • Updated about 1 month ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

An implementation of Scalable service-Oriented MiddlewarE over IP

vsomeip

Copyright

Copyright (C) 2015-2022, Bayerische Motoren Werke Aktiengesellschaft (BMW AG)

License

This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.

vsomeip Overview

The vsomeip stack implements the http://some-ip.com/ (Scalable service-Oriented MiddlewarE over IP (SOME/IP)) protocol. The stack consists out of:

  • a shared library for SOME/IP (libvsomeip3.so)
  • a shared library for SOME/IP's configuration module (libvsomeip3-cfg.so)
  • a shared library for SOME/IP's service discovery (libvsomeip3-sd.so)
  • a shared library for SOME/IP's E2E protection module (libvsomeip3-e2e.so)

Optional:

  • a shared library for compatibility with vsomeip v2 (libvsomeip.so)
Build Instructions for Linux
Dependencies
  • A C++14 enabled compiler is needed (default for gcc >= v6.1).
  • vsomeip uses CMake as buildsystem.
  • vsomeip uses Boost >= 1.55.0:

For the tests Google's test framework https://code.google.com/p/googletest/[gtest] is needed. -- URL: https://googletest.googlecode.com/files/gtest-.zip

To build the documentation asciidoc, source-highlight, doxygen and graphviz is needed: --sudo apt-get install asciidoc source-highlight doxygen graphviz

Compilation

For compilation call:

mkdir build
cd build
cmake ..
make

To specify a installation directory (like --prefix= if you're used to autotools) call cmake like:

cmake -DCMAKE_INSTALL_PREFIX:PATH=$YOUR_PATH ..
make
make install
Compilation with predefined unicast and/or diagnosis address

To predefine the unicast address, call cmake like:

cmake -DUNICAST_ADDRESS=<YOUR IP ADDRESS> ..

To predefine the diagnosis address, call cmake like:

cmake -DDIAGNOSIS_ADDRESS=<YOUR DIAGNOSIS ADDRESS> ..

The diagnosis address is a single byte value.

Compilation with custom default configuration folder

To change the default configuration folder, call cmake like:

cmake -DDEFAULT_CONFIGURATION_FOLDER=<DEFAULT CONFIGURATION FOLDER> ..

The default configuration folder is /etc/vsomeip.

Compilation with custom default configuration file

To change the default configuration file, call cmake like:

cmake -DDEFAULT_CONFIGURATION_FILE=<DEFAULT CONFIGURATION FILE> ..

The default configuration file is /etc/vsomeip.json.

Compilation with signal handling

To compile vsomeip with signal handling (SIGINT/SIGTERM) enabled, call cmake like:

cmake -DENABLE_SIGNAL_HANDLING=1 ..

In the default setting, the application has to take care of shutting down vsomeip in case these signals are received.

Build Instructions for Android
Dependencies
  • vsomeip uses Boost >= 1.55. The boost libraries (system, thread and log) must be included in the Android source tree and integrated into the build process with an appropriate Android.bp file.
Compilation

In general for building the Android source tree the instructions found on the pages from the Android Open Source Project (AOSP) apply (https://source.android.com/setup/build/requirements).

To integrate the vsomeip library into the build process, the source code together with the Android.bp file has to be inserted into the Android source tree (by simply copying or by fetching with a custom platform manifest). When building the Android source tree, the Android.bp file is automatically found and considered by the build system.

In order that the vsomeip library is also included in the Android image, the library has to be added to the PRODUCT_PACKAGES variable in one of a device/target specific makefile:

PRODUCT_PACKAGES += \
    libvsomeip \
    libvsomeip_cfg \
    libvsomeip_sd \
    libvsomeip_e2e \

More Repositories

1

dlt-viewer

Diagnostic Log and Trace viewing program
C++
424
star
2

dlt-daemon

Diagnostic Log and Trace.
C
371
star
3

vehicle_signal_specification

Vehicle Signal Specification - standardized way to describe automotive data
YAML
319
star
4

capicxx-core-tools

Common API C++ core tools
C++
135
star
5

capicxx-someip-runtime

Common API C++ SOMEIP runtime
C++
110
star
6

capicxx-core-runtime

Common API C++ core runtime
C++
94
star
7

wayland-ivi-extension

Extensions to the Wayland protocol for InVehicle Infotainment
C
80
star
8

capicxx-someip-tools

Common API C++ SOMEIP tooling
Xtend
77
star
9

vss-tools

Software for working with VSS (https://github.com/COVESA/vehicle_signal_specification)
Python
51
star
10

franca_ara_tools

Translation between Franca Interface Description Language and AUTOSAR XML interface description language
Xtend
43
star
11

capicxx-dbus-tools

Common API C++ dbus tooling
C++
32
star
12

iot-event-analytics

IoT Event Analytics is a complex event processing and agent network platform
JavaScript
26
star
13

franca_ara_integration

Franca to ARA interface integration and demo code
C++
25
star
14

vehicle_signal_interface

Library to distribute vehicle signals between components inside a single ECU
C
23
star
15

vehicle_service_catalog

Vehicle Service Catalog (VSC) extends VSS with functional remote procedure call definitions. See also https://github.com/COVESA/ifex
18
star
16

capicxx-dbus-runtime

Common API C++ dbus runtime
C++
17
star
17

vehicle-edge

Vehicle Edge is a software stack, which acts as an interface between vehicle specific data sources and vehicle agnostic applications
JavaScript
16
star
18

vehicle_signal_manager

Vehicle Signal Manager to read, transform, and emit VSS signals based on configurable rules.
Python
15
star
19

ifex

The Interface Exchange Framework. Tools for processing interface/API descriptions in different formats, including the IFEX core format. Some example files are at: https://github.com/COVESA/vehicle_service_catalog.
Python
14
star
20

capicxx-wamp-tools

Common API tooling with WAMP messaging
C++
12
star
21

capicxx-wamp-runtime

Common API runtime with WAMP messaging
C++
10
star
22

aasig_dev_platform

Development platform for AASIG work (shared build setup for Android in an automotive configuration)
Shell
9
star
23

uservices

uServices - Open Vehicle Interfaces
9
star
24

ramses-citymodel-demo

City model (3D-navigation demo) for the RAMSES distributed graphics framework
C++
7
star
25

aasig-vhal-demo

Repository to collect up the parts and configuration of AASIG VHAL work as submodules
C++
6
star
26

ccs-components

Implementation of technology stack components for the Cloud & Connected Services (CCS) Project
Go
6
star
27

android-external-audio-mixing

Investigate the possibilities in a system that offloads audio mixing from Android Automotive to an external system
C
5
star
28

graphql-vss-server-libs

C++
4
star
29

akm

Automotive Knowledge Model
Python
4
star
30

aosp-app-framework-standardizatiion

AOSP App Framework Standardization
4
star
31

cdsp

The Central Data Service Playground.
Dockerfile
4
star
32

vss-graphql

Configuration and software to serve VSS signals from a GraphQL based server
TypeScript
4
star
33

graphql-vss-data-server

C++
3
star
34

android-vehicleplugin-vss-graphql

Java
3
star
35

CCS-arch-demo

Working directory to collect up all parts of the CCS-arch-demo
Makefile
2
star
36

android-vss-authentication-service

Java
2
star
37

aasig_dev_configuration

Build configurations for aasig_dev_platform (different systems/functionality)
Makefile
2
star
38

test-someip-service

C++
2
star
39

ev_charging

EV Charging Expert Group
Makefile
2
star
40

vehicle-information-service-specification

HTML
2
star
41

covesa-aosp-sdk

Kotlin
2
star
42

vss2graphql_schema

Python
2
star
43

commercial-vehicles

Python
2
star
44

test_franca2vss_mapping_layer

1
star
45

aasig_local_manifests

Manifests for different configurations to build in aasig_dev_platform
1
star
46

graphql_schema2cpp_codegen

Python
1
star
47

hierarchical_information_model

CSS
1
star
48

vss-feeder

Component to convert signals from driving simulator or other source to VSS format and feed into an in-vehicle signal database
JavaScript
1
star
49

vsomeip_py

Python module to leverage COVESA / vsomeip stack.
Python
1
star
50

ev_power_optimization

PHP
1
star
51

commercial-vehicle-information-specifications

CSS
1
star