Skip to content

Commit

Permalink
Merge pull request #2994 from wagnerf42/master
Browse files Browse the repository at this point in the history
gipy: new release
  • Loading branch information
gfwilliams committed Sep 1, 2023
2 parents d792e5c + 93a8794 commit 5213110
Show file tree
Hide file tree
Showing 12 changed files with 1,771 additions and 1,446 deletions.
9 changes: 9 additions & 0 deletions apps/gipy/ChangeLog
Original file line number Diff line number Diff line change
Expand Up @@ -98,3 +98,12 @@
* New setting : power screen off between points to save battery
* Color change for lost direction (now purple)
* Adaptive screen powersaving

0.21:
* Jit is back for display functions (10% speed increase)
* Store, parse and display elevation data
* Removed 'lost' indicator (we now change position to purple when lost)
* Powersaving fix : don't powersave when lost
* Bugfix for negative remaining distance when going backwards
* New settings for powersaving
* Adjustments to powersaving algorithm
54 changes: 48 additions & 6 deletions apps/gipy/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ It provides the following features :
- toilets
- artwork
- bakeries
- display elevation data if available in the trace

## Usage

Expand All @@ -41,7 +42,7 @@ also a nice open source option.
Note that *mapstogpx* has a super nice feature in its advanced settings.
You can turn on 'next turn info' and be warned by the watch when you need to turn.

Once you have your gpx file you need to convert it to *gpc* which is my custom file format.
Once you have your gpx file you need to convert it to *gps* which is my custom file format.
They are smaller than gpx and reduce the number of computations left to be done on the watch.

Just click the disk icon and select your gpx file.
Expand Down Expand Up @@ -78,34 +79,75 @@ On your screen you can see:
* green: artwork
- a *turn* indicator on the top right when you reach a turning point
- a *gps* indicator (blinking) on the top right if you lose gps signal
- a *lost* indicator on the top right if you stray too far away from path

### Lost

If you stray away from path we will rescale the display to continue displaying nearby segments and
display the direction to follow as a purple segment.
If you stray away from path we will display the direction to follow as a purple segment. Your main position will also turn to purple.

Note that while lost, the app will slow down a lot since it will start scanning all possible points to figure out where you
are. On path it just needed to scan a few points ahead and behind.

The distance to next point displayed corresponds to the length of the black segment.
The distance to next point displayed corresponds to the length of the purple segment.

### Menu

If you click the button you'll reach a menu where you can currently zoom out to see more of the map
(with a slower refresh rate), reverse the path direction and disable power saving (keeping backlight on).

### Elevation

If you touch the screen you will switch between display modes.
The first one displays the map, the second one the nearby elevation and the last one the elevation
for the whole path.

![Screenshot](heights.png)

Colors correspond to slopes.
Above 15% will be red, above 8% orange, above 3% yellow, between 3% and -3% is green and shades of blue
are for descents.

You should note that the precision is not very good. The input data is not very precise and you only get the
slopes between path points. Don't expect to see small bumps on the road.

### Settings

Few settings for now (feel free to suggest me more) :

- lost distance : at which distance from path are you considered to be lost ?
- buzz on turns : should the watch buzz when reaching a waypoint ?
- disable bluetooth : turn bluetooth off completely to try to save some power.
- lost distance : at which distance from path are you considered to be lost ?
- wake-up speed : if you drive below this speed powersaving will disable itself
- active-time : how long (in seconds) the screen should be turned on if activated before going back to sleep.
- brightness : how bright should screen be ? (by default 0.5, again saving power)
- power lcd off (disabled by default): turn lcd off when inactive to save power. the watch will wake up when reaching points,
when you touch the screen and when speed is below 13km/h.

### Powersaving

Starting with release 0.20 we experiment with power saving.

There are now two display modes :

- active : the screen is lit back (default at 50% light but can be configured with the *brightness* setting)
- inactive : by default the screen is not lit but you can also power it off completely (with the *power lcd off* setting)

The algorithm works in the following ways :

- some events will *activate* : the display will turn *active*
- if no activation event occur for at least 10 seconds (or *active-time* setting) we switch back to *inactive*

Activation events are the following :

- you are near (< 100m) the next point on path
- you are slow (< *wake-up speed* setting (13 km/h by default))
- you press the button / touch the screen


Power saving has been tested on a very long trip with several benefits

- longer battery life
- waking up near path points will attract your attention more easily when needed

### Caveats

It is good to use but you should know :
Expand Down
8 changes: 7 additions & 1 deletion apps/gipy/TODO
Original file line number Diff line number Diff line change
Expand Up @@ -36,10 +36,16 @@ my conclusion is that:

**************************

JIT: array declaration in jit is buggy
(especially several declarations)

**************************

+ try disabling gps for more powersaving

+ when you walk the direction still has a tendency to shift

+ put back foot only ways
+ try fiddling with jit
+ put back street names
+ put back shortest paths but with points cache this time and jit
+ how to display paths from shortest path ?
Expand Down
Loading

0 comments on commit 5213110

Please sign in to comment.