25#ifndef PROTOCORE_GNSS_SURVEY_H
26#define PROTOCORE_GNSS_SURVEY_H
30#if PROTOCORE_ENABLE_NTRIP_CASTER
52void protocore_gnss_geodetic_to_ecef(
const GnssGeodetic *g, GnssEcef *e);
55void protocore_gnss_ecef_to_geodetic(
const GnssEcef *e, GnssGeodetic *g);
58int64_t protocore_gnss_ecef_m_to_01mm(
double metres);
83void protocore_gnss_survey_reset(GnssSurvey *s);
86void protocore_gnss_survey_add_ecef(GnssSurvey *s,
const GnssEcef *e);
89void protocore_gnss_survey_add_geodetic(GnssSurvey *s,
const GnssGeodetic *g);
92uint32_t protocore_gnss_survey_count(
const GnssSurvey *s);
95proto_bool protocore_gnss_survey_mean(
const GnssSurvey *s, GnssEcef *out);
101double protocore_gnss_survey_accuracy_m(
const GnssSurvey *s);
107proto_bool protocore_gnss_survey_complete(
const GnssSurvey *s, uint32_t min_obs,
double acc_limit_m);
109#if PROTOCORE_ENABLE_NMEA0183
117proto_bool protocore_gnss_gga_to_geodetic(
const Nmea0183 *m, GnssGeodetic *out);
120proto_bool protocore_gnss_survey_add_gga(GnssSurvey *s,
const Nmea0183 *m);
NMEA 0183 sentence codec (PROTOCORE_ENABLE_NMEA0183) - the marine / GPS ASCII protocol.
#define PROTOCORE_BEGIN_DECLS
Give a header's declarations C linkage, so their symbol names carry no parameter types.
_Bool proto_bool
The truth value.
#define PROTOCORE_END_DECLS