01/14/2010, 05:02 AM
|
|
|
Member
![]() Join Date: Sep 2009
Posts: 63
Likes: 1
Thanks: 0
Thanked 21 Times in 10 Posts
|
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. |
|
01/14/2010, 08:37 AM
|
#2 (permalink) |
|
Member
![]() Join Date: Nov 2009
Posts: 318
Likes: 1
Thanks: 1
Thanked 61 Times in 29 Posts
|
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. |
|
01/15/2010, 02:54 PM
|
#3 (permalink) |
|
Member
![]() ![]() Join Date: Oct 2009
Location: Germany
Posts: 31
Likes: 0
Thanks: 1
Thanked 4 Times in 3 Posts
|
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 |
|
01/17/2010, 12:23 PM
|
#5 (permalink) |
|
Member
![]() ![]() Join Date: Oct 2009
Location: Germany
Posts: 31
Likes: 0
Thanks: 1
Thanked 4 Times in 3 Posts
|
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: nFullScreenEnabled () from /usr/lib/libnapp.so#4 0x35a48454 in NCard: nMessageReceived () from /usr/lib/libnapp.so#5 0x35b2e150 in PIpcChannel::dispatchIncomingAsyncMessages () from /usr/lib/libLunaSysMgrIpc.so #6 0x35b2f8dc in PIpcChannel: rocessIncomingMessages () 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 [/code] Thanks, Christof |
|
Thanked by
HaPe, Holliefant
|
01/17/2010, 04:19 PM
|
#6 (permalink) |
|
Member
![]() Join Date: Nov 2009
Posts: 318
Likes: 1
Thanks: 1
Thanked 61 Times in 29 Posts
|
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
|
|
01/18/2010, 04:34 AM
|
|
|
|
Member
![]() Join Date: Sep 2009
Posts: 63
Likes: 1
Thanks: 0
Thanked 21 Times in 10 Posts
|
Quote:
export LANG=en_EN.UTF-8 bevor start. Thank you that you are working on it |
|
|
01/18/2010, 04:19 PM
|
#10 (permalink) |
|
Member
![]() ![]() Join Date: Oct 2009
Location: Germany
Posts: 31
Likes: 0
Thanks: 1
Thanked 4 Times in 3 Posts
|
@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 |
|
01/21/2010, 04:21 AM
|
#11 (permalink) | |
|
Developer
![]() ![]() Join Date: Apr 2003
Location: Adelaide, Australia - follow @webosinternals on Twitter visit www.webos-internals.org and www.facebook.com/webosinternals
Posts: 10,116
Likes: 464
Thanks: 90
Thanked 8,437 Times in 2,768 Posts
|
Quote:
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 |
|
|
02/04/2010, 09:26 PM
|
#13 (permalink) |
|
Member
![]() ![]() Join Date: Nov 2009
Location: Germany
Posts: 145
Likes: 0
Thanks: 9
Thanked 59 Times in 23 Posts
|
@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
|
|
02/06/2010, 05:28 AM
|
#14 (permalink) |
|
Member
![]() ![]() Join Date: Oct 2009
Location: Germany
Posts: 31
Likes: 0
Thanks: 1
Thanked 4 Times in 3 Posts
|
@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 |
|
02/06/2010, 09:53 AM
|
#15 (permalink) | |
|
Member
![]() ![]() Join Date: Nov 2009
Location: Germany
Posts: 145
Likes: 0
Thanks: 9
Thanked 59 Times in 23 Posts
|
Quote:
[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 [/code] 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?) |
|
|
02/06/2010, 10:00 AM
|
#16 (permalink) |
|
Member
![]() ![]() Join Date: Nov 2009
Location: Germany
Posts: 145
Likes: 0
Thanks: 9
Thanked 59 Times in 23 Posts
|
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) [/code] (annoying they have iphone support in it, damned...) I used --enable-binding-dbus but configure disables dbus anyway... |
|
02/06/2010, 10:07 AM
|
#17 (permalink) | |
|
Member
![]() ![]() Join Date: Nov 2009
Location: Germany
Posts: 145
Likes: 0
Thanks: 9
Thanked 59 Times in 23 Posts
|
Quote:
|
|
|
02/06/2010, 06:46 PM
|
#18 (permalink) |
|
Member
![]() ![]() Join Date: Nov 2009
Location: Germany
Posts: 145
Likes: 0
Thanks: 9
Thanked 59 Times in 23 Posts
|
@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 [/code] So - here we go
|
|
02/08/2010, 06:03 AM
|
#19 (permalink) |
|
Member
![]() Join Date: Feb 2010
Posts: 3
Likes: 0
Thanks: 0
Thanked 1 Time in 1 Post
|
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? |
|
02/08/2010, 07:09 AM
|
#20 (permalink) |
|
Member
![]() ![]() Join Date: Nov 2009
Location: Germany
Posts: 145
Likes: 0
Thanks: 9
Thanked 59 Times in 23 Posts
|
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
|
|









nFullScreenEnabled () from /usr/lib/libnapp.so
rocessIncomingMessages () from /usr/lib/libLunaSysMgrIpc.so




Linear Mode








