Page tree
Skip to end of metadata
Go to start of metadata

Copyright notice


Preamble

This page described how to get, build and run the proof of concept (POC) for the navigation and map viewer APIs.

Code

The code of the POC, including the API, is available into this git repository: [1] A branch, named jupiter_release, contains the frozen version that implements the latest release of the APIs (GENIVI Jupiter release) The current master contains the freshets evolutions of the APIs, that are not yet approved by GENIVI.

Navigation OSS core

The POC is based on Navit and compliant with the Navigation APIs standardized by the GENIVI Alliance. The GENIVI APIs are implemented into navit plugins, running on DBus. The HMI is made in Qml

Test target

Ubuntu 14.04 LTS MinnowBoard and RENESAS (under Yocto) (to be documented soon)

Additional code

The POC uses some code hosted by separate repositories, navit and positioning.

Current versions of additional code

<current version of positioning> (git): bf00492981d71fead8c0615fae59b73b03a4fbac <current version of navit> (svn): 6084

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 and the cmakelists needs to be modified): 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

Now let's build the other parts:

cd ../../
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

 

  • No labels