j7s-os/sample-apps/README.md

68 lines
1.9 KiB
Markdown

# Sample automotive applications
This directory contains a set of applications that demonstrate how
typical automotive applications use SOME/IP to talk to each
other. These apps work both natively and in a container, as
demonstated by the container sample image [described
here](https://sigs.centos.org/automotive/building/containers/).
## The apps
### engine-service
This is a very simple service with a single event that signals that
the car is reversing, which is regularly emitted.
### radio-service
This is a service that emulates a radio, regularly publishing
information about the current song, radio station and volume. It
accepts requests to turn on/off, switch channel, and change volume.
If the engine service is available it will listen for events from it
and temporarily lower the volume while reversing.
### radio-client
This is a command line program that displays the current state of the
radio service, as well as allow you to control it. The keyboard controls
are displayed on the screen.
## Building
The apps depend on boost and vsomeip3, and can be build with cmake like this:
```
$ cmake .
$ make
```
There is also a makefile that allows building rpms and srpms:
```
$ make -f Makefile.rpm srpm
$ make -f Makefile.rpm rpm
```
These rpms, in addition to required dependencies (dlt-daemon,
vsomeip3) are pre-build for cs9 it in [this copr
repo](https://copr.fedorainfracloud.org/coprs/alexl/cs9-sample-images/packages/).
Additionally, there is a
[Containerfile.auto-apps](Containerfile.auto-apps) file that allows
installing these apps into a container, using the above rpms. You can
build it like this:
```
$ podman build -f Containerfile.auto-apps
```
Or use the Makefile.container helpers:
```
$ make -f Makefile.container build
```
A pre-built version of these containers for aarch64 and x86-64 is
available in the [automotive sig container
repo](https://gitlab.com/CentOS/automotive/sample-images/container_registry/2944592).