webOS Nation Forums >  Homebrew >  WebOS Internals > Navit for Pre?
Navit for Pre?

  Closed Thread
 
LinkBack Thread Tools Display Modes
Old 01/14/2010, 04:02 AM   #1 (permalink)
Member
 
Join Date: Sep 2009
Posts: 64
Likes Received: 2
Thanks: 0
Thanked 24 Times in 10 Posts
Default Navit for Pre?

Hi,

because we do not have any true navigation app for the pre perhaps navit (Navit - Car navigation system) could be the solution?

I know from the openmoko project (Navit - Openmoko) that it runs on this device and the created a layout for mobile phones. SDL is used by navit so if the other libraries are there it should not be too hard to compile for the Pre.

I am very sorry that I do not have the time to give it a shot but perhaps someone else could do.

I think it would be a very very useful app!

Let me know what you think.
SebastianHa is offline  
Old 01/14/2010, 07:37 AM   #2 (permalink)
Member
 
Join Date: Nov 2009
Posts: 321
Likes Received: 1
Thanks: 2
Thanked 61 Times in 29 Posts
Default

i love the idea! and the possibility to use OSM Vector maps instead of those genereate map pictures you not only have to download but if saved very big if you collect them for a bigger region.
Hoe someone tries to port it.
Sonic-NKT is offline  
Old 01/15/2010, 01:54 PM   #3 (permalink)
Member
 
Join Date: Oct 2009
Location: Germany
Posts: 31
Likes Received: 0
Thanks: 1
Thanked 4 Times in 3 Posts
Default

Hi

this week I tried to get it running, but at the moment I only get a black window and a crash after a second. Hopefully I will have time this weekend to get it to run. I will report as soon I have something new.

Kind regards
cmusik is offline  
Old 01/16/2010, 08:07 AM   #4 (permalink)
Member
 
Join Date: Oct 2009
Location: Germany
Posts: 31
Likes Received: 0
Thanks: 1
Thanked 4 Times in 3 Posts
Default

Ok, I'm a step further. I can see a map now. But touchscreen input is not working. Has anybody experience in this topic?

Kind regards,
Christof
cmusik is offline  
Old 01/17/2010, 11:23 AM   #5 (permalink)
Member
 
Join Date: Oct 2009
Location: Germany
Posts: 31
Likes Received: 0
Thanks: 1
Thanked 4 Times in 3 Posts
Default

From what I could find out, the problem is somewhere between sdl and webos. Since the sourcecode of the interesting parts is not open I can't figure out what is happening there.

The problem with the input it self is, that the mainloop which polls the events is not running. It is stuck in a deadlock (the semaphore is blocking). Maybe someone reads this and have an idea what I could try.

Code:
0x3573663c in pthread_cond_wait@@GLIBC_2.4 () from /lib/libpthread.so.0
(gdb) info threads
  2 Thread 0x368c1490 (LWP 24208)  0x35738de4 in sem_wait@@GLIBC_2.4 () from /lib/libpthread.so.0
* 1 Thread 0x35574b40 (LWP 24205)  0x3573663c in pthread_cond_wait@@GLIBC_2.4 () from /lib/libpthread.so.0
(gdb) bt     
#0  0x3573663c in pthread_cond_wait@@GLIBC_2.4 () from /lib/libpthread.so.0
#1  0x355d3010 in g_main_context_wait () from /usr/lib/libglib-2.0.so.0
#2  0x355d4dc8 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#3  0x0001a1f4 in event_glib_main_loop_run () at event_glib.c:34
#4  0x00021054 in event_main_loop_run () at event.c:36
#5  0x00011a4c in main_real (argc=3, argv=0x9e940c44) at start_real.c:178
#6  0x00011160 in main (argc=3, argv=0x9e940c44) at start.c:25
(gdb) thread 2
[Switching to thread 2 (Thread 0x368c1490 (LWP 24208))]#0  0x35738de4 in sem_wait@@GLIBC_2.4 () from /lib/libpthread.so.0
(gdb) bt
#0  0x35738de4 in sem_wait@@GLIBC_2.4 () from /lib/libpthread.so.0
#1  0x3594a3b8 in SDL_SemWait () from /usr/lib/libSDL-1.2.so.0
#2  0x35949368 in IActivateCallback () from /usr/lib/libSDL-1.2.so.0
#3  0x35a4807c in NCard::onFullScreenEnabled () from /usr/lib/libnapp.so
#4  0x35a48454 in NCard::onMessageReceived () from /usr/lib/libnapp.so
#5  0x35b2e150 in PIpcChannel::dispatchIncomingAsyncMessages () from /usr/lib/libLunaSysMgrIpc.so
#6  0x35b2f8dc in PIpcChannel::processIncomingMessages () from /usr/lib/libLunaSysMgrIpc.so
#7  0x35b2fa6c in PIpcChannel::ioCallback () from /usr/lib/libLunaSysMgrIpc.so
#8  0x35b300e0 in PrvDispatch () from /usr/lib/libLunaSysMgrIpc.so
#9  0x355d1b48 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#10 0x355d4bfc in g_main_context_iterate () from /usr/lib/libglib-2.0.so.0
#11 0x355d4f10 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#12 0x35a4ad34 in NApp_EnterEventLoop () from /usr/lib/libnapp.so
#13 0x3594991c in SDL_WebOsEventLoop () from /usr/lib/libSDL-1.2.so.0
#14 0x358efe94 in SDL_WebOsEventThread () from /usr/lib/libSDL-1.2.so.0
#15 0x358f6b38 in SDL_RunThread () from /usr/lib/libSDL-1.2.so.0
#16 0x35949fc8 in RunThread () from /usr/lib/libSDL-1.2.so.0
#17 0x3572f918 in start_thread () from /lib/libpthread.so.0
#18 0x35839268 in clone () from /lib/libc.so.6
Backtrace stopped: frame did not save the PC
Thanks,
Christof
cmusik is offline  
Thanked by HaPe, Holliefant
Old 01/17/2010, 03:19 PM   #6 (permalink)
Member
 
Join Date: Nov 2009
Posts: 321
Likes Received: 1
Thanks: 2
Thanked 61 Times in 29 Posts
Default

maybe dtzWill can help you, hes working on touchscreen input in quake and VBA.
Hope you get this working in the future, would be very cool
Thank you for the work you put into the project
Sonic-NKT is offline  
Old 01/18/2010, 03:34 AM   #7 (permalink)
Member
 
Join Date: Sep 2009
Posts: 64
Likes Received: 2
Thanks: 0
Thanked 24 Times in 10 Posts
Default

Quote:
Originally Posted by cmusik View Post
Hi

this week I tried to get it running, but at the moment I only get a black window and a crash after a second. Hopefully I will have time this weekend to get it to run. I will report as soon I have something new.

Kind regards
I am not shure but I heard about a problem that causes a crach when the LANG environment var is not set. Try to set:

export LANG=en_EN.UTF-8

bevor start.

Thank you that you are working on it
SebastianHa is offline  
Old 01/18/2010, 04:28 AM   #8 (permalink)
Member
 
Join Date: Oct 2009
Posts: 52
Likes Received: 0
Thanks: 27
Thanked 3 Times in 3 Posts
Default

This would be very great.
I really do hope you get Navit to work with the Pre, here in germany I really miss a Navi Software.
Holliefant is offline  
Old 01/18/2010, 04:44 AM   #9 (permalink)
Member
 
kdogokc's Avatar
 
Join Date: Oct 2008
Posts: 63
Likes Received: 0
Thanks: 10
Thanked 3 Times in 3 Posts
Default

huge need on the pre. I've been hiking with the pre & expected google maps to work, but had no way of "downloading" maps on the pre. I was out of data range
kdogokc is offline  
Old 01/18/2010, 03:19 PM   #10 (permalink)
Member
 
Join Date: Oct 2009
Location: Germany
Posts: 31
Likes Received: 0
Thanks: 1
Thanked 4 Times in 3 Posts
Default

@SebastianHa: setting LANG didn't help

I got a little step further and wrote a simple test program. IMO the problem has something to do with the implementation of glib and sdl in webos. Together they don't work. Because I'm not an sdl nor a glib programmer, so I'm not 100% sure if there is something wrong with my implementation. At least it works the same as in navit and gives similar backtraces in gdb.

Attached you can see the code and a binary. If you run it with a parameter it uses my implemented mainloop and everything works as expected. Without parameter it uses g_main_loop_run and hangs at the same functions like navit.

Kind regards,
Christof
Attached Files
File Type: zip glib-test.zip (6.8 KB, 18 views) Email Attachment
cmusik is offline  
Old 01/21/2010, 03:21 AM   #11 (permalink)
Developer
 
rwhitby's Avatar
 
Join Date: Apr 2003
Location: Adelaide, Australia - follow @webosinternals on Twitter visit www.webos-internals.org and www.facebook.com/webosinternals
Posts: 10,220
Likes Received: 546
Thanks: 90
Thanked 8,534 Times in 2,806 Posts
Default

Quote:
Originally Posted by cmusik View Post
@SebastianHa: setting LANG didn't help

I got a little step further and wrote a simple test program. IMO the problem has something to do with the implementation of glib and sdl in webos. Together they don't work. Because I'm not an sdl nor a glib programmer, so I'm not 100% sure if there is something wrong with my implementation. At least it works the same as in navit and gives similar backtraces in gdb.

Attached you can see the code and a binary. If you run it with a parameter it uses my implemented mainloop and everything works as expected. Without parameter it uses g_main_loop_run and hangs at the same functions like navit.

Kind regards,
Christof
Are you using the WebOS Internals Development Kit?

WebOS Internals PDK - WebOS Internals

Feel free to drop into #webos-internals on Freenode IRC and chat to the folks there.

-- Rod
__________________
WebOS Internals and Preware Founder and Developer
You may wish to donate by Paypal to donations @ webos-internals.org if you find our work useful.
All donations go back into development.
www.webos-internals.org twitter.com/webosinternals facebook.com/webosinternals
rwhitby is offline  
Old 02/02/2010, 11:56 AM   #12 (permalink)
Member
 
Join Date: Oct 2009
Posts: 33
Likes Received: 0
Thanks: 0
Thanked 2 Times in 1 Post
Default

/push

does anybody has a solution ? Or does anybody try it again ? I need Navit on my Pre ^^

Last edited by MetBo; 02/02/2010 at 12:03 PM.
MetBo is offline  
Old 02/04/2010, 08:26 PM   #13 (permalink)
Member
 
debilater's Avatar
 
Join Date: Nov 2009
Location: Germany
Posts: 145
Likes Received: 0
Thanks: 9
Thanked 59 Times in 23 Posts
Default

@cmusik:

I've set up preware/cross-compile/nonworking/navit/ build with Makefile (web view). It compiles so far but it's missing gpsd support (I've added gpsd to nonworking/ too but it doesn't compile because of some weird python problem...) - IF gpsd is required anyway, which I'm not sure about...

There are also some useful hints in Openmoko forum thread (german) and in the Ubuntuusers wiki (german too)), perhaps this could help a bit.

Would be nice if we could coordinate our efforts
debilater is offline  
Old 02/06/2010, 04:28 AM   #14 (permalink)
Member
 
Join Date: Oct 2009
Location: Germany
Posts: 31
Likes Received: 0
Thanks: 1
Thanked 4 Times in 3 Posts
Default

@debilater:

Cool. This looks very good. Have you tried to start it? Maybe you could try my sample program. For me it looks like webos is having problem with glib and sdl. Maybe I should look to implement my own eventloop to avoid this. But then there is 1.4 coming soon which might fix that bug.

Regarding gpsd. I don't think we will need it. As far as I looked into the gps problem, it is that we could get the data over dbus. At least there are some dbus messages send when it is activated (dbus-monitor).

Kind regards,
Christof
cmusik is offline  
Old 02/06/2010, 08:53 AM   #15 (permalink)
Member
 
debilater's Avatar
 
Join Date: Nov 2009
Location: Germany
Posts: 145
Likes Received: 0
Thanks: 9
Thanked 59 Times in 23 Posts
Default

Quote:
Originally Posted by cmusik View Post
@debilater:
Cool. This looks very good. Have you tried to start it?
Yes, it looks like it's dying in the eventloop as you've encountered earlyier:

Code:
root@palm-webos-device: # usr/bin/navit                  
setting 'NAVIT_PREFIX' to 'usr'
navit:vehicle_new:invalid type 'gpsd'
navit:navit_init:no graphics
navit:main_real:Using 'usr/share/navit/navit.xml'
navit:event_main_loop_run:no event system set
Quote:
Originally Posted by cmusik View Post
Regarding gpsd. I don't think we will need it. As far as I looked into the gps problem, it is that we could get the data over dbus. At least there are some dbus messages send when it is activated (dbus-monitor).
Ok, I'll take gpsd support out. However that means, we'll have to build it with dbus support, for this to make work, we have to build libdbus with palm's patches (this should not be that difficult thanks to the WIDK framework), however I don't know what flags they used to build it and I don't know anything about dbus (e.g. navit's configure script asks for a dbus directory?)
debilater is offline  
Old 02/06/2010, 09:00 AM   #16 (permalink)
Member
 
debilater's Avatar
 
Join Date: Nov 2009
Location: Germany
Posts: 145
Likes Received: 0
Thanks: 9
Thanked 59 Times in 23 Posts
Default

This is the configure result for the moment:

Code:
Summary of your installation :
OpenGL gui  : DISABLED : you are missing libxmu glut quesoglc 
Maemo/Hildon: DISABLED
Garmin IMG  : DISABLED (you don't have libgarmin)
Plugins:             yes (default)
Postgresql:          no ( not executable)
Samplemap:           no (configure parameter)
NLS Support:         yes (system gettext support)
Font renderers:
  freetype:          yes (default)
Graphics types:
  android:  no (default)
  gtk_drawing_area:  no (default)
  qt_qpainter:       no (Package qt-mt present)
  win32:             no (default)
  OpenGL:            no (configure parameter)
  gd:                no (default)
  sdl:               yes (sdl present)
GUI types:
  gtk:               no (default)
  internal:          yes (default)
  win32:             no (default)
Bindings:
  dbus:              no (configure parameter)
  python:            no (configure parameter)
Speech types:
  android:           no (default)
  cmdline:           yes (default)
  dbus:              no (default)
  espeak:            yes (configure parameter)
  speech_dispatcher: no (libspeechd.h missing)
Vehicle types:
  android:           no (default)
  demo:              yes (default)
  file:              yes (default)
  gpsd:              no (no gps.h and no gpsd pkgconfig)
  gpsd_dbus:         no (default)
  gypsy:             no (package gypsy missing)
  maemo:             no (default)
  null:              no (default)
  wince:             no (default)
  iphone:            no (default)
(annoying they have iphone support in it, damned...)

I used --enable-binding-dbus but configure disables dbus anyway...
debilater is offline  
Old 02/06/2010, 09:07 AM   #17 (permalink)
Member
 
debilater's Avatar
 
Join Date: Nov 2009
Location: Germany
Posts: 145
Likes Received: 0
Thanks: 9
Thanked 59 Times in 23 Posts
Default

Quote:
However that means, we'll have to build it with dbus support, for this to make work, we have to build libdbus with palm's patches (this should not be that difficult thanks to the WIDK framework), however I don't know what flags they used to build it and I don't know anything about dbus (e.g. navit's configure script asks for a dbus directory?)
Ah, "dbus-lib" is alreay in there, adding it to dependencies and retrying ...
debilater is offline  
Old 02/06/2010, 05:46 PM   #18 (permalink)
Member
 
debilater's Avatar
 
Join Date: Nov 2009
Location: Germany
Posts: 145
Likes Received: 0
Thanks: 9
Thanked 59 Times in 23 Posts
Default

@cmusic:

I asked in #navit about the problem. To make a long story short: there are two threads and both use g_main_loop_run(), therefore we'd have to write our own sdl event loop system which handles tap and key events as well as timers and callbacks.

Here's the interessing part of the answer of a developer cp15:

Code:
[00:09] <debilater> we are trying to get navit running on the palm pre on webos
                    1.3.5. it builds so far and can be started, I get a fullscreen map
                    but no controls, because g_main_loop_run() is locked for some
                    unknown reason
[00:09] <debilater> Makefile we use to build and gdb bt output is here:
                    http://webos.pastebin.com/m24778a10
[00:10] <debilater> this is how it looks at the moment: 
                    http://www.23hq.com/4937299/5352771_767cf1b69346f5e44cbcaa8d7fbb6eba_large.jpg
[00:10] <cp15> Ah, are you the person who made the posting on sourceforge
                    about webos?
[00:11] <debilater> cp15: I think this was the other guy we are two :)
[00:11] <debilater> cp15: problem is the same though
[00:11] <cp15> Ah, ok
[00:12] <cp15> I will check the sdl sources what happens in IActivateCallback
[00:12] <debilater> we think sdl is waiting for some semaphore to return which
                    it doesn't and I don't know how to debug it further
[00:13] <debilater> oh - and we can't update or patch sdl because it's shipped
                    with the device so we are stuck with it, just in case
[00:13] <cp15> What is the other thread doing?
[00:13] <cp15> Yes, that's clear
[00:13] <debilater> http://webos.pastebin.com/m7a101410
[00:14] <cp15> Ah, looks like there is a sdl thread and a navit thread trying both
               to use g_main_loop
[00:14] <debilater> oops sounds bad
[00:18] <cp15> I guess you need to create a sdl event system for navit
[00:18] <debilater> ok and what's this? is there some docu how to do that?
[00:19] <debilater> but I don't need this for other sdl programs they run out of
                    the box
[00:20] <cp15> Yeah, but navit needs possibilities to set timers and react on i/o
[00:23] <cp15> You can take event_glib.c as a template
[00:23] <cp15> You can set the watch functions as a dummy right now, you need
               them only if you want gps (later...)
[00:24] <cp15> You need to implement add_timeout, I have found a short 
               documentation how to implement it in SDL
               http://www.meandmark.com/sdlopenglpart5.html
[00:24] <cp15> Also take a look at the next page
[00:25] <cp15> And for the main loop you need something like
[00:25] <cp15>      while(SDL_WaitEvent(&event))) {
[00:25] <cp15>          /* process event */
[00:25] <cp15>      }
[00:27] <cp15> For the idle functions you can also use a repeating timer (multi 
               parameter != 0) with a short timeout
[00:27] <cp15> That should get everything except gps working
[00:27] <cp15> When you are done, we can look into gps
[00:27] <cp15> Any questions so far?
[00:28] <debilater> cp15: ahm my brain segfaults wait a second :)
[00:28] <debilater> so do I have to handle touchscreen taps (aka mouseclicks)
                    and every single keypress in this event loop?
[00:29] <cp15> Yes, and the navit timers and idle callbacks
So - here we go
debilater is offline  
Old 02/08/2010, 05:03 AM   #19 (permalink)
Member
 
Join Date: Feb 2010
Posts: 3
Likes Received: 0
Thanks: 0
Thanked 1 Time in 1 Post
Smile navit map with sdl graphics

Hi,

I am working on navit, on fedora 9.
1)I have chosen graphics="sdl" and gui type="internal".
2)I have made the following changes
<vehicle name="Meins" enabled="no" active="1" follow="1" source="gpsd://localhost" position_coord_geo="4045.4701 N 7403.2405 W" speed="80" interval="1000">
3)At the time of running, i have chosen" --enable-gui-internal --enable-graphics-sdl".
4)sdl_image-devel is installed and SDL_image.h is also available.
5)When I execute navit, I get a black screen, with no map on it.(i get no errors)

Could you please let me know,what changes I should make, so as to obtain the map?
mobquest is offline  
Old 02/08/2010, 06:09 AM   #20 (permalink)
Member
 
debilater's Avatar
 
Join Date: Nov 2009
Location: Germany
Posts: 145
Likes Received: 0
Thanks: 9
Thanked 59 Times in 23 Posts
Default

Ahm - are you trying to crosscompile navit on fedora or to build it for fedora itself? In the first case: you'll have to use WIDK and in the latter case this might be the wrong forum
debilater is offline  
Closed Thread

 

Thread Tools
Display Modes



 


Content Relevant URLs by vBSEO 3.6.0