mirror of
https://github.com/ArduPilot/ardupilot
synced 2025-01-08 17:08:28 -04:00
AP_OSD: add primary airspeed item
and fix param description
This commit is contained in:
parent
71533c7c5c
commit
6b1046f0ac
@ -88,6 +88,7 @@ private:
|
|||||||
AP_OSD_Setting compass{true, 15, 3};
|
AP_OSD_Setting compass{true, 15, 3};
|
||||||
AP_OSD_Setting wind{false, 2, 12};
|
AP_OSD_Setting wind{false, 2, 12};
|
||||||
AP_OSD_Setting aspeed{false, 2, 13};
|
AP_OSD_Setting aspeed{false, 2, 13};
|
||||||
|
AP_OSD_Setting aspd1{false, 0, 0};
|
||||||
AP_OSD_Setting aspd2{false, 0, 0};
|
AP_OSD_Setting aspd2{false, 0, 0};
|
||||||
AP_OSD_Setting vspeed{true, 24, 9};
|
AP_OSD_Setting vspeed{true, 24, 9};
|
||||||
|
|
||||||
@ -147,6 +148,7 @@ private:
|
|||||||
void draw_compass(uint8_t x, uint8_t y);
|
void draw_compass(uint8_t x, uint8_t y);
|
||||||
void draw_wind(uint8_t x, uint8_t y);
|
void draw_wind(uint8_t x, uint8_t y);
|
||||||
void draw_aspeed(uint8_t x, uint8_t y);
|
void draw_aspeed(uint8_t x, uint8_t y);
|
||||||
|
void draw_aspd1(uint8_t x, uint8_t y);
|
||||||
void draw_aspd2(uint8_t x, uint8_t y);
|
void draw_aspd2(uint8_t x, uint8_t y);
|
||||||
void draw_vspeed(uint8_t x, uint8_t y);
|
void draw_vspeed(uint8_t x, uint8_t y);
|
||||||
|
|
||||||
|
@ -672,6 +672,22 @@ const AP_Param::GroupInfo AP_OSD_Screen::var_info[] = {
|
|||||||
// @Range: 0 15
|
// @Range: 0 15
|
||||||
AP_SUBGROUPINFO(aspd2, "ASPD2", 41, AP_OSD_Screen, AP_OSD_Setting),
|
AP_SUBGROUPINFO(aspd2, "ASPD2", 41, AP_OSD_Screen, AP_OSD_Setting),
|
||||||
|
|
||||||
|
// @Param: ASPD1_EN
|
||||||
|
// @DisplayName: ASPD1_EN
|
||||||
|
// @Description: Displays airspeed reported directly from primary airspeed sensor
|
||||||
|
// @Values: 0:Disabled,1:Enabled
|
||||||
|
|
||||||
|
// @Param: ASPD1_X
|
||||||
|
// @DisplayName: ASPD1_X
|
||||||
|
// @Description: Horizontal position on screen
|
||||||
|
// @Range: 0 29
|
||||||
|
|
||||||
|
// @Param: ASPD1_Y
|
||||||
|
// @DisplayName: ASPD1_Y
|
||||||
|
// @Description: Vertical position on screen
|
||||||
|
// @Range: 0 15
|
||||||
|
AP_SUBGROUPINFO(aspd1, "ASPD1", 42, AP_OSD_Screen, AP_OSD_Setting),
|
||||||
|
|
||||||
AP_GROUPEND
|
AP_GROUPEND
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -1464,6 +1480,20 @@ void AP_OSD_Screen::draw_bat2used(uint8_t x, uint8_t y)
|
|||||||
draw_batused(1, x, y);
|
draw_batused(1, x, y);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void AP_OSD_Screen::draw_aspd1(uint8_t x, uint8_t y)
|
||||||
|
{
|
||||||
|
AP_Airspeed *airspeed = AP_Airspeed::get_singleton();
|
||||||
|
if (!airspeed) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
float asp1 = airspeed->get_airspeed();
|
||||||
|
if (airspeed != nullptr && airspeed->healthy()) {
|
||||||
|
backend->write(x, y, false, "%c%4d%c", SYM_ASPD, (int)u_scale(SPEED, asp1), u_icon(SPEED));
|
||||||
|
} else {
|
||||||
|
backend->write(x, y, false, "%c ---%c", SYM_ASPD, u_icon(SPEED));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void AP_OSD_Screen::draw_aspd2(uint8_t x, uint8_t y)
|
void AP_OSD_Screen::draw_aspd2(uint8_t x, uint8_t y)
|
||||||
{
|
{
|
||||||
AP_Airspeed *airspeed = AP_Airspeed::get_singleton();
|
AP_Airspeed *airspeed = AP_Airspeed::get_singleton();
|
||||||
@ -1505,6 +1535,7 @@ void AP_OSD_Screen::draw(void)
|
|||||||
DRAW_SETTING(fltmode);
|
DRAW_SETTING(fltmode);
|
||||||
DRAW_SETTING(gspeed);
|
DRAW_SETTING(gspeed);
|
||||||
DRAW_SETTING(aspeed);
|
DRAW_SETTING(aspeed);
|
||||||
|
DRAW_SETTING(aspd1);
|
||||||
DRAW_SETTING(aspd2);
|
DRAW_SETTING(aspd2);
|
||||||
DRAW_SETTING(vspeed);
|
DRAW_SETTING(vspeed);
|
||||||
DRAW_SETTING(throttle);
|
DRAW_SETTING(throttle);
|
||||||
|
Loading…
Reference in New Issue
Block a user