-
Notifications
You must be signed in to change notification settings - Fork 0
empeg/gpsapp
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
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 0
No packages published