1
0
Fork 0
mirror of https://github.com/betaflight/betaflight.git synced 2025-07-17 05:15:25 +03:00

Show blackbox log number in OSD only when available. (#9141)

Show blackbox log number in OSD only when available.
This commit is contained in:
Michael Keller 2019-11-04 14:45:39 +13:00 committed by GitHub
commit 04c97c849e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 27 additions and 14 deletions

View file

@ -76,7 +76,7 @@ static struct {
afatfsFilePtr_t logFile; afatfsFilePtr_t logFile;
afatfsFilePtr_t logDirectory; afatfsFilePtr_t logDirectory;
afatfsFinder_t logDirectoryFinder; afatfsFinder_t logDirectoryFinder;
uint32_t largestLogFileNumber; int32_t largestLogFileNumber;
enum { enum {
BLACKBOX_SDCARD_INITIAL, BLACKBOX_SDCARD_INITIAL,
@ -440,7 +440,7 @@ static void blackboxLogFileCreated(afatfsFilePtr_t file)
static void blackboxCreateLogFile(void) static void blackboxCreateLogFile(void)
{ {
uint32_t remainder = blackboxSDCard.largestLogFileNumber + 1; int32_t remainder = blackboxSDCard.largestLogFileNumber + 1;
char filename[] = LOGFILE_PREFIX "00000." LOGFILE_SUFFIX; char filename[] = LOGFILE_PREFIX "00000." LOGFILE_SUFFIX;
@ -488,7 +488,7 @@ static bool blackboxSDCardBeginLog(void)
memcpy(logSequenceNumberString, directoryEntry->filename + 3, 5); memcpy(logSequenceNumberString, directoryEntry->filename + 3, 5);
logSequenceNumberString[5] = '\0'; logSequenceNumberString[5] = '\0';
blackboxSDCard.largestLogFileNumber = MAX((uint32_t) atoi(logSequenceNumberString), blackboxSDCard.largestLogFileNumber); blackboxSDCard.largestLogFileNumber = MAX((int32_t)atoi(logSequenceNumberString), blackboxSDCard.largestLogFileNumber);
} }
} else { } else {
// We're done checking all the files on the card, now we can create a new log file // We're done checking all the files on the card, now we can create a new log file
@ -619,12 +619,17 @@ bool isBlackboxDeviceWorking(void)
} }
} }
unsigned int blackboxGetLogNumber(void) int32_t blackboxGetLogNumber(void)
{ {
switch (blackboxConfig()->device) {
#ifdef USE_SDCARD #ifdef USE_SDCARD
case BLACKBOX_DEVICE_SDCARD:
return blackboxSDCard.largestLogFileNumber; return blackboxSDCard.largestLogFileNumber;
#endif #endif
return 0;
default:
return -1;
}
} }
/** /**

View file

@ -57,7 +57,7 @@ bool blackboxDeviceEndLog(bool retainLog);
bool isBlackboxDeviceFull(void); bool isBlackboxDeviceFull(void);
bool isBlackboxDeviceWorking(void); bool isBlackboxDeviceWorking(void);
unsigned int blackboxGetLogNumber(void); int32_t blackboxGetLogNumber(void);
void blackboxReplenishHeaderBudget(void); void blackboxReplenishHeaderBudget(void);
blackboxBufferReserveStatus_e blackboxDeviceReserveBufferSpace(int32_t bytes); blackboxBufferReserveStatus_e blackboxDeviceReserveBufferSpace(int32_t bytes);

View file

@ -670,11 +670,14 @@ static bool osdDisplayStat(int statistic, uint8_t displayRow)
break; break;
case OSD_STAT_BLACKBOX_NUMBER: case OSD_STAT_BLACKBOX_NUMBER:
if (blackboxConfig()->device && blackboxConfig()->device != BLACKBOX_DEVICE_SERIAL) { {
itoa(blackboxGetLogNumber(), buff, 10); int32_t logNumber = blackboxGetLogNumber();
if (logNumber >= 0) {
itoa(logNumber, buff, 10);
osdDisplayStatisticLabel(displayRow, "BB LOG NUM", buff); osdDisplayStatisticLabel(displayRow, "BB LOG NUM", buff);
return true; return true;
} }
}
break; break;
#endif #endif

View file

@ -923,7 +923,12 @@ static void osdElementLogStatus(osdElementParms_t *element)
} else if (isBlackboxDeviceFull()) { } else if (isBlackboxDeviceFull()) {
tfp_sprintf(element->buff, "%c>", SYM_BBLOG); tfp_sprintf(element->buff, "%c>", SYM_BBLOG);
} else { } else {
tfp_sprintf(element->buff, "%c%d", SYM_BBLOG, blackboxGetLogNumber()); int32_t logNumber = blackboxGetLogNumber();
if (logNumber >= 0) {
tfp_sprintf(element->buff, "%c%d", SYM_BBLOG, logNumber);
} else {
tfp_sprintf(element->buff, "%c", SYM_BBLOG);
}
} }
} }
} }

View file

@ -423,7 +423,7 @@ extern "C" {
int32_t getMAhDrawn() { return 0; } int32_t getMAhDrawn() { return 0; }
int32_t getEstimatedAltitudeCm() { return 0; } int32_t getEstimatedAltitudeCm() { return 0; }
int32_t getEstimatedVario() { return 0; } int32_t getEstimatedVario() { return 0; }
unsigned int blackboxGetLogNumber() { return 0; } int32_t blackboxGetLogNumber() { return 0; }
bool isBlackboxDeviceWorking() { return true; } bool isBlackboxDeviceWorking() { return true; }
bool isBlackboxDeviceFull() { return false; } bool isBlackboxDeviceFull() { return false; }
serialPort_t *openSerialPort(serialPortIdentifier_e, serialPortFunction_e, serialReceiveCallbackPtr, void *, uint32_t, portMode_e, portOptions_e) {return NULL;} serialPort_t *openSerialPort(serialPortIdentifier_e, serialPortFunction_e, serialReceiveCallbackPtr, void *, uint32_t, portMode_e, portOptions_e) {return NULL;}

View file

@ -1132,7 +1132,7 @@ extern "C" {
return simulationVerticalSpeed; return simulationVerticalSpeed;
} }
unsigned int blackboxGetLogNumber() { int32_t blackboxGetLogNumber() {
return 0; return 0;
} }