mirror of
https://github.com/betaflight/betaflight.git
synced 2025-07-13 03:20:00 +03:00
Add Launch Timer (#14332)
* feat: add launch timer to osd timer type * fix: fix code style * Update src/main/osd/osd.c fix: code style Co-authored-by: Mark Haslinghuis <mark@numloq.nl> * Update src/main/osd/osd.c fix: adding a comma after "LAUNCH TIME" Co-authored-by: Jan Post <Rm2k-Freak@web.de> * Update src/main/osd/osd.c fix: added free space Co-authored-by: Jan Post <Rm2k-Freak@web.de> * Update src/main/osd/osd.h fix: added free space after declaration Co-authored-by: Jan Post <Rm2k-Freak@web.de> * Update src/main/osd/osd.c fix: added timer reset when switching to LAUNCH mode again Co-authored-by: Jan Post <Rm2k-Freak@web.de> --------- Co-authored-by: Mark Haslinghuis <mark@numloq.nl> Co-authored-by: Jan Post <Rm2k-Freak@web.de>
This commit is contained in:
parent
4ae22e9f8e
commit
b2c939e899
3 changed files with 19 additions and 2 deletions
|
@ -114,7 +114,8 @@ const char * const osdTimerSourceNames[] = {
|
||||||
"ON TIME ",
|
"ON TIME ",
|
||||||
"TOTAL ARM",
|
"TOTAL ARM",
|
||||||
"LAST ARM ",
|
"LAST ARM ",
|
||||||
"ON/ARM "
|
"ON/ARM ",
|
||||||
|
"LAUNCH TIME",
|
||||||
};
|
};
|
||||||
|
|
||||||
#define OSD_LOGO_ROWS 4
|
#define OSD_LOGO_ROWS 4
|
||||||
|
@ -127,6 +128,8 @@ const char * const osdTimerSourceNames[] = {
|
||||||
#define IS_MID(X) (rcData[X] > 1250 && rcData[X] < 1750)
|
#define IS_MID(X) (rcData[X] > 1250 && rcData[X] < 1750)
|
||||||
|
|
||||||
timeUs_t osdFlyTime = 0;
|
timeUs_t osdFlyTime = 0;
|
||||||
|
timeUs_t osdLaunchTime = 0;
|
||||||
|
|
||||||
#if defined(USE_ACC)
|
#if defined(USE_ACC)
|
||||||
float osdGForce = 0;
|
float osdGForce = 0;
|
||||||
#endif
|
#endif
|
||||||
|
@ -1243,6 +1246,13 @@ STATIC_UNIT_TESTED bool osdProcessStats1(timeUs_t currentTimeUs)
|
||||||
timeUs_t deltaT = currentTimeUs - lastTimeUs;
|
timeUs_t deltaT = currentTimeUs - lastTimeUs;
|
||||||
osdFlyTime += deltaT;
|
osdFlyTime += deltaT;
|
||||||
stats.armed_time += deltaT;
|
stats.armed_time += deltaT;
|
||||||
|
#ifdef USE_LAUNCH_CONTROL
|
||||||
|
if (!isLaunchControlActive()) {
|
||||||
|
osdLaunchTime += deltaT;
|
||||||
|
} else {
|
||||||
|
osdLaunchTime = 0;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
} else if (osdStatsEnabled) { // handle showing/hiding stats based on OSD disable switch position
|
} else if (osdStatsEnabled) { // handle showing/hiding stats based on OSD disable switch position
|
||||||
if (displayIsGrabbed(osdDisplayPort)) {
|
if (displayIsGrabbed(osdDisplayPort)) {
|
||||||
osdStatsEnabled = false;
|
osdStatsEnabled = false;
|
||||||
|
|
|
@ -29,7 +29,7 @@
|
||||||
|
|
||||||
#include "sensors/esc_sensor.h"
|
#include "sensors/esc_sensor.h"
|
||||||
|
|
||||||
#define OSD_NUM_TIMER_TYPES 4
|
#define OSD_NUM_TIMER_TYPES 5
|
||||||
extern const char * const osdTimerSourceNames[OSD_NUM_TIMER_TYPES];
|
extern const char * const osdTimerSourceNames[OSD_NUM_TIMER_TYPES];
|
||||||
|
|
||||||
#define OSD_ELEMENT_BUFFER_LENGTH 32
|
#define OSD_ELEMENT_BUFFER_LENGTH 32
|
||||||
|
@ -257,6 +257,7 @@ typedef enum {
|
||||||
OSD_TIMER_SRC_TOTAL_ARMED,
|
OSD_TIMER_SRC_TOTAL_ARMED,
|
||||||
OSD_TIMER_SRC_LAST_ARMED,
|
OSD_TIMER_SRC_LAST_ARMED,
|
||||||
OSD_TIMER_SRC_ON_OR_ARMED,
|
OSD_TIMER_SRC_ON_OR_ARMED,
|
||||||
|
OSD_TIMER_SRC_LAUNCH_TIME,
|
||||||
OSD_TIMER_SRC_COUNT
|
OSD_TIMER_SRC_COUNT
|
||||||
} osd_timer_source_e;
|
} osd_timer_source_e;
|
||||||
|
|
||||||
|
@ -392,6 +393,8 @@ typedef struct statistic_s {
|
||||||
|
|
||||||
extern timeUs_t resumeRefreshAt;
|
extern timeUs_t resumeRefreshAt;
|
||||||
extern timeUs_t osdFlyTime;
|
extern timeUs_t osdFlyTime;
|
||||||
|
extern timeUs_t osdLaunchTime;
|
||||||
|
|
||||||
#if defined(USE_ACC)
|
#if defined(USE_ACC)
|
||||||
extern float osdGForce;
|
extern float osdGForce;
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -515,6 +515,8 @@ static char osdGetTimerSymbol(osd_timer_source_e src)
|
||||||
return SYM_FLY_M;
|
return SYM_FLY_M;
|
||||||
case OSD_TIMER_SRC_ON_OR_ARMED:
|
case OSD_TIMER_SRC_ON_OR_ARMED:
|
||||||
return ARMING_FLAG(ARMED) ? SYM_FLY_M : SYM_ON_M;
|
return ARMING_FLAG(ARMED) ? SYM_FLY_M : SYM_ON_M;
|
||||||
|
case OSD_TIMER_SRC_LAUNCH_TIME:
|
||||||
|
return 'L';
|
||||||
default:
|
default:
|
||||||
return ' ';
|
return ' ';
|
||||||
}
|
}
|
||||||
|
@ -533,6 +535,8 @@ static timeUs_t osdGetTimerValue(osd_timer_source_e src)
|
||||||
}
|
}
|
||||||
case OSD_TIMER_SRC_ON_OR_ARMED:
|
case OSD_TIMER_SRC_ON_OR_ARMED:
|
||||||
return ARMING_FLAG(ARMED) ? osdFlyTime : micros();
|
return ARMING_FLAG(ARMED) ? osdFlyTime : micros();
|
||||||
|
case OSD_TIMER_SRC_LAUNCH_TIME:
|
||||||
|
return osdLaunchTime;
|
||||||
default:
|
default:
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue