Merge "NMEA generation change to prevent 2Hz reporting"
This commit is contained in:
commit
95fbf27ce1
2 changed files with 16 additions and 44 deletions
|
@ -798,11 +798,7 @@ void LocEngReportPosition::proc() const {
|
||||||
locEng->engine_status, locEng->adapter->isInSession());
|
locEng->engine_status, locEng->adapter->isInSession());
|
||||||
|
|
||||||
if (locEng->generateNmea &&
|
if (locEng->generateNmea &&
|
||||||
mLocation.position_source == ULP_LOCATION_IS_FROM_GNSS &&
|
locEng->adapter->isInSession())
|
||||||
locEng->adapter->isInSession() &&
|
|
||||||
mTechMask & (LOC_POS_TECH_MASK_SATELLITE |
|
|
||||||
LOC_POS_TECH_MASK_SENSORS |
|
|
||||||
LOC_POS_TECH_MASK_HYBRID))
|
|
||||||
{
|
{
|
||||||
unsigned char generate_nmea = reported &&
|
unsigned char generate_nmea = reported &&
|
||||||
(mStatus != LOC_SESS_FAILURE);
|
(mStatus != LOC_SESS_FAILURE);
|
||||||
|
|
|
@ -790,29 +790,7 @@ void loc_eng_nmea_generate_sv(loc_eng_data_s_type *loc_eng_data_p,
|
||||||
|
|
||||||
}//if
|
}//if
|
||||||
|
|
||||||
if (svStatus.gps_used_in_fix_mask == 0 &&
|
// cache the used in fix mask, as it will be needed to send $GPGSA
|
||||||
svStatus.glo_used_in_fix_mask == 0 &&
|
|
||||||
svStatus.bds_used_in_fix_mask == 0)
|
|
||||||
{ // No sv used, so there will be no position report, so send
|
|
||||||
// blank NMEA sentences
|
|
||||||
strlcpy(sentence, "$GPGSA,A,1,,,,,,,,,,,,,,,", sizeof(sentence));
|
|
||||||
length = loc_eng_nmea_put_checksum(sentence, sizeof(sentence));
|
|
||||||
loc_eng_nmea_send(sentence, length, loc_eng_data_p);
|
|
||||||
|
|
||||||
strlcpy(sentence, "$GPVTG,,T,,M,,N,,K,N", sizeof(sentence));
|
|
||||||
length = loc_eng_nmea_put_checksum(sentence, sizeof(sentence));
|
|
||||||
loc_eng_nmea_send(sentence, length, loc_eng_data_p);
|
|
||||||
|
|
||||||
strlcpy(sentence, "$GPRMC,,V,,,,,,,,,,N", sizeof(sentence));
|
|
||||||
length = loc_eng_nmea_put_checksum(sentence, sizeof(sentence));
|
|
||||||
loc_eng_nmea_send(sentence, length, loc_eng_data_p);
|
|
||||||
|
|
||||||
strlcpy(sentence, "$GPGGA,,,,,,0,,,,,,,,", sizeof(sentence));
|
|
||||||
length = loc_eng_nmea_put_checksum(sentence, sizeof(sentence));
|
|
||||||
loc_eng_nmea_send(sentence, length, loc_eng_data_p);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{ // cache the used in fix mask, as it will be needed to send $GPGSA
|
|
||||||
// during the position report
|
// during the position report
|
||||||
loc_eng_data_p->sv_used_mask = svStatus.gps_used_in_fix_mask;
|
loc_eng_data_p->sv_used_mask = svStatus.gps_used_in_fix_mask;
|
||||||
|
|
||||||
|
@ -832,7 +810,5 @@ void loc_eng_nmea_generate_sv(loc_eng_data_s_type *loc_eng_data_p,
|
||||||
loc_eng_data_p->vdop = 0;
|
loc_eng_data_p->vdop = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
EXIT_LOG(%d, 0);
|
EXIT_LOG(%d, 0);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue