Release Navit


The Navit project has added a forum for discussions about Navit.

I'm awaiting my password now.

https://forum.navit-project.org/
I now have a password, but it does not do me any good.

When I try and log in, it claims cookies are blocked and won't allow it.

I've checked my settings, cookies are not blocked.

In fact, I would be unable to log into this forum if my cookies were blocked.

I am using Firefox in Linux.

I even tried Epiphany browser with the same result. I'm not sure you can even block cookies with that browser.

There does not seem to be any way to contact anyone at that web site either.
 
Last edited by a moderator:
The Navit project has added a forum for discussions about Navit.

I'm awaiting my password now.

https://forum.navit-project.org/
I now have a password, but it does not do me any good.

When I try and log in, it claims cookies are blocked and won't allow it.

I've checked my settings, cookies are not blocked.

In fact, I would be unable to log into this forum if my cookies were blocked.

I am using Firefox in Linux.

I even tried Epiphany browser with the same result. I'm not sure you can even block cookies with that browser.

There does not seem to be any way to contact anyone at that web site either.
Whatever was broken at navit-project.org appears to have been fixed. I was able to login today
 
I just installed navit after this tutorial. It seems to work so far, but I've got a problem with the GPS permissions.

Each time I connect my USB GPS device it gets mounted by udev as /dev/ttyACM0 without reading permission.

I have to sudo chmod a+r /dev/ttyACM0 each time.

Is there a way to give this permission automatically, or to give navit root rights out of the box?

EDIT: Solved.

I added myself to the groups tty and dialout.


sudo addgroup <username> tty
sudo addgroup <username> dialout

Then reboot.
 
Last edited by a moderator:
I just installed navit after this tutorial. It seems to work so far, but I've got a problem with the GPS permissions.

Each time I connect my USB GPS device it gets mounted by udev as /dev/ttyACM0 without reading permission.

I have to sudo chmod a+r /dev/ttyACM0 each time.

Is there a way to give this permission automatically, or to give navit root rights out of the box?

EDIT: Solved.

I added myself to the groups tty and dialout.


sudo addgroup <username> tty
sudo addgroup <username> dialout

Then reboot.
Maybe you could create a file in /etc/udev/rules.d/99-navitgps.rules with the following informations:

SUBSYSTEM=="usb", ATTRS{idVendor}=="1915", ATTRS{idProduct}=="7777", MODE="0664", GROUP="plugdev"

where idVendor and idProduct come from the following command:

Code:
udevadm info -a -n /dev/ttyACM0
 
Unfortunately the Pandora shuts down its sound system between announcements, so the first word is inaudible as the sound volume fades in.
I used something like

<speech type="cmdline" data="espeak -v german -a 200 'eeeh eeeh %s'" cps="15"/>in my navit.xml. Navit sounds a tad less competent, though. :) (I experimented with sth like espeak -m "<break time="2000ms"/> %s", but this version of espeak seems to ignore SSML directives.)With later Zaxxons/kernels, the sound cutoff seems to be less / irrelevant, what are your impressions?

I'm planning on packaging gpsd as a pnd, maybe with some configuration frontend wrapping... since this thread is rather old, I'd assume most people who want it have gpsd running already, but we'll see.
 
Unfortunately the Pandora shuts down its sound system between announcements, so the first word is inaudible as the sound volume fades in.
With later Zaxxons/kernels, the sound cutoff seems to be less / irrelevant, what are your impressions?
I havn't noticed any difference.

Of the issues I've run into, my proiritys are:

1) get the Pandora to reconnect after it has been asleep so I don't have to turn off bluetooth and turn it back on again.

2) get a decent default gui for the pandora

3) get search by street number working

4) If the name of the street you are to turn into is "ramp" find out what the next street it is connected to and have the speach synth say "ramp to (street name)" instead of "ramp"

5) fix the beginning of sentence being cut off by the sound driver.
 
The other GPS programs are in the menu under "education". This one gets put under accessories. Perhaps Geography, GPS, Navigation, or something a bit more relevant would be a better choice to put all of them in.
You can put a file named navit.ovr next to the navit.pnd with following content:
[Application-0]
title Navit
maincategory Education
maincategorysub1 MapsThese are categories from the freedesktop.org standard. (There, categories Education, Science and Utility are probable top categories.)You can also use a tool for creating the .ovr; minimenu can do that (and create new categories working in minimenu), or Caines OVR editor.
 
Last edited by a moderator:
FWIW gpsd is now available in OS feeds.
Ah, you're saying ist obtainable via opkg now?

Just yesterday uploaded the first package into the repo. Now the frontend will have to be rewritten. :)

Good to know at any rate. Thanks for the info.

btw, which version is it? I couldn't compile anything beyond 2.39,

Code:
/usr/include/qt4/QtCore/qatomic_i386.h:132: error: impossible constraint in ‘asm’
 
Last edited by a moderator:
Yes, it's 2.95 compiled without qt support (why does it want qt anyway?).
Good question. Looks like it was because of xgps/xgpsspeed (which is in the gpsd sources, but on debian usually delivered via gpsd-clients). These are pygtk clients. This is a very cursory assessment however... Good thinking to just skip it.

Well I guess I'll still pack a backup gpsd with my runner app, just in case, and put the beta online...

It'll be here then: http://repo.openpandora.org/?page=detail&app=gpsd.2.39.bukkit.9999&dp=true
 
As an aside, I've adapted and packed modrana 0.45.3 for the Pandora. (I had quite some trouble with the 0.39 there until I found out it was a documentation bug. sheesh.)

There are some improvements in it, though. I asked cube48 to make me a co-maintainer, so I might be able to put that there soon.
 
Last edited by a moderator:
I finally spent some time and fuddled around with the navit.xml file.
I have added the minimum basic functionality I think necessary for driving with a GPS to the on screen display.


Pointer to north relitive to traveling direction Name of next next street in route speed
pointer to destination relitive to traveling direction Name of next street in route altitude
crow flies distance to destination



distance on roads to destination
direction of next turn zoom in
distance to next turn Name of current street zoom out

My implementation is rather ugly, perhaps someone else can make it look good, but it has the functionality I want.

Hmm, I'm not allowed to attach a file, and I can't include the entire 7000 lines in a code block. so I have just included the relevent lines that need to be added to the <navit /navit> section of the navit.xml file.

Code:
		<osd enabled="yes" type="compass" x="-800" y="-465" w="100" h="125" font_size="400"/>
		<osd enabled="yes" type="navigation_next_turn" x="-800" y="-95"/> 
		<osd enabled="yes" type="text" label="${navigation.item[1].length}" x="-800" y="-25" w="100" h="25" font_size="400"/>
		<osd enabled="yes" type="text" label="${navigation.item.destination_length}" x="-800" y="-125" w="100" h="25" font_size="400"/>
		<osd enabled="yes" type="text" label="${navigation.item.destination_time[arrival]}" x="-800" y="-345" w="100" h="25" font_size="400"/>
		<osd enabled="yes" type="text" label="${navigation.item[1].street_name}" x="-700" y="-440" w="550" h="25" font_size="400"/>
		<osd enabled="yes" type="text" label="${navigation.item[2].street_name}" x="-700" y="-465" w="550" h="25" font_size="400"/>
		<osd enabled="yes" type="text" label="${vehicle.position_speed}" x="-150" y="-465" w="150" h="25" font_size="400"/>
		<osd enabled="yes" type="text" label="${vehicle.position_height}" x="-150" y="-440" w="150" h="25" font_size="400"/>
		<osd enabled="yes" type="text" label="${tracking.item.street_name}" x="-700" y="-25" w="550" h="25" font_size="400"/>
		<!-- Commands include gui_internal_menu, gui_internal_fullscreen, zoom_in and zoom_out.
			Usage of negative values change the button origins. x="0" y="0" specifies the top left, x="-0" y="-0" the bottom right corner.
			It's always the top left corner of the icon, so you need to consider the icon's size when you enter the values. -->
		<osd enabled="yes" type="button" x="0" y="0" command="gui.fullscreen=!gui.fullscreen" src="toggle_fullscreen.png"/>
		<osd enabled="no" type="button" x="-96" y="0" command="gui.menu(1)" src="menu.png"/>
		<osd enabled="yes" type="button" x="-60" y="-120" command="zoom_in()" src="zoom_in.png"/>
		<osd enabled="yes" type="button" x="-60" y="-60" command="zoom_out()" src="zoom_out.png"/>
 
Last edited by a moderator:
I finally spent some time and fuddled around with the navit.xml file.


I have added the minimum basic functionality I think necessary for driving with a GPS to the on screen display.

My implementation is rather ugly, perhaps someone else can make it look good, but it has the functionality I want.
I tried this out today, it needs a bit of tweaking.

Some freeways only have numbers, not names, so I need to add the systematic to the display.

Onramps & offramps have no names, and unfortunately, some simple offramps are built from several segments of unnamed road resulting in the next two streets displayed both being blank.

Speed text needs to be a bit bigger.

When I get this tweeked to a usable setup, I'll update the above post
 
Some freeways only have numbers, not names, so I need to add the systematic to the display.

Onramps & offramps have no names, and unfortunately, some simple offramps are built from several segments of unnamed road resulting in the next two streets displayed both being blank
I don't think there's anything Navit can do about this. The map data comes from OpenStreetMaps, if there's a problem or an improvement to be made you can update it yourself and then push the changes upstream so everyone can appreciate them.
 
Some freeways only have numbers, not names, so I need to add the systematic to the display.


Onramps & offramps have no names, and unfortunately, some simple offramps are built from several segments of unnamed road resulting in the next two streets displayed both being blank
I don't think there's anything Navit can do about this. The map data comes from OpenStreetMaps, if there's a problem or an improvement to be made you can update it yourself and then push the changes upstream so everyone can appreciate them.
Actually I can think of several things that they could do about this.

The simplest would be just scan the list of streets in the route and show the next one that actually has a name or number.

I increased the number of next streets in the route displayed to four, and that seems to be just enough to show me the name of the exit I am supposed to take on the very simple freeway interchanges I need to deal with. I can easily imagine that one might need as many as eight to deal with some of the more complicated interchanges in existence.
 
I made another attempt to work on the navit gui today.

In an attempt to solve the blank next street in route issue, I tried to add the command:


<osd name="next_street_cmdif" update_period="1" enabled="yes" type="cmd_interface" w="450" h="25" x="200" y="15" command='osd_set_attr("next_street_text","label",
( navigation.item[1].street_name!="" && navigation.item[1].street_name_systematic !="") ? navigation.item[1].street_name :
((navigation.item[2].street_name!="" && navigation.item[2].street_name_systematic !="") ? navigation.item[2].street_name :
((navigation.item[3].street_name!="" && navigation.item[3].street_name_systematic !="") ? navigation.item[3].street_name :
((navigation.item[4].street_name!="" && navigation.item[4].street_name_systematic !="") ? navigation.item[4].street_name : navigation.item[5].street_name
))))
' />


to the xml file.

Now Navit won't run.

It gives me the error: "./navit: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory"

The only version of libcrypto available in the repository is lybecrypto0.9.8, and opkg says it is installed correctly.

Even commenting this command from the XML file does not allow me to run navit again.

I must restart my pandora after commenting out this code from the xml file before navit will run again.

This is making extremely difficult to debug the xml file.
 
By using by desktop, I was able to fix a bunch of things, but I have been unable to make the above code work.

The following is my current OSD section of the navit.xml file:


<osd enabled="yes" type="compass" x="0" y="0" w="100" h="125" font_size="400"/>
<osd enabled="yes" type="navigation_next_turn" x="0" y="-95"/>
<osd enabled="yes" type="text" label="${navigation.item[1].length}" x="0" y="-25" w="100" h="25" font_size="400"/>
<osd enabled="yes" type="text" label="${navigation.item.destination_length}" x="0" y="-125" w="100" h="25" font_size="400"/>
<osd enabled="yes" type="text" label="${navigation.item.destination_time[arrival]}" x="0" y="135" w="100" h="25" font_size="400"/>
<osd enabled="yes" type="gps_status" x="-60" y="55"/>
<osd enabled="yes" type="text" label="${navigation.item[1].street_name}" x="200" y="75" w="450" h="25" font_size="400"/>
<osd enabled="yes" type="text" label="${navigation.item[1].street_name_systematic}" x="100" y="75" w="100" h="25" font_size="400"/>
<osd enabled="yes" type="text" label="${navigation.item[2].street_name}" x="200" y="50" w="450" h="25" font_size="400"/>
<osd enabled="yes" type="text" label="${navigation.item[2].street_name_systematic}" x="100" y="50" w="100" h="25" font_size="400"/>
<osd enabled="yes" type="text" label="${navigation.item[3].street_name}" x="200" y="25" w="450" h="25" font_size="400"/>
<osd enabled="yes" type="text" label="${navigation.item[3].street_name_systematic}" x="100" y="25" w="100" h="25" font_size="400"/>
<osd enabled="yes" type="text" label="${navigation.item[4].street_name}" x="200" y="0" w="450" h="25" font_size="400"/>
<osd enabled="yes" type="text" label="${navigation.item[4].street_name_systematic}" x="100" y="0" w="100" h="25" font_size="400"/>
<!-- <osd name="next_street_text" enabled="yes" type="text" label="initializing" x="200" y="0" />
<osd name="next_street_cmdif" update_period="1" enabled="yes" type="cmd_interface" w="450" h="25" x="200" y="0" command='osd_set_attr("next_street_text","label",
( (navigation.item[1].street_name != "") &amp;&amp; (navigation.item[1].street_name_systematic != "")) ? navigation.item[1].street_name :
(((navigation.item[2].street_name != "") &amp;&amp; (navigation.item[2].street_name_systematic != "")) ? navigation.item[2].street_name :
(((navigation.item[3].street_name != "") &amp;&amp; (navigation.item[3].street_name_systematic != "")) ? navigation.item[3].street_name :
(((navigation.item[4].street_name != "") &amp;&amp; (navigation.item[4].street_name_systematic != "")) ? navigation.item[4].street_name : navigation.item[5].street_name
)))))
' />
<osd name="next_systematic_text" enabled="yes" type="text" label="initializing" x="100" y="0" />
<osd name="next_systematic_cmdif" update_period="1" enabled="yes" type="cmd_interface" w="100" h="25" x="100" y="0" command='osd_set_attr("next_systematic_text","label",
( (navigation.item[1].street_name != "") &amp;&amp; (navigation.item[1].street_name_systematic != "")) ? navigation.item[1].street_name_systematic :
(((navigation.item[2].street_name != "") &amp;&amp; (navigation.item[2].street_name_systematic != "")) ? navigation.item[2].street_name_systematic :
(((navigation.item[3].street_name != "") &amp;&amp; (navigation.item[3].street_name_systematic != "")) ? navigation.item[3].street_name_systematic :
(((navigation.item[4].street_name != "") &amp;&amp; (navigation.item[4].street_name_systematic != "")) ? navigation.item[4].street_name_systematic : navigation.item[5].street_name_systematic
)))))
' />
-->
<!-- <osd enabled="yes" type="text" label="${navigation.item[1].street_name}" x="200" y="0" w="450" h="25" font_size="400"/>
<osd enabled="yes" type="text" label="${navigation.item[1].street_name_systematic}" x="100" y="0" w="100" h="25" font_size="400"/>
--> <osd enabled="yes" type="text" label="${tracking.item.street_name}" x="200" y="-25" w="450" h="25" font_size="400"/>
<osd enabled="yes" type="text" label="${tracking.item.street_name_systematic}" x="100" y="-25" w="100" h="25" font_size="400"/>
<osd enabled="yes" type="text" label="${vehicle.position_speed}" x="-150" y="0" w="150" h="30" font_size="500"/>
<osd enabled="yes" type="text" label="${vehicle.position_height}" x="-150" y="30" w="150" h="25" font_size="400"/>
<!-- Commands include gui_internal_menu, gui_internal_fullscreen, zoom_in and zoom_out.
Usage of negative values change the button origins. x="0" y="0" specifies the top left, x="-0" y="-0" the bottom right corner.
It's always the top left corner of the icon, so you need to consider the icon's size when you enter the values. -->
<osd enabled="yes" type="button" x="0" y="0" command="gui.fullscreen=!gui.fullscreen" src="toggle_fullscreen.png"/>
<osd enabled="no" type="button" x="-96" y="0" command="gui.menu(1)" src="menu.png"/>
<osd enabled="yes" type="button" x="-60" y="-120" command="zoom_in()" src="zoom_in.png"/>
<osd enabled="yes" type="button" x="-60" y="-60" command="zoom_out()" src="zoom_out.png"/>


It is showing the next 4 roads in the rout since I have been unable to make the logic to display the next named street in the route work. (that code is commented out)
 
works perfectly big thanks !

btw:

<map type="binfile" data="$NAVIT_SHAREDIR/maps/your_map.bin" />

can also be altered to:

<map type="binfile" data="$NAVIT_SHAREDIR/maps/*.bin" />

this should include all maps of the directory

----- EDIT ----

<map type="binfile" data="$NAVIT_SHAREDIR/maps/*.bin" />   <- only includes the first map  

----- / EDIT -----

By using by desktop, I was able to fix a bunch of things, but I have been unable to make the above code work.

The following is my current OSD section of the navit.xml file:


<osd enabled="yes" type="compass" x="0" y="0" w="100" h="125" font_size="400"/>
<osd enabled="yes" type="navigation_next_turn" x="0" y="-95"/>
<osd enabled="yes" type="text" label="${navigation.item[1].length}" x="0" y="-25" w="100" h="25" font_size="400"/>
<osd enabled="yes" type="text" label="${navigation.item.destination_length}" x="0" y="-125" w="100" h="25" font_size="400"/>
<osd enabled="yes" type="text" label="${navigation.item.destination_time[arrival]}" x="0" y="135" w="100" h="25" font_size="400"/>
<osd enabled="yes" type="gps_status" x="-60" y="55"/>
<osd enabled="yes" type="text" label="${navigation.item[1].street_name}" x="200" y="75" w="450" h="25" font_size="400"/>
<osd enabled="yes" type="text" label="${navigation.item[1].street_name_systematic}" x="100" y="75" w="100" h="25" font_size="400"/>
<osd enabled="yes" type="text" label="${navigation.item[2].street_name}" x="200" y="50" w="450" h="25" font_size="400"/>
<osd enabled="yes" type="text" label="${navigation.item[2].street_name_systematic}" x="100" y="50" w="100" h="25" font_size="400"/>
<osd enabled="yes" type="text" label="${navigation.item[3].street_name}" x="200" y="25" w="450" h="25" font_size="400"/>
<osd enabled="yes" type="text" label="${navigation.item[3].street_name_systematic}" x="100" y="25" w="100" h="25" font_size="400"/>
<osd enabled="yes" type="text" label="${navigation.item[4].street_name}" x="200" y="0" w="450" h="25" font_size="400"/>
<osd enabled="yes" type="text" label="${navigation.item[4].street_name_systematic}" x="100" y="0" w="100" h="25" font_size="400"/>
<!-- <osd name="next_street_text" enabled="yes" type="text" label="initializing" x="200" y="0" />
<osd name="next_street_cmdif" update_period="1" enabled="yes" type="cmd_interface" w="450" h="25" x="200" y="0" command='osd_set_attr("next_street_text","label",
( (navigation.item[1].street_name != "") &amp;&amp; (navigation.item[1].street_name_systematic != "")) ? navigation.item[1].street_name :
(((navigation.item[2].street_name != "") &amp;&amp; (navigation.item[2].street_name_systematic != "")) ? navigation.item[2].street_name :
(((navigation.item[3].street_name != "") &amp;&amp; (navigation.item[3].street_name_systematic != "")) ? navigation.item[3].street_name :
(((navigation.item[4].street_name != "") &amp;&amp; (navigation.item[4].street_name_systematic != "")) ? navigation.item[4].street_name : navigation.item[5].street_name
)))))
' />
<osd name="next_systematic_text" enabled="yes" type="text" label="initializing" x="100" y="0" />
<osd name="next_systematic_cmdif" update_period="1" enabled="yes" type="cmd_interface" w="100" h="25" x="100" y="0" command='osd_set_attr("next_systematic_text","label",
( (navigation.item[1].street_name != "") &amp;&amp; (navigation.item[1].street_name_systematic != "")) ? navigation.item[1].street_name_systematic :
(((navigation.item[2].street_name != "") &amp;&amp; (navigation.item[2].street_name_systematic != "")) ? navigation.item[2].street_name_systematic :
(((navigation.item[3].street_name != "") &amp;&amp; (navigation.item[3].street_name_systematic != "")) ? navigation.item[3].street_name_systematic :
(((navigation.item[4].street_name != "") &amp;&amp; (navigation.item[4].street_name_systematic != "")) ? navigation.item[4].street_name_systematic : navigation.item[5].street_name_systematic
)))))
' />
-->
<!-- <osd enabled="yes" type="text" label="${navigation.item[1].street_name}" x="200" y="0" w="450" h="25" font_size="400"/>
<osd enabled="yes" type="text" label="${navigation.item[1].street_name_systematic}" x="100" y="0" w="100" h="25" font_size="400"/>
--> <osd enabled="yes" type="text" label="${tracking.item.street_name}" x="200" y="-25" w="450" h="25" font_size="400"/>
<osd enabled="yes" type="text" label="${tracking.item.street_name_systematic}" x="100" y="-25" w="100" h="25" font_size="400"/>
<osd enabled="yes" type="text" label="${vehicle.position_speed}" x="-150" y="0" w="150" h="30" font_size="500"/>
<osd enabled="yes" type="text" label="${vehicle.position_height}" x="-150" y="30" w="150" h="25" font_size="400"/>
<!-- Commands include gui_internal_menu, gui_internal_fullscreen, zoom_in and zoom_out.
Usage of negative values change the button origins. x="0" y="0" specifies the top left, x="-0" y="-0" the bottom right corner.
It's always the top left corner of the icon, so you need to consider the icon's size when you enter the values. -->
<osd enabled="yes" type="button" x="0" y="0" command="gui.fullscreen=!gui.fullscreen" src="toggle_fullscreen.png"/>
<osd enabled="no" type="button" x="-96" y="0" command="gui.menu(1)" src="menu.png"/>
<osd enabled="yes" type="button" x="-60" y="-120" command="zoom_in()" src="zoom_in.png"/>
<osd enabled="yes" type="button" x="-60" y="-60" command="zoom_out()" src="zoom_out.png"/>


It is showing the next 4 roads in the rout since I have been unable to make the logic to display the next named street in the route work. (that code is commented out)
 
Last edited by a moderator:
Back
Top