summaryrefslogtreecommitdiff
path: root/README
blob: 9ff56bfc30d5e14c33ec94b7b4c44745e2483933 (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
============================
Positioning Git Repository
============================

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

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

enhanced-position-service   //2 enhanced-position-service PoCs (one with dbus interfaces and one with commonapi interfaces)
gnss-service                //gnss-service PoC
log-replayer                //log-replayer-PoC
sensors-service             //sensors-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 interface based on Franca and CommonAPI (see below how to configure CommonAPI):
cmake -DWITH_DBUS_INTERFACE=ON -DWITH_FRANCA_INTERFACE=OFF -DWITH_TESTS=ON -DWITH_DEBUG=ON -DWITH_DLT=OFF ../
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_INTERFACE
       "Build using the Franca 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 commands:
sudo apt-get install gpsd
sudo apt-get install libgps-dev

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

To test the enhanced-position-service (commonapi-service) the package CommonAPI must be installed.
To install CommonAPI, please see http://git.projects.genivi.org/?p=ipc/common-api-dbus-runtime.git;a=blob;f=README

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).