Documentation ¶
Overview ¶
The rtcmlogger reads RTCM messages on standard input and writes them to standard output. If the JSON config files sets "record_messages" true then it also creates a file containing a copy of the messages which can be converted into RINEX format for Precise Point Positioning (PPP). If record_messages is false then the program just acts as a pass-through, copying stdin to stdout. The program is intended to run in a pipeline between a device which produces RTCM messages and an NTRIP server which sends the messages to an NTRIP caster.
The GNSS community use the word "log" for a copy of the RTCM messages stored in a file. This program also maintains an event log, where runtime problems are reported. The names of both contain a datestamp and both are rolled over each day. The log of RTCM messages is called "data.{date}.log" and the event log is called "rtcmlogger.{date}.log". If the program dies during the day and is restarted, it picks up the existing log file and appends to it, so the existing log data is preserved.
The logger reads and writes the data in blocks. Around midnight the input block may contain some messages from yesterday and some from today, so those blocks are ignored - logging is disabled just before midnight and a new datestamped log file is created just after midnight the next day. (For the precise timings, see the logger module.) THs also helps RINEX processors which assume that all the data in a RINEX file was collected within a 24-hour period. This only applies to the messages written to the logfile, not the ones written to the stdout. All incoming messages are written to stdout regardless of the time of day.