mirror of
https://github.com/betaflight/betaflight.git
synced 2025-07-23 00:05:33 +03:00
Maximum Home Distance in OSD stats
This commit is contained in:
parent
4f852fb416
commit
64aa5824a7
3 changed files with 22 additions and 6 deletions
|
@ -660,6 +660,7 @@ const clivalue_t valueTable[] = {
|
||||||
{ "osd_disarmed_pos", VAR_UINT16 | MASTER_VALUE, .config.minmax = { 0, OSD_POSCFG_MAX }, PG_OSD_CONFIG, offsetof(osdConfig_t, item_pos[OSD_DISARMED]) },
|
{ "osd_disarmed_pos", VAR_UINT16 | MASTER_VALUE, .config.minmax = { 0, OSD_POSCFG_MAX }, PG_OSD_CONFIG, offsetof(osdConfig_t, item_pos[OSD_DISARMED]) },
|
||||||
|
|
||||||
{ "osd_stat_max_spd", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, .config.lookup = { TABLE_OFF_ON }, PG_OSD_CONFIG, offsetof(osdConfig_t, enabled_stats[OSD_STAT_MAX_SPEED])},
|
{ "osd_stat_max_spd", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, .config.lookup = { TABLE_OFF_ON }, PG_OSD_CONFIG, offsetof(osdConfig_t, enabled_stats[OSD_STAT_MAX_SPEED])},
|
||||||
|
{ "osd_stat_max_dist", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, .config.lookup = { TABLE_OFF_ON }, PG_OSD_CONFIG, offsetof(osdConfig_t, enabled_stats[OSD_STAT_MAX_DISTANCE])},
|
||||||
{ "osd_stat_min_batt", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, .config.lookup = { TABLE_OFF_ON }, PG_OSD_CONFIG, offsetof(osdConfig_t, enabled_stats[OSD_STAT_MIN_BATTERY])},
|
{ "osd_stat_min_batt", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, .config.lookup = { TABLE_OFF_ON }, PG_OSD_CONFIG, offsetof(osdConfig_t, enabled_stats[OSD_STAT_MIN_BATTERY])},
|
||||||
{ "osd_stat_min_rssi", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, .config.lookup = { TABLE_OFF_ON }, PG_OSD_CONFIG, offsetof(osdConfig_t, enabled_stats[OSD_STAT_MIN_RSSI])},
|
{ "osd_stat_min_rssi", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, .config.lookup = { TABLE_OFF_ON }, PG_OSD_CONFIG, offsetof(osdConfig_t, enabled_stats[OSD_STAT_MIN_RSSI])},
|
||||||
{ "osd_stat_max_curr", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, .config.lookup = { TABLE_OFF_ON }, PG_OSD_CONFIG, offsetof(osdConfig_t, enabled_stats[OSD_STAT_MAX_CURRENT])},
|
{ "osd_stat_max_curr", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, .config.lookup = { TABLE_OFF_ON }, PG_OSD_CONFIG, offsetof(osdConfig_t, enabled_stats[OSD_STAT_MAX_CURRENT])},
|
||||||
|
|
|
@ -118,6 +118,7 @@ typedef struct statistic_s {
|
||||||
int16_t max_current; // /10
|
int16_t max_current; // /10
|
||||||
int16_t min_rssi;
|
int16_t min_rssi;
|
||||||
int16_t max_altitude;
|
int16_t max_altitude;
|
||||||
|
int16_t max_distance;
|
||||||
uint16_t armed_time;
|
uint16_t armed_time;
|
||||||
} statistic_t;
|
} statistic_t;
|
||||||
|
|
||||||
|
@ -675,6 +676,7 @@ void pgResetFn_osdConfig(osdConfig_t *osdConfig)
|
||||||
osdConfig->enabled_stats[OSD_STAT_END_BATTERY] = false;
|
osdConfig->enabled_stats[OSD_STAT_END_BATTERY] = false;
|
||||||
osdConfig->enabled_stats[OSD_STAT_FLYTIME] = false;
|
osdConfig->enabled_stats[OSD_STAT_FLYTIME] = false;
|
||||||
osdConfig->enabled_stats[OSD_STAT_ARMEDTIME] = true;
|
osdConfig->enabled_stats[OSD_STAT_ARMEDTIME] = true;
|
||||||
|
osdConfig->enabled_stats[OSD_STAT_MAX_DISTANCE] = false;
|
||||||
|
|
||||||
osdConfig->units = OSD_UNIT_METRIC;
|
osdConfig->units = OSD_UNIT_METRIC;
|
||||||
|
|
||||||
|
@ -792,13 +794,14 @@ void osdResetAlarms(void)
|
||||||
|
|
||||||
static void osdResetStats(void)
|
static void osdResetStats(void)
|
||||||
{
|
{
|
||||||
stats.max_current = 0;
|
stats.max_current = 0;
|
||||||
stats.max_speed = 0;
|
stats.max_speed = 0;
|
||||||
stats.min_voltage = 500;
|
stats.min_voltage = 500;
|
||||||
stats.max_current = 0;
|
stats.max_current = 0;
|
||||||
stats.min_rssi = 99;
|
stats.min_rssi = 99;
|
||||||
stats.max_altitude = 0;
|
stats.max_altitude = 0;
|
||||||
stats.armed_time = 0;
|
stats.max_distance = 0;
|
||||||
|
stats.armed_time = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void osdUpdateStats(void)
|
static void osdUpdateStats(void)
|
||||||
|
@ -822,6 +825,12 @@ static void osdUpdateStats(void)
|
||||||
|
|
||||||
if (stats.max_altitude < getEstimatedAltitude())
|
if (stats.max_altitude < getEstimatedAltitude())
|
||||||
stats.max_altitude = getEstimatedAltitude();
|
stats.max_altitude = getEstimatedAltitude();
|
||||||
|
|
||||||
|
#ifdef GPS
|
||||||
|
if (STATE(GPS_FIX) && STATE(GPS_FIX_HOME) && (stats.max_distance < GPS_distanceToHome)) {
|
||||||
|
stats.max_distance = GPS_distanceToHome;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef BLACKBOX
|
#ifdef BLACKBOX
|
||||||
|
@ -896,6 +905,11 @@ static void osdShowStats(void)
|
||||||
osdDisplayStatisticLabel(top++, "MAX SPEED", buff);
|
osdDisplayStatisticLabel(top++, "MAX SPEED", buff);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (osdConfig()->enabled_stats[OSD_STAT_MAX_DISTANCE]) {
|
||||||
|
tfp_sprintf(buff, "%d%c", osdGetMetersToSelectedUnit(stats.max_distance), osdGetMetersToSelectedUnitSymbol());
|
||||||
|
osdDisplayStatisticLabel(top++, "MAX DISTANCE", buff);
|
||||||
|
}
|
||||||
|
|
||||||
if (osdConfig()->enabled_stats[OSD_STAT_MIN_BATTERY]) {
|
if (osdConfig()->enabled_stats[OSD_STAT_MIN_BATTERY]) {
|
||||||
tfp_sprintf(buff, "%d.%1d%c", stats.min_voltage / 10, stats.min_voltage % 10, SYM_VOLT);
|
tfp_sprintf(buff, "%d.%1d%c", stats.min_voltage / 10, stats.min_voltage % 10, SYM_VOLT);
|
||||||
osdDisplayStatisticLabel(top++, "MIN BATTERY", buff);
|
osdDisplayStatisticLabel(top++, "MIN BATTERY", buff);
|
||||||
|
|
|
@ -74,6 +74,7 @@ typedef enum {
|
||||||
OSD_STAT_END_BATTERY,
|
OSD_STAT_END_BATTERY,
|
||||||
OSD_STAT_FLYTIME,
|
OSD_STAT_FLYTIME,
|
||||||
OSD_STAT_ARMEDTIME,
|
OSD_STAT_ARMEDTIME,
|
||||||
|
OSD_STAT_MAX_DISTANCE,
|
||||||
OSD_STAT_COUNT // MUST BE LAST
|
OSD_STAT_COUNT // MUST BE LAST
|
||||||
} osd_stats_e;
|
} osd_stats_e;
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue