DeterministicESPAsyncWebServer v6.27.1
Zero-allocation, bounded-execution async HTTP server for ESP32
Loading...
Searching...
No Matches
ntrip_caster.h File Reference

NTRIP caster protocol codec (DETWS_ENABLE_NTRIP_CASTER) - the pure, host-tested core. More...

#include "ServerConfig.h"

Go to the source code of this file.

Detailed Description

NTRIP caster protocol codec (DETWS_ENABLE_NTRIP_CASTER) - the pure, host-tested core.

NTRIP (Networked Transport of RTCM via Internet Protocol) is how a GNSS base's RTCM corrections reach rovers over TCP. It is HTTP-shaped: a rover opens a connection and sends a request line GET /<mountpoint> HTTP/1.x with headers; the caster answers and then streams raw RTCM bytes.

Two protocol revisions are in the field and this codec speaks both:

  • NTRIP 1.0 - the request omits a version header; the caster replies with the bare status line ICY 200 OK\r\n\r\n and then streams, or SOURCETABLE 200 OK + the source table for a GET /.
  • NTRIP 2.0 - the request carries Ntrip-Version: Ntrip/2.0; the caster replies with a real HTTP/1.1 200 OK and Content-Type: gnss/data (or gnss/sourcetable) before streaming.

This file parses a rover request (mountpoint, version, optional HTTP Basic credentials) and builds the caster's responses - the stream-accept line, an error line, and the RTCM source table (one STR;... record per mountpoint per the NTRIP source-table format, terminated by ENDSOURCETABLE). It touches no sockets; the listener glue (ntrip_caster_listener.h) drives it and pumps bytes. Zero heap.

Author
Douglas Quigg (dstroy0)
Date
2026

Definition in file ntrip_caster.h.