| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Replace it wuth what it calls, gpsd_write(). Requiresd only a prototype
tweak and some casts, no logic changes. All regression tests pass.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
This is more global context that really needed to be per-device state. Instead,
create a per-devicd servicetype member to carry this information. Practically
apeaking, this means gpsd can now watch multiple NTRIP and DGPS sessions without
getting confused.
All regressuin tests pass.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
This reverts commit a7432bdc58d33f372c01939c9bcc9698bbd99c1c.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Also, make a multiple-open exception for ptys. Otherwise our regression-test
framework goes bust.
|
|
|
|
|
|
|
| |
This will help prevent gpsd from consuming data from devices such as USB modems
that happen to look like GPSes because they use a USB-to-serial adapter thar
we have whitelisted. Relies on there being a /proc filesystem with Linux-like
semantics.
|
|
|
|
|
|
|
| |
The two known cases where wakeup probes are indispencible (TNT and AC12)
are serial devices. Therefore, by simply suppressing wakeup emission on USB
sources, we avoid both spamming USB devices and requiring special setup
with gpsctl.
|
| |
|
|
|
|
|
|
| |
Some people assume a USB GPS is fast, and it may really only be
running at 4800 bps. This probably accounts for reports of gpsd
reporting slow clocks.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
More info:
1) /dev/ttySAC1 is a serial port used on samsung s3c2440 (e.g. openmoko
freerunner):
$ stat /dev/ttySAC1
File: `/dev/ttySAC1'
Size: 0 Blocks: 0 IO Block: 4096 character special file
Device: ch/12d Inode: 161 Links: 1 Device type: cc,41
Access: (0660/crw-rw----) Uid: ( 0/ root) Gid: ( 20/ dialout)
Access: 2010-10-19 01:23:13.893489000 +0300
Modify: 2010-10-18 20:21:22.089934000 +0300
Change: 2010-10-18 20:21:22.089934000 +0300
2) I think the problem is in gpsd_classify(). It assumes that
all serial ports have major number of 4. It even links to
ftp://ftp.kernel.org/pub/linux/docs/device-list/devices-2.6+.txt
as a reference. However, that file nowadays lists also
204 char Low-density serial ports
0 = /dev/ttyLU0 LinkUp Systems L72xx UART - port 0
1 = /dev/ttyLU1 LinkUp Systems L72xx UART - port 1
2 = /dev/ttyLU2 LinkUp Systems L72xx UART - port 2
3 = /dev/ttyLU3 LinkUp Systems L72xx UART - port 3
4 = /dev/ttyFB0 Intel Footbridge (ARM)
5 = /dev/ttySA0 StrongARM builtin serial port 0
6 = /dev/ttySA1 StrongARM builtin serial port 1
...
The patch adds 204 to the list of recognized major numbers.
Signed-off-by: Jon Schlueter <jon.schlueter@gmail.com>
|
|
|
|
| |
Signed-off-by: Eric S. Raymond <esr@thyrsus.com>
|
|
|
|
| |
All regression tests pass, codebase splints clean.
|
|
|
|
|
|
|
|
|
| |
Rather than deactivating a device the first time it gets a zero-length read,
temporarily suppress waiting on it in the main select call and set a timeout
after which it will be un-suppressed. A zero-length read after unsuppression
will trigger deactivation.
All regression tests pass.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We use stat(2) to distinguish among regular files, character devices, and
sockets. We then use Linux major device numbers to further distinguish
between RS232, pseudo-tty, and USB-serial devices.
For devs on non-Linux systems, the first tier of tests is POSIX. All
serial devices will return type 'source_unknown' for you. This may
never matter; the serial-device source types aren't yet distinguished
anywhere - there's an existing, separate is_serial flag.
The planned use is to guard the check for the Garmin USB Linux kernel module.
Also the new function is a good place to isolate OS-dependent code in case
the Windows port ever happens.
All regression tests pass.
|
| |
|
| |
|
| |
|
|
|
|
| |
All regression tests pass,
|
|
|
|
|
|
|
| |
Arranged to suppress dumping of device serial parameters when its a
TCP/IP data source like an AIS feed.
All regression tests pass.
|
|
|
|
|
|
|
|
| |
...instead of returning to the original one. That way if an autobaud
event or manual speed change occured it is preserved.
This speeds up the next gpsd start as the tty should be on the proper
speed.
|
|
|
|
|
|
|
| |
That is, instead of sectioning out two little config defines and
putting them in. This makes gpsd.h self-copntained (e.g. in case it
gets installed as a library header) and means we can get rid of most
inclusions of it.
|
| |
|
|
|
|
| |
All regression tests pass.
|
|
|
|
|
|
| |
gpsd -nN -D6 /dev/ttyS0 2>&1 | egrep 'PPS|NTPD'
Logging of NMEA->NTPD still seems a bit thin.
|
|
|
|
| |
and fix a minor inconsistency.
|
|
|
|
|
|
|
| |
This finishes the bug refactoring; now we're ready to do actual
behavior changes.
Codebase splints clean. All regression tests pass.
|
|
|
|
| |
No effect on compilation. All regression tests pass.
|
|
|
|
|
|
| |
The proxying concept is OK but the design is broken and the
implementation has at least two bugs that are crash landings. Chris
can do better than this.
|
|
|
|
|
| |
Major change in this set is enforcong consistency about the data type
of serial parity information.
|
| |
|
| |
|