core: gps: add enums for GPS fix quality and type
Signed-off-by: Silvano Seva <silseva@fastwebnet.it>
This commit is contained in:
parent
809f54cb1b
commit
f2f84f3da1
|
|
@ -24,6 +24,30 @@
|
|||
#include <stddef.h>
|
||||
#include <stdint.h>
|
||||
|
||||
/**
|
||||
* Enumeration type for GPS fix quality, according to the quality
|
||||
* indicator field of NMEA GGA sentence
|
||||
*/
|
||||
enum FixQuality {
|
||||
FIX_QUALITY_NO_FIX = 0,
|
||||
FIX_QUALITY_GPS,
|
||||
FIX_QUALITY_DGPS,
|
||||
FIX_QUALITY_PPS,
|
||||
FIX_QUALITY_RTK,
|
||||
FIX_QUALITY_RTK_FLOAT,
|
||||
FIX_QUALITY_ESTIMATED,
|
||||
};
|
||||
|
||||
/**
|
||||
* Enumeration type for GPS fix type, according to the fix type field of
|
||||
* NMEA GSA sentence
|
||||
*/
|
||||
enum FixType {
|
||||
FIX_TYPE_NOT_AVAIL = 1,
|
||||
FIX_TYPE_2D,
|
||||
FIX_TYPE_3D,
|
||||
};
|
||||
|
||||
/**
|
||||
* Data structure representing a single satellite as part of a GPS fix.
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -684,25 +684,29 @@ void _ui_drawMenuGPS()
|
|||
else if(!last_state.settings.gps_enabled)
|
||||
gfx_print(fix_pos, layout.line3_large_font, TEXT_ALIGN_CENTER,
|
||||
color_white, currentLanguage->gpsOff);
|
||||
else if (last_state.gps_data.fix_quality == 0)
|
||||
else if (last_state.gps_data.fix_quality == FIX_QUALITY_NO_FIX)
|
||||
gfx_print(fix_pos, layout.line3_large_font, TEXT_ALIGN_CENTER,
|
||||
color_white, currentLanguage->noFix);
|
||||
else if (last_state.gps_data.fix_quality == 6)
|
||||
else if (last_state.gps_data.fix_quality == FIX_QUALITY_ESTIMATED)
|
||||
gfx_print(fix_pos, layout.line3_large_font, TEXT_ALIGN_CENTER,
|
||||
color_white, currentLanguage->fixLost);
|
||||
else
|
||||
{
|
||||
switch(last_state.gps_data.fix_quality)
|
||||
{
|
||||
case 1:
|
||||
fix_buf = "SPS";
|
||||
case FIX_QUALITY_GPS:
|
||||
fix_buf = "GPS";
|
||||
break;
|
||||
case 2:
|
||||
case FIX_QUALITY_DGPS:
|
||||
fix_buf = "DGPS";
|
||||
break;
|
||||
case 3:
|
||||
case FIX_QUALITY_PPS:
|
||||
fix_buf = "PPS";
|
||||
break;
|
||||
case FIX_QUALITY_RTK:
|
||||
case FIX_QUALITY_RTK_FLOAT:
|
||||
fix_buf = "RTK";
|
||||
break;
|
||||
default:
|
||||
fix_buf = (char*)currentLanguage->error;
|
||||
break;
|
||||
|
|
@ -710,13 +714,13 @@ void _ui_drawMenuGPS()
|
|||
|
||||
switch(last_state.gps_data.fix_type)
|
||||
{
|
||||
case 1:
|
||||
case FIX_TYPE_NOT_AVAIL:
|
||||
type_buf = "";
|
||||
break;
|
||||
case 2:
|
||||
case FIX_TYPE_2D:
|
||||
type_buf = "2D";
|
||||
break;
|
||||
case 3:
|
||||
case FIX_TYPE_3D:
|
||||
type_buf = "3D";
|
||||
break;
|
||||
default:
|
||||
|
|
|
|||
Loading…
Reference in New Issue