6#include "pico/stdlib.h"
21std::array<std::string, NMEA_MAX_REPLIES>
replies;
26 printf(
"%02i:%02i:%02i.%03i",
27 (
int)(t.hours().count()), (
int)(t.minutes().count()),
28 (
int)(t.seconds().count()), (
int)(t.subseconds().count()));
31void print_d(
const std::chrono::year_month_day& t) {
32 printf(
"%4i-%02i-%02i",
56 if (!
valid) {
return; }
59 printf(
"GLL source: ");
61 printf(
". lat: %f lon: %f, time: ",
62 result.result.lat, result.result.lon);
71 if (!
valid) {
return; }
74 printf(
"GSV source: ");
77 for(
const auto s : result.result.sats) {
78 printf(
"sat prn: %i, elev: %i, azim: %i, snr: %i.\r\n",
79 s.prn, s.elev, s.azim, s.snr);
88 if (!
valid) {
return; }
90 printf(
"GGA source: ");
92 printf(
". lat: %f lon: %f, alt: %.3f, geosep: %.3f, sats: %i. ",
93 result.result.lat, result.result.lon, result.result.alt, result.result.geosep, result.result.sats);
102 if (!
valid) {
return; }
104 printf(
"RMC source: ");
106 printf(
". lat: %f lon: %f. ",
107 result.result.lat, result.result.lon);
117 gps.writer().set([](
const std::string& s) ->
void {
write(s); });
118 gps.reader().set([](std::string& s) ->
void {
read(s); });
134 printf(
"+-- start --+\r\n");
139 printf(
"+-- end --+\r\n\r\n");
Driver class for ST Teseo IC.
void read(::std::string &s)
void write(const ::std::string &s)
std::chrono::hh_mm_ss< std::chrono::duration< long long, std::ratio< 1, 1000 > > > time_t
static gga_result from_data(const std::string &data)
static gll_result from_data(const std::string &data)
static gsv_result from_data(const std::string &data)
static rmc_result from_data(const std::string &data)
std::array< std::string, NMEA_MAX_REPLIES > replies
void print_d(const std::chrono::year_month_day &t)
void print_t(const nmea::time_t &t)
void print_talker(const nmea::talker_id &talker_id)