@@ -1216,7 +1216,7 @@ static void osdDisplayFlightPIDValues(uint8_t elemPosX, uint8_t elemPosY, const
12161216 if ((isAdjustmentFunctionSelected (adjFuncD )) || (((adjFuncD == ADJUSTMENT_ROLL_D ) || (adjFuncD == ADJUSTMENT_PITCH_D )) && (isAdjustmentFunctionSelected (ADJUSTMENT_PITCH_ROLL_D ))))
12171217 TEXT_ATTRIBUTES_ADD_BLINK (elemAttr );
12181218 displayWriteWithAttr (osdDisplayPort , elemPosX + 12 , elemPosY , buff , elemAttr );
1219-
1219+
12201220 elemAttr = TEXT_ATTRIBUTES_NONE ;
12211221 tfp_sprintf (buff , "%3d" , pid -> FF );
12221222 if ((isAdjustmentFunctionSelected (adjFuncFF )) || (((adjFuncFF == ADJUSTMENT_ROLL_FF ) || (adjFuncFF == ADJUSTMENT_PITCH_FF )) && (isAdjustmentFunctionSelected (ADJUSTMENT_PITCH_ROLL_FF ))))
@@ -2273,17 +2273,17 @@ static bool osdDrawSingleElement(uint8_t item)
22732273 }
22742274 case OSD_DEBUG :
22752275 {
2276- /*
2277- * Longest representable string is -2147483648 does not fit in the screen.
2276+ /*
2277+ * Longest representable string is -2147483648 does not fit in the screen.
22782278 * Only 7 digits for negative and 8 digits for positive values allowed
22792279 */
22802280 for (uint8_t bufferIndex = 0 ; bufferIndex < DEBUG32_VALUE_COUNT ; ++ elemPosY , bufferIndex += 2 ) {
22812281 tfp_sprintf (
2282- buff ,
2283- "[%u]=%8ld [%u]=%8ld" ,
2284- bufferIndex ,
2285- constrain (debug [bufferIndex ], -9999999 , 99999999 ),
2286- bufferIndex + 1 ,
2282+ buff ,
2283+ "[%u]=%8ld [%u]=%8ld" ,
2284+ bufferIndex ,
2285+ constrain (debug [bufferIndex ], -9999999 , 99999999 ),
2286+ bufferIndex + 1 ,
22872287 constrain (debug [bufferIndex + 1 ], -9999999 , 99999999 )
22882288 );
22892289 displayWrite (osdDisplayPort , elemPosX , elemPosY , buff );
@@ -3152,8 +3152,8 @@ static void osdShowArmed(void)
31523152 char versionBuf [30 ];
31533153 char * date ;
31543154 char * time ;
3155- // We need 12 visible rows
3156- uint8_t y = MIN (( osdDisplayPort -> rows / 2 ) - 1 , osdDisplayPort -> rows - 12 - 1 ) ;
3155+ // We need 12 visible rows, start row never < first fully visible row 1
3156+ uint8_t y = osdDisplayPort -> rows > 13 ? ( osdDisplayPort -> rows - 12 ) / 2 : 1 ;
31573157
31583158 displayClearScreen (osdDisplayPort );
31593159 displayWrite (osdDisplayPort , 12 , y , "ARMED" );
@@ -3162,8 +3162,13 @@ static void osdShowArmed(void)
31623162 if (strlen (systemConfig ()-> name ) > 0 ) {
31633163 osdFormatCraftName (craftNameBuf );
31643164 displayWrite (osdDisplayPort , (osdDisplayPort -> cols - strlen (systemConfig () -> name )) / 2 , y , craftNameBuf );
3165- y += 2 ;
3165+ y += 1 ;
3166+ }
3167+
3168+ if (posControl .waypointListValid && posControl .waypointCount > 0 ) {
3169+ displayWrite (osdDisplayPort , 7 , y , "*MISSION LOADED*" );
31663170 }
3171+ y += 1 ;
31673172
31683173#if defined(USE_GPS )
31693174 if (feature (FEATURE_GPS )) {
0 commit comments