summaryrefslogtreecommitdiff
path: root/src/navigation/README
blob: d63e8322e2aa00240cdb7ca2d265dca67ad47ca3 (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
Release date of the file: 04-08-2015 
Status: OK

Project:
Navigation software based on Navit and compliant with the Navigation APIs standardized by the GENIVI Alliance
This project is one of the navigation-service common projects that implements the GENIVI navigation APIs.

More:
The GENIVI APIs are implemented into navit plugins, running on DBus. The HMI is made in Qml
See also other navigation projects like proof of concepts implemented for poi-service, traffic-info and positioning 

What is in:
This folder contains scripts for building Navit and the GENIVI plugins. It runs only the navigation middleware (without the HMI)
FYI: the application (with the HMI) is located into git://git.projects.genivi.org/lbs/navigation-application.git
     it's possible to build and run the whole stuff directly from that repository

Author: 
Martin Schaller <martin.schaller@it-schaller.de>
Philippe Colliot philippe.colliot@mpsa.com
Marco Residori marco.residori@xse.de

License: 
See headers and LICENSE file

Test target: 
Ubuntu 14.04 LTS

===============================
Current versions of additional code 
===============================
<current version of positioning> (git): 8bcb5aee2172bf1672b4402a2dbae480d5fbdc25
<current version of navit> (svn): 6135

===============================
How to get additional code 
===============================
Get positioning:
git clone http://git.projects.genivi.org/lbs/positioning.git ./positioning
cd positioning
git checkout <current version of positioning>
cd ../

Get navit:
svn checkout http://svn.code.sf.net/p/navit/code/trunk navit -r<current version of navit>

Now apply a patch to navit (The r5549 removed the  get_unique features used by GetSpell):
cd navit
patch -p0 -i ../patches/search_list_get_unique.diff
cd ../

Get the sample map:
wget -O ./map/switzerland.bin.tmp http://www.navit-project.org/switzerland.bin
mv ./map/switzerland.bin.tmp ./map/switzerland.bin

===============================
Directory Structure
===============================
map-viewer/
the plugins for the map rendering and manipulation (zoom, scroll..)
navigation-core/
the plugins for basic navigation features (location input, route calculation...)
poi-cam/
the plugins for poi content access module 
patches/
some patches to complete the navit code
map/
the map
navit/
basic code of navit
positioning/
the code of positioning

===============================
How To Build
===============================
(you're supposed to have got additional code before)
NB: potential issue may occur due to path change of freetype stuff. If necessary, add a link to /usr/include/freetype2/ into /usr/include 

Create and enter the build folder:
mkdir ./build
cd build

For the time being, navit is not being able to be built directly with the top CmakeLists.txt (to be improved), so it's needed to do it separately:
mkdir navit
cd navit
mkdir navit
cd navit
cmake -DDISABLE_QT=1 -DSAMPLE_MAP=0 -Dvehicle/null=1 -Dgraphics/qt_qpainter=0 ../../../navit/navit/
make
cd ../../

Now let's build the other parts:
cmake ../
make
cd ..

===============================
How To Run
===============================
./run -r

===============================
How To Test
===============================
(launch a new term and go to the CWD of this README)
cd ../../test/navigation
./test-route-calculation.py

If everything is OK, you must see:

Test PASSED

===============================
How To for Yocto
===============================
Due to a different way to manage the build, some specific settings are required:

cmake -DYOCTO_BUILD=ON ../