@@ -549,6 +549,10 @@ static int l_libgnss_get_gsa_mode0(lua_State *L) {
lua_pushliteral(L, "vdop");
push_gnss_value(L, &(frame_gsa.vdop), 0);
lua_settable(L, -3);
+
+ lua_pushliteral(L, "sysid");
+ lua_pushinteger(L, frame_gsa.sysid);
+ lua_settable(L, -3);
break;
}
@@ -609,6 +613,10 @@ static int l_libgnss_get_gsa_mode1(lua_State *L) {
lua_pushliteral(L, "sats");
lua_createtable(L, 12, 0);
@@ -466,7 +466,7 @@ bool minmea_parse_gsa(struct minmea_sentence_gsa *frame, const char *sentence)
// $GPGSA,A,3,04,05,,09,12,,,24,,,,,2.5,1.3,2.1*39
char type[6];
- if (!minmea_scan(sentence, "tciiiiiiiiiiiiifff",
+ if (!minmea_scan(sentence, "tciiiiiiiiiiiiifff;i",
type,
&frame->mode,
&frame->fix_type,
@@ -484,7 +484,8 @@ bool minmea_parse_gsa(struct minmea_sentence_gsa *frame, const char *sentence)
&frame->sats[11],
&frame->pdop,
&frame->hdop,
- &frame->vdop))
+ &frame->vdop,
+ &frame->sysid))
return false;
if (strcmp(type+2, "GSA"))
@@ -150,6 +150,7 @@ struct minmea_sentence_gsa {
struct minmea_float pdop;
struct minmea_float hdop;
struct minmea_float vdop;
+ int sysid;
};
struct minmea_sat_info {