[iPAQ] navman sleeve instructions for right now. gpsd too.

From: Russell Nelson <nelson.a.t.crynwr.com>
Date: Thu Jun 06 2002 - 20:21:37 EDT

Jamey Hicks relates that he also has a Navman sleeve. Okay, so to get
people going right now, here's what you need.

I sent a patch to AndyC to h3600_generic_sleeve.c. I don't think it's
gotten out of CVS into binaries in Familiar unstable yet. Probably is
already on Lorien. You'll need that kernel module, or you'll never
get any interrupts.

In addition, you'll need to do this:
        setserial /dev/tts/0 baud_base 230400 spd_hi
by hand, at least until I get it into whichever of
/etc/hotplug/sleeve.agent or /etc/hotplug/sleeve.rc it goes in. I
might also be able to get it into the Navman sleeve driver.

You should also comment out the "anonymous" entry in
/etc/pcmcia/config, because the Navman ends up being anonymous, and
has no access to the uart if the PCMCIA code has grabbed it first.
/etc/init.d/pcmcia reload will make it take effect.

You also need the following gpsd configuration, stored in
/etc/gpsd.conf:

# This configuration is for the Navman:
# set the speed to the highest possible
-s 57600
# it sits on the serial port
-p /dev/tts/0

By the way, I'm particularly proud of the way gpsd and gpsd.bin work
together. This is gpsd, a two-line shell script:
    #!/bin/sh
    exec /usr/sbin/gpsd.bin `/bin/grep -v '^#' /etc/gpsd.conf`

You can test gpsd with netcat:
        nc localhost 2947
enter the 'r' command followed by return. You should see a bunch of
NMEA strings similar to this:

$Version 2.0.2M01121 BWC ADS
$Navman 1.1.3
$TOW: 0
$WK: 1112
$POS: 6378137 0 0
$CLK: 78079
$CHNL:12
$Baud rate: 57600 System clock: 12.277MHz
$HW Type: S2AR

pygps requires gpsd. gpsdrive will use it. zgps (QPE gps
application) will use it. And it's nice to have because even while
pygps is using it, other applications can get location information,
e.g. your position, like this:
    echo p | nc localhost 2947
will spit back this:
    GPSD,P=0.000000 0.000000
that's latitude and longitude in signed decimal degrees. If you can
open a socket from your application, you can get position information,
and the status as well. Like this:
    echo ps | nc localhost 2947
returns this, with the status. Eminently parsable.
    GPSD,P=0.000000 0.000000,S=0
Natch, a status of 0 means no sync.

Every application should attempt to open port 2947 on localhost and
get position information. Because then, it can record not only what
the user asked it to, but the current location as well.

Once you've got gpsd working, pygps will work out of the box with the
Navman sleeve. Next, I'm going to add Terraserver map downloading to
pygps. All we need is universal 802.11b coverage and you'll not only
be somewhere, but you'll know exactly where you are and you'll have a
topographic map of the area, too! And satellite imagery as well!

-- 
-russ nelson              http://russnelson.com | I don't want to give up
Crynwr sells support for free software  | PGPok | essential liberty to obtain
521 Pleasant Valley Rd. | +1 315 268 1925 voice | a little temporary safety.
Potsdam, NY 13676-3213  | +1 315 268 9201 FAX   | Is anyone listening to me?
Received on Fri Jun 07 00:21:42 2002

This archive was generated by hypermail 2.1.8 : Tue May 04 2004 - 09:44:51 EDT