TomTom

From Navit's Wiki
Jump to: navigation, search
Screenshot from a TomTom GO 910 running Navit.

Navit has been successfully ported to TomTom devices. However, the TomTom port is still experimental and some features do not work properly yet. This page lists the things that have been done so far and contains some detailed instructions on cross-compiling Navit and some required libraries for TomTom Linux. It also contains some setup instructions for using pre-compiled binaries available at http://www.navit-project.org/~xenos1984/navitom.tar.gz.

TomTom hardware[edit]

Lots of information on the hardware of various TomTom models has been collected at www.opentom.org (trough archive.org). These devices feature an ARM920T or ARM926EJ-S CPU.


GPS and GPS week rollover[edit]

Devices with SiRFstarIII receiver like Tomtom go 730 work without any additional driver. They output NMEA messages which can be read directly by navit. Since GPS week rollover the firmware fail to get a fix after suspend. Clearing the old ephemeris data bring the firmware to work again. Use this script to clear the receiver before you start navit.

#! /bin/bash
 
if [ $# != 1 ]
then
        echo usage: `basename $0` path_to_nmea_device
        exit
fi
 
stty raw 4800 <$1 || exit
if grep -m 1 GPRMC $1 |grep -q ,,,,,
then                                
        echo '\r' >$1
        echo '$PSRF101,0,0,0,0,0,0,12,2*16\r' >$1
fi


On the other hand Devices with Global Hammerhead v1 like Tomtom one XL have a closed source driver named "gltt" which translates the gps messages into real NMEA messages.

Also this firmware has such a bug. To get a fix set the date with "date -s 201907040957" and then call gltt with the option -fix_start cold

Memory[edit]

Nearly all Tomtom Devices feature 32MB of Memory so it is the most limited resource we have on the device.

Rest of hardware[edit]

As shown in the Hardware Variants table from opentom.org there are more features that a Tomtom contain which are not relevant for now.

Tomtom Software options[edit]

To use navit on a TomTom device you have the following options. As always in live there are advantages and disadvantages which you can find below. The table should help you to decide which option is most suitable for you.

Original Plugin NavitTom (custom embedded System)
Advantages
  • Works as intended (it's the original, so it's our truth)
  • Should be easy to install and use
  • Can use all device resources
  • we can add things then we need them
Disadvantages
  • Really really old
  • No map updates
  • Can not use all device resources
  • weird screen issues when two softwares are trying to write to the frame buffer (navit and tomtom navigation at the same time)
  • Not ready for prime time
  • We need to take care of updates
  • can't use up to date Linux kernels due to display support (for now)
Install WIP WIP WIP

OLD/WIP[edit]

TomTom GPS settings[edit]

Devices with SiRFstarIII receiver like Tomtom go 730 work with this setting:

<vehicle name="Local GPS" profilename="car" enabled="yes" active="1" lag="14" source="file:/dev/gpsdata" follow="1" >


Devices with Global Hammerhead v1 like Tomtom one XL work with this setting:

<vehicle name="Local GPS" profilename="car" enabled="yes" active="1" lag="14" source="file://var/run/gpspipe" follow="1" >

In a standalone setup without Tomtom environment Global Hammerhead v1 need a closed source driver named "gltt". It can be extracted from a original ttsystem file. gltt write to the named pipe /var/run/gpspipe

gltt is called like this sample: gltt -baud 115200 -periodic 1000 -fix_start cold -rftype HH_4L

You can get some informations about used device names in /proc/barcelona or the built in flash drive.

RAM memory issues[edit]

Most Tomtom devices like TomTom one XL have only 32MB RAM. Navigation in cities is almost unusable. Devices with 64MB like Tomtom 730 work with reduced routing depth like route_depth="4:15%,6:1%,8:10000,18:2000"

It is possible to build a full custom setup with the toolchain from https://github.com/george-hopkins/opentom With it its possible to activate swap to SD card. The toolchain is outdated and need several manual changes to compile.

Using pre-compiled binaries[edit]

There are some pre-compiled binaries available at http://www.navit-project.org/~xenos1984/navitom.tar.gz (this link always points to the most recently compiled version). See http://www.navit-project.org/~xenos1984/release/ for other / older versions. I have tested them successfully on a TomTom GO 910. For other TomTom models, it may be necessary to edit the navit.xml config file and adjust the screen size, the GPS data source...

In order to use the binaries above, unpack the file in the top directory of a TomTom device. Get some Navit map and place it in the navit/share/maps folder on your TomTom. Edit the config file navit/share/navit.xml as described below. Unplug your TomTom from the computer and let it reboot. If you touch the screen and enter the TomTom main menu, you should see a Navit icon (on the last page). Press this icon and a grey screen will appear. Be patient - it may take a few seconds. But finally you should see a map. Have fun!

A more recent version (R7045) can be found here https://1390-30791823-gh.circle-artifacts.com/2/tmp/circle-artifacts.xgv65b2/navitom.zip It does not provide a config for 320x240 screens but it has translations and multilingual speech.

See also[edit]