|
|
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
|
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, 07:37 AM
|
#2 (permalink) |
|
Member
![]() Join Date: Nov 2009
Posts: 321
Likes Received: 1
Thanks: 2
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, 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
|
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, 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
|
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 Christof |
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
|
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, 03:34 AM
|
#7 (permalink) | |
|
Member
![]() Join Date: Sep 2009
Posts: 64
Likes Received: 2
Thanks: 0
Thanked 24 Times in 10 Posts
|
Quote:
export LANG=en_EN.UTF-8 bevor start. Thank you that you are working on it |
|
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
|
@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, 03: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,220
Likes Received: 546
Thanks: 90
Thanked 8,534 Times in 2,806 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, 08:26 PM
|
#13 (permalink) |
|
Member
![]() ![]() Join Date: Nov 2009
Location: Germany
Posts: 145
Likes Received: 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, 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
|
@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, 08:53 AM
|
#15 (permalink) | |
|
Member
![]() ![]() Join Date: Nov 2009
Location: Germany
Posts: 145
Likes Received: 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 |
|
02/06/2010, 09:00 AM
|
#16 (permalink) |
|
Member
![]() ![]() Join Date: Nov 2009
Location: Germany
Posts: 145
Likes Received: 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) I used --enable-binding-dbus but configure disables dbus anyway... |
02/06/2010, 09:07 AM
|
#17 (permalink) | |
|
Member
![]() ![]() Join Date: Nov 2009
Location: Germany
Posts: 145
Likes Received: 0
Thanks: 9
Thanked 59 Times in 23 Posts
|
Quote:
|
|
02/06/2010, 05:46 PM
|
#18 (permalink) |
|
Member
![]() ![]() Join Date: Nov 2009
Location: Germany
Posts: 145
Likes Received: 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
|
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
|
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, 06:09 AM
|
#20 (permalink) |
|
Member
![]() ![]() Join Date: Nov 2009
Location: Germany
Posts: 145
Likes Received: 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
|
![]() |
|
| Thread Tools | |
| Display Modes | |
|
|



