Timo Kokkonen [Sun, 22 Nov 2009 08:35:58 +0000 (10:35 +0200)]
gps.c: Do not accept location data unless the fix accuracy is within one kilometer.
The first position coming from liblocation might be aquired by network
position and the error can be very large. Thus, it makes sense to not
accept the position data unless the position is accurate enough.
The previous 10km threshold was causing big glitches. 1km threshold
should be more than enough for any normal use cases.
Signed-off-by: Timo Kokkonen <kaapeli@itanic.dy.fi>
Timo Kokkonen [Wed, 18 Nov 2009 16:32:48 +0000 (18:32 +0200)]
path.c: Add a more intelligent "Have we moved enough?" logic
The old logic did not have any good way of judging whether there was
any reason for adding a track point. Now that liblocation provides us
a rather realistic horizontal accuracy estimate in meters, we can use
that to add track points only when we know the user has really moved
somewhere. This patch rejects all track points when we can estimate
suggests that the movement is within the noise.
In future this should be a configurable threshold with an option to
disable the logic altogether.
Signed-off-by: Timo Kokkonen <kaapeli@itanic.dy.fi>
Timo Kokkonen [Wed, 18 Nov 2009 16:13:03 +0000 (18:13 +0200)]
gps.c: Improve GPS data handling
Even if there is no GPS fix available, the coordinates aquired by
network positioning should still be used to move the mark in
approximate location on the map. Furthermore, this patch adds various
checks to see whether the fields in question are really set by
liblocation.
Signed-off-by: Timo Kokkonen <kaapeli@itanic.dy.fi>
Timo Kokkonen [Wed, 18 Nov 2009 16:17:46 +0000 (18:17 +0200)]
gps.c: When there is no fix available, put the receiver in "RCVR_UP" mode
If this is not done, a "Searching for a GPS receiver" notification is
shown to user. However, this is not the case. We are not searching for
the receiver, we are trying to acquire GPS fix. Changing the receiver
state correctly fixes this problem. The map mark is also kept moving,
in case there is location information available from network
positioning even though we don't have a GPS fix yet.
Signed-off-by: Timo Kokkonen <kaapeli@itanic.dy.fi>
Timo Kokkonen [Thu, 19 Nov 2009 19:01:29 +0000 (21:01 +0200)]
gps.c: Add horizontal and vertical accuracy information
-liblocation provides the horizontal accuracy information in
centimeters. It is being converted to meters before giving to mapper.
-The vertical accuracy information unit is not documented in
liblocation. It is being divided by 10 in attempt of converting it to
meters. That way it reflects quite accurately on the fluctuation of
the actual altitude number. Never the less, 10 is just a guess number
to make it look right.
Signed-off-by: Timo Kokkonen <kaapeli@itanic.dy.fi>
Timo Kokkonen [Mon, 16 Nov 2009 18:47:03 +0000 (20:47 +0200)]
display.c: Change the default colour of unused satellites in gps detail panel
Since the default theme colours in N900 are quite dark, it's bit hard
to see the satellite bars if they are drawn with black color against
the black background. This patch changes the default color to red.
Signed-off-by: Timo Kokkonen <kaapeli@itanic.dy.fi>
Timo Kokkonen [Mon, 14 Sep 2009 19:15:43 +0000 (22:15 +0300)]
Remove the arbitrary 12 satellite maximum limit
This patch allows there to be MAX_SATELLITES number of satellites in
view, as the 12 satellite limit is insufficient with liblocation. At
this moment it is defined as 24, which should be sufficient.
Signed-off-by: Timo Kokkonen <kaapeli@itanic.dy.fi>
Alberto Mardegan [Sat, 14 Nov 2009 20:03:24 +0000 (22:03 +0200)]
Create View dialog
This dialog takes two items (auto center and auto rotate) out of the
application menu.
It's activated via the settings icon, instead of the settings menu.
Alberto Mardegan [Thu, 12 Nov 2009 19:14:47 +0000 (21:14 +0200)]
Add script to build icons
Add a script that is used to composite the icon of the action with the
background of the button (btn-background.png). It makes use of the "composite"
tool, which in ubuntu is provided by the imagemagick package.
Also, add two sample icons for GPS enable/disable (better ones coming soon!)
Alberto Mardegan [Sun, 25 Oct 2009 08:54:01 +0000 (10:54 +0200)]
MapDialog: assign response ID to buttons
map_dialog_create_button() now takes the dialog response ID as parameter.
Rewrite the code in cmenu to adjust to this change, and also make it so that
the dialog is closed before invoking the action.
Alberto Mardegan [Sat, 24 Oct 2009 14:50:36 +0000 (17:50 +0300)]
Update context menu for location
Provide a dialog that takes a Point and allows running the context actions from
the location item.
The old context menu is not removed, as it offered more than this.
Alberto Mardegan [Sat, 24 Oct 2009 11:08:27 +0000 (14:08 +0300)]
Convert screen pixels to map units
Add a static method to covnert screen pixels to map units, taking the rotation
into account.
Factor out that part of the function that can be used in the on_pointer_event
handler.
Alberto Mardegan [Sat, 24 Oct 2009 10:38:21 +0000 (13:38 +0300)]
Control input during actions
While some actions are active, it might be necessary to prevent the
on_pointer_event() to handle events that are being requested by the action (eg.
tap on the screen, rotate the map,...). Here we add two flags to control this.
Alberto Mardegan [Fri, 23 Oct 2009 16:52:04 +0000 (19:52 +0300)]
Complete drawing of route
Draw the waypoints along the route, as well as the next waypoint.
This patch also makes it so that the creation of the cairo context happens only once.
Alberto Mardegan [Wed, 21 Oct 2009 19:22:21 +0000 (22:22 +0300)]
Don't recommend connecting if already connected
This avoids a possible deadlock that was happening by choosing "Open route...",
cancelling the dialog and then choosing "Download route...".
Two ConIc events (with status connected) are being emitted in a row, when the
"Open route..." dialog is opened. This was probably confusing maemo-mapper.