summaryrefslogtreecommitdiff
path: root/README
blob: 378620851af3e3a0ff3c58141f3199ff7faa80d6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
============================
Positioning Git Repository
============================

The Positioning repository is a collection of 6 proofs of concept:
* GNSSService
* SensorsService
* EnhancedPositionService
* LogReplayer
* PositionWebService

===============================
Directory Structure
===============================

enhanced-position-service   //3 enhanced-position-service PoCs (one with dbus interfaces, one with commonapi-dbus interfaces and one one with commonapi-someip interfaces)
gnss-service                //gnss-service PoC
log-replayer                //log-replayer-PoC
sensors-service             //sensors-service PoC
position-web-servce         //position-web-service PoC
architecture.png            //architecture overview
build-all.sh                //script to build the PoCs (usage: build-all.sh help) 
run-test.sh                 //script to run a quick test for each PoC (usage: run-test.sh help) 
positioning_x.y.bb          //version x.y of a Yocto recipe for the positioning PoCs


===============================
How To Build
===============================

To build the positioning proofs of concept please follow the following steps:
First create and enter the build folder
mkdir ./build
cd build

To build:
cmake ../
make

To build with tests:
cmake -DWITH_TESTS=ON -DWITH_DEBUG=ON ../
make

To build with tests and with dbus interfaces:
cmake -DWITH_DBUS_INTERFACE=ON -DWITH_FRANCA_DBUS_INTERFACE=OFF -DWITH_FRANCA_SOMEIP_INTERFACE=OFF -DWITH_TESTS=ON -DWITH_DEBUG=ON -DWITH_DLT=OFF -DCMAKE_BUILD_TYPE=Debug ../
make

To build with tests and with interfaces based on Franca and CommonAPI (see below how to configure CommonAPI):
cmake -DWITH_DBUS_INTERFACE=ON -DWITH_FRANCA_DBUS_INTERFACE=ON -DWITH_FRANCA_SOMEIP_INTERFACE=ON 
-DWITH_TESTS=ON -DWITH_DEBUG=ON -DWITH_DLT=OFF -DCMAKE_BUILD_TYPE=Debug 
-DCOMMONAPI_TOOL_GENERATOR=<path to generator> 
-DCOMMONAPI_DBUS_TOOL_GENERATOR=<path to generator> 
-DCOMMONAPI_SOMEIP_TOOL_GENERATOR=<path to generator> ../
make

===============================
Compiler Options and default setting
(see dependencies below)
===============================

option(WITH_ENHANCED_POSITION_SERVICE
       "Build the Enhanced Positioning Service" ON)
option(WITH_GNSS_SERVICE
       "Build the GNSS Service" ON)
option(WITH_LOG_REPLAYER
       "Build the Log Replayer" ON)
option(WITH_SENSORS_SERVICE
       "Build the Sensors Service" ON)
option(WITH_FRANCA_DBUS_INTERFACE
       "Build using the Franca DBus interfaces" OFF)
option(WITH_FRANCA_SOMEIP_INTERFACE
       "Build using the Franca SomeIP interfaces" OFF)
option(WITH_DBUS_INTERFACE
       "Build using the D-Bus interfaces" ON)
option(WITH_DEBUG
        "Enable the debug messages" OFF)
option(WITH_DLT
    "Enable DLT logging" OFF)
option(WITH_GPSD
    "Use GPSD as source of GPS data" OFF)
option(WITH_REPLAYER
    "Use REPLAYER as source of GPS data" ON)
option(WITH_TESTS
    "Compile test applications" OFF)
option(WITH_IPHONE
    "Use IPHONE as source of sensors data" OFF)

Just set the option to ON or OFF on the command line.

===============================
How To Test
===============================

To test the positioning proofs of concept please use the following test application (under top folder):
(please note that you need to build with -DWITH_TESTS=ON and -DWITH_DEBUG=ON to see something displayed)

./run-test.sh [command]

service:
  gnss            Test GNSSService
  sns             Test SensorsService
  enhpos          Test EnhancedPositionService
  repl            Test Replayer
  kill            Kill all test applications
  help            Print Help

===============================
Dependencies
===============================

DWITH_GPSD=ON requires that the package 'gpsd' is installed.
To install 'gpsd', please execute the following command:
sudo apt-get install gpsd libgps-dev

To test the enhanced-position-service (dbus-service) the packages 'libdbus-1-dev', libdbus-c++-dev' and 'xsltproc' must be installed.
To install these packages, please execute the following command:
sudo apt-get install libdbus-1-dev libdbus-c++-dev xsltproc

To test the enhanced-position-service (commonapi-service) the package CommonAPI and CommonAPI code generators must be installed.
Please see: 
http://git.projects.genivi.org/?p=ipc/common-api-runtime.git;a=blob;f=INSTALL
http://git.projects.genivi.org/?p=ipc/common-api-dbus-runtime.git;a=blob;f=INSTALL
http://git.projects.genivi.org/?p=ipc/common-api-dbus-tools.git;a=blob;f=INSTALL
http://git.projects.genivi.org/?p=ipc/common-api-tools.git;a=blob;f=INSTALL

DWITH_TESTS=ON enables the compilation of the test application(s).

DWITH_DLT=ON requires that the DLT-daemon is installed.
To download the DLT-daemon, just execute the following command:
git clone git://git.projects.genivi.org/dlt-daemon.git
To install the DLT-daemon, etxract the tarball and follow the 
instructions in the file install.txt.

DWITH_IPHONE=ON requires that the iPhone app 'SensorLogger' is
installed on a iPhone and that the option to broadcast the
sensor data is activated (port=5555).