8000 GitHub - empeg/gpsapp: vector map GPS routing application for the empeg car player
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

empeg/gpsapp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

71 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GPS application for the Empeg/RioCar player.

Requirements

- Empeg / RioCar player ;)
- Hijack kernel v309 (or later)
- Python to convert downloaded routes on the desktop.

Installation

- Upload "gpsapp" to your empeg and make sure they are executable (chmod 755).
  Suggested location, /drive0/var/gpsapp/gpsapp

- Add the following to a [hijack] section in config.ini.

  ;@DC ;@EXEC_ONCE /drive0/var/gpsapp/gpsapp

- At this point, when the player starts in the car (or forced to DC mode
  with hijack), gpsapp will be started and will show up as GPSapp in the
  hijack menu.

- When selected in the hijack menu, it should initially show 'Waiting
  for data from GPS receiver'. This message will be visible until either
  data is received over the serial port, presumably from the GPS, or a
  button is pressed.

- Once any input is received you are in the 'satellite signal strength'
  view. This shows signal strength bars in the left of the screen, and
  approximate satellite positions in the right hand. As long as we
  haven't received any of this info it shows 'Looking for satellites',
  some GPS's never send this information, others will only start sending
  it once they have achieved a 'fix'.

  If nothing happens, your gps might not be set up correctly to output
  NMEA. You might have to change the protocol to TSIP (for trimble), or
  earthmate (for delorme earthmate), or figure out how to get NMEA at
  4800 baud from your specific GPS receiver.

  Long press the down button (2-3 secs) and you're in the map screen,
  down, and a couple of left or right button presses should bring you to
  the 'coordinates' toggle. Turn it on by pressing down again and the
  last know location should show in the top-left of the screen. If it is
  0.0/0.0 we haven't received any location information from the GPS
  receiver.

- Driving instructions are converted from the route descriptions embedded
  in the pages you get from http://maps.google.com. Save a page with
  directions as HTML and run the python script 'parse_google.py' to convert
  it to a route file for gpsapp.

  Routes are preprocessed on the desktop because we have to map from
  geodetic coordinates in the NAD27 CONUS datum to a transverse mercator
  projection in the WGS84 (gps) datum. Which involves a lot of floating
  point operations that are dreadfully slow on the empeg. About 3 sec.
  to project ~1200 points from geodetic to TM even if the datum
  conversion was already done before. Without the projection we can draw
  the same amount of data to the screen in a few milliseconds.
  
  By default, gpsapp will look for routes in /programs0/routes, see
  notes at the end. You could also put the routes in
  /drive0/var/gpsapp/routes and add a config.ini section as follows,

  [gpsapp]
  routedir=/drive0/var/gpsapp/routes

- Static configuration can be done in config.ini. Options go in a
  [gpsapp] section, and are:
  o protocol=[nmea|tsip|earthmate]
    select protocol we use to talk to the GPS. Most gps's will work fine
    in NMEA, which is also the default setting.
  o visual=[sats|map|route]
    select default visual mode
  o metric=[true|false]
    select meters if true, miles if false
  o gpscoords=[true|false]
    show latitude and longitude on the map screen if true
  o coord_format=[DDD|DMM|DMS]
    coordinate format
  o track=[true|false]
    display previously traversed track if true
  o scale=[true|false]
    show map scale (in map mode) if true
  o popups=[true|false|permanent] 
    show waypoint text popups when near the waypoint if true, always if
    permanent, never if false
  o time=[true|false]
    show time to next waypoint if true, distance if false
  o serialport=/dev/serial
    the path to the serial port you wish to use. defaults to /dev/ttyS1
  o coldstart=[true|false]
    allow GPS coldstart. defaults to true. only works for Zodiac-based GPS
    units, like Earthmate and Rand McNally
  o routedir=/programs0/routes
    allows you to change the default directory for loading routes

Short operating instructions

- Select the entry "GPSapp" in the Hijack menu.
- gpsapp will wait until it either receives something from the gps
  attached to the serial port, or a key is pressed.

- Satellite screen shows visible satellites and their signal strengths
    top button    exit the application
    bottom button (long-press)  switch to the map screen
		  (short-press) enter menu

- Map screen is a map of the route around the current location.
    top button    exit the application
    left button   zoom out
    right button  zoom in
    bottom button (long-press)  switch to the route screen
		  (short-press) enter menu
    knob rotation select previous/next waypoint in the currently loaded
		  route, doesn't do anything when no route is loaded.

- Route screen, shows the next 4 waypoints, or "No route loaded".
    top button    exit the application
    bottom button (long-press)  switch to the satellite screen
		  (short-press) enter menu
    knob rotation select previous/next waypoint in the currently loaded
		  route, doesn't do anything when no route is loaded.
    left/right	  same as knob rotate, select previous/next waypoint.

- Menu
    top button    exit the menu
    left button   previous menu entry
    right button  next menu entry
    bottom button select menu entry

- Load Route (selected from the menu)
    top button    exit the menu
    left button   previous route in /programs0/routes
    right button  next route in /programs0/routes
    bottom button load selected route


Misc notes
----------

By default, gpsapp looks for routes in /programs0/routes and have
/dev/hda2 mounted as /programs0. This way you don't have to worry about
reinstalling your routes whenever you install a new release of the
official empeg software. In-depth instructions can be found on the
wonderful "Unofficial Empeg/RioCar BBS" (http://empeg.comms.net/).

However those instructions typically involve installing empeg-preinit
with some additional scripts to get /programs0 mounted. It is possible
to do this without empeg-preinit by adding the following to config.ini
before any other ;@EXEC lines.

    ;@EXEC_ONCE /sbin/mount -oro -text2 /mnt/hda2 /programs0


gpsapp will try to open a connection to a local gpsd daemon. Normally
the loopback interface is not configured (and there is no gpsd running)
so it will automatically fall back on reading directly from the serial
port. If you want to run with gpsd, get an up-to-date gpsd (dbrashear
often posts new binaries on the empeg.comms.net BBS). Copy mini_ifconfig
and gpsd to the empeg and something like these EXEC_ONCE commands before
gpsapp is started.

    ;@EXEC_ONCE /programs0/mini_ifconfig
    ;@EXEC_ONCE /programs0/gpsd

About

vector map GPS routing application for the empeg car player

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •  
0