diff --git a/libraries/AP_OSD/AP_OSD.h b/libraries/AP_OSD/AP_OSD.h index 4ceee2dc5f..9648490ada 100644 --- a/libraries/AP_OSD/AP_OSD.h +++ b/libraries/AP_OSD/AP_OSD.h @@ -25,6 +25,7 @@ #include #include #include +#include #ifndef OSD_ENABLED #define OSD_ENABLED !HAL_MINIMIZE_FEATURES @@ -176,7 +177,9 @@ private: AP_OSD_Setting roll_angle{false, 0, 0}; AP_OSD_Setting pitch_angle{false, 0, 0}; AP_OSD_Setting temp{false, 0, 0}; +#if BARO_MAX_INSTANCES > 1 AP_OSD_Setting btemp{false, 0, 0}; +#endif AP_OSD_Setting hdop{false, 0, 0}; AP_OSD_Setting waypoint{false, 0, 0}; AP_OSD_Setting xtrack_error{false, 0, 0}; @@ -252,7 +255,9 @@ private: void draw_roll_angle(uint8_t x, uint8_t y); void draw_pitch_angle(uint8_t x, uint8_t y); void draw_temp(uint8_t x, uint8_t y); +#if BARO_MAX_INSTANCES > 1 void draw_btemp(uint8_t x, uint8_t y); +#endif void draw_hdop(uint8_t x, uint8_t y); void draw_waypoint(uint8_t x, uint8_t y); void draw_xtrack_error(uint8_t x, uint8_t y); diff --git a/libraries/AP_OSD/AP_OSD_Screen.cpp b/libraries/AP_OSD/AP_OSD_Screen.cpp index 2003eee856..df64ace86f 100644 --- a/libraries/AP_OSD/AP_OSD_Screen.cpp +++ b/libraries/AP_OSD/AP_OSD_Screen.cpp @@ -33,7 +33,6 @@ #include #include #include -#include #include #include #include @@ -603,6 +602,7 @@ const AP_Param::GroupInfo AP_OSD_Screen::var_info[] = { // @Range: 0 15 AP_SUBGROUPINFO(eff, "EFF", 36, AP_OSD_Screen, AP_OSD_Setting), +#if BARO_MAX_INSTANCES > 1 // @Param: BTEMP_EN // @DisplayName: BTEMP_EN // @Description: Displays temperature reported by secondary barometer @@ -618,6 +618,7 @@ const AP_Param::GroupInfo AP_OSD_Screen::var_info[] = { // @Description: Vertical position on screen // @Range: 0 15 AP_SUBGROUPINFO(btemp, "BTEMP", 37, AP_OSD_Screen, AP_OSD_Setting), +#endif // @Param: ATEMP_EN // @DisplayName: ATEMP_EN @@ -1961,12 +1962,14 @@ void AP_OSD_Screen::draw_climbeff(uint8_t x, uint8_t y) } } +#if BARO_MAX_INSTANCES > 1 void AP_OSD_Screen::draw_btemp(uint8_t x, uint8_t y) { AP_Baro &barometer = AP::baro(); float btmp = barometer.get_temperature(1); backend->write(x, y, false, "%3d%c", (int)u_scale(TEMPERATURE, btmp), u_icon(TEMPERATURE)); } +#endif void AP_OSD_Screen::draw_atemp(uint8_t x, uint8_t y) { @@ -2193,7 +2196,9 @@ void AP_OSD_Screen::draw(void) DRAW_SETTING(roll_angle); DRAW_SETTING(pitch_angle); DRAW_SETTING(temp); +#if BARO_MAX_INSTANCES > 1 DRAW_SETTING(btemp); +#endif DRAW_SETTING(atemp); DRAW_SETTING(hdop); DRAW_SETTING(flightime);