Yo Mick!
On Sun, 10 Oct 2021 15:45:58 +0100
Mick Durkin <mickdurkinuk@gmail.com> wrote:
That still leaves me unclear why gpsd is outputting debug data all
the time.
All the time? I thought you said only for PPS stuff?
When we want debugging to be active we specify the level
with the -D n option at startup.
Yes.
This output is only coming from the
ppsthread code within gpsd, so why would that code be different?
As the name says, the PPS code is in a thread. C code in a thread has
to be written differently than non-threaed C code because C is not
inherently safe with threads.
Alsoat all the gpsd code uses GPSD_LOG() for logging. But to avoid
I/O and buffer contention, the PPS thread code uses pps_thread->log_hook().
log_hook() points to ppsthread_log90 in gpsd/libgpsd_core.c
It uses similar log levels to GPSD_LOG():
log_hook() levels:
#define THREAD_ERROR 0
#define THREAD_WARN 1
#define THREAD_INF 2
#define THREAD_PROG 3
#define THREAD_RAW 4
GPSD_LOG() levels:
/* logging levels */
#define LOG_ERROR -1 /* errors, display always */
#define LOG_SHOUT 0 /* not an error but we should always see it */
#define LOG_WARN 1 /* not errors but may indicate a problem */
#define LOG_CLIENT 2 /* log JSON reports to clients */
#define LOG_INF 3 /* key informative messages */
#define LOG_PROG 4 /* progress messages */
#define LOG_IO 5 /* IO to and from devices */
#define LOG_DATA 6 /* log data management messages */
#define LOG_SPIN 7 /* logging for catching spin bugs */
#define LOG_RAW 8 /* raw low-level I/O */
#define LOG_RAW1 9 // rawer
#define LOG_RAW2 10 // rawest
If you are getting debug level logs from log_hook() and not from GPSD_LOG()
then that points to some problem in log_hook() decding what to send
to the logs.
I'd still like the output of gpsdebuginfo.
https://gpsd.io/gpsdebuginfo
And be sure that all traces of any previous gpsd installation have been
removed and that you started your build from a clean tree.
RGDS
GARY
---------------------------------------------------------------------------
Gary E. Miller Rellim 109 NW Wilmington Ave., Suite E, Bend, OR 97703
gem@rellim.com Tel:+1 541 382 8588
Veritas liberabit vos. -- Quid est veritas?
"If you can't measure it, you can't improve it." - Lord Kelvin