|
@@ -54,20 +54,19 @@ The library doesn't perform this conversion automatically for the following reas
|
|
```c
|
|
```c
|
|
char line[MINMEA_MAX_LENGTH];
|
|
char line[MINMEA_MAX_LENGTH];
|
|
while (fgets(line, sizeof(line), stdin) != NULL) {
|
|
while (fgets(line, sizeof(line), stdin) != NULL) {
|
|
- printf("%s", line);
|
|
|
|
switch (minmea_sentence_id(line)) {
|
|
switch (minmea_sentence_id(line)) {
|
|
case MINMEA_SENTENCE_RMC: {
|
|
case MINMEA_SENTENCE_RMC: {
|
|
struct minmea_sentence_rmc frame;
|
|
struct minmea_sentence_rmc frame;
|
|
if (minmea_parse_rmc(&frame, line)) {
|
|
if (minmea_parse_rmc(&frame, line)) {
|
|
- printf("$xxRMC: raw coordinates and speed: (%d/%d,%d/%d) %d/%d\n",
|
|
|
|
|
|
+ printf("$RMC: raw coordinates and speed: (%d/%d,%d/%d) %d/%d\n",
|
|
frame.latitude.value, frame.latitude.scale,
|
|
frame.latitude.value, frame.latitude.scale,
|
|
frame.longitude.value, frame.longitude.scale,
|
|
frame.longitude.value, frame.longitude.scale,
|
|
frame.speed.value, frame.speed.scale);
|
|
frame.speed.value, frame.speed.scale);
|
|
- printf("$xxRMC fixed-point coordinates and speed scaled to three decimal places: (%d,%d) %d\n",
|
|
|
|
|
|
+ printf("$RMC fixed-point coordinates and speed scaled to three decimal places: (%d,%d) %d\n",
|
|
minmea_rescale(&frame.latitude, 1000),
|
|
minmea_rescale(&frame.latitude, 1000),
|
|
minmea_rescale(&frame.longitude, 1000),
|
|
minmea_rescale(&frame.longitude, 1000),
|
|
minmea_rescale(&frame.speed, 1000));
|
|
minmea_rescale(&frame.speed, 1000));
|
|
- printf("$xxRMC floating point degree coordinates and speed: (%f,%f) %f\n",
|
|
|
|
|
|
+ printf("$RMC floating point degree coordinates and speed: (%f,%f) %f\n",
|
|
minmea_tocoord(&frame.latitude),
|
|
minmea_tocoord(&frame.latitude),
|
|
minmea_tocoord(&frame.longitude),
|
|
minmea_tocoord(&frame.longitude),
|
|
minmea_tofloat(&frame.speed));
|
|
minmea_tofloat(&frame.speed));
|
|
@@ -77,17 +76,17 @@ while (fgets(line, sizeof(line), stdin) != NULL) {
|
|
case MINMEA_SENTENCE_GGA: {
|
|
case MINMEA_SENTENCE_GGA: {
|
|
struct minmea_sentence_gga frame;
|
|
struct minmea_sentence_gga frame;
|
|
if (minmea_parse_gga(&frame, line)) {
|
|
if (minmea_parse_gga(&frame, line)) {
|
|
- printf("$xxGGA: fix quality: %d\n", frame.fix_quality);
|
|
|
|
|
|
+ printf("$GGA: fix quality: %d\n", frame.fix_quality);
|
|
}
|
|
}
|
|
} break;
|
|
} break;
|
|
|
|
|
|
case MINMEA_SENTENCE_GSV: {
|
|
case MINMEA_SENTENCE_GSV: {
|
|
struct minmea_sentence_gsv frame;
|
|
struct minmea_sentence_gsv frame;
|
|
if (minmea_parse_gsv(&frame, line)) {
|
|
if (minmea_parse_gsv(&frame, line)) {
|
|
- printf("$xxGSV: message %d of %d\n", frame.msg_nr, frame.total_msgs);
|
|
|
|
- printf("$xxGSV: sattelites in view: %d\n", frame.total_sats);
|
|
|
|
|
|
+ printf("$GSV: message %d of %d\n", frame.msg_nr, frame.total_msgs);
|
|
|
|
+ printf("$GSV: sattelites in view: %d\n", frame.total_sats);
|
|
for (int i = 0; i < 4; i++)
|
|
for (int i = 0; i < 4; i++)
|
|
- printf("$xxGSV: sat nr %d, elevation: %d, azimuth: %d, snr: %d dbm\n",
|
|
|
|
|
|
+ printf("$GSV: sat nr %d, elevation: %d, azimuth: %d, snr: %d dbm\n",
|
|
frame.sats[i].nr,
|
|
frame.sats[i].nr,
|
|
frame.sats[i].elevation,
|
|
frame.sats[i].elevation,
|
|
frame.sats[i].azimuth,
|
|
frame.sats[i].azimuth,
|