Refactor
Changed mask var from 16 to 32 bits Changed variables names Inverse logic Added definitions to cli settings Added logging_fields_mask to blackbox header
This commit is contained in:
parent
6d9e4a813a
commit
d21b1fa77a
|
@ -88,15 +88,17 @@
|
|||
#define DEFAULT_BLACKBOX_DEVICE BLACKBOX_DEVICE_SERIAL
|
||||
#endif
|
||||
|
||||
PG_REGISTER_WITH_RESET_TEMPLATE(blackboxConfig_t, blackboxConfig, PG_BLACKBOX_CONFIG, 1);
|
||||
PG_REGISTER_WITH_RESET_TEMPLATE(blackboxConfig_t, blackboxConfig, PG_BLACKBOX_CONFIG, 2);
|
||||
|
||||
PG_RESET_TEMPLATE(blackboxConfig_t, blackboxConfig,
|
||||
.sample_rate = BLACKBOX_RATE_QUARTER,
|
||||
.device = DEFAULT_BLACKBOX_DEVICE,
|
||||
.fields = 0xffff,
|
||||
.fields_mask = 0, // default log all fields
|
||||
.mode = BLACKBOX_MODE_NORMAL
|
||||
);
|
||||
|
||||
STATIC_ASSERT((sizeof(blackboxConfig()->fields_mask) * 8) >= FLIGHT_LOG_FIELD_SELECT_COUNT, too_many_flight_log_fields_selections);
|
||||
|
||||
#define BLACKBOX_SHUTDOWN_TIMEOUT_MILLIS 200
|
||||
|
||||
// Some macros to make writing FLIGHT_LOG_FIELD_* constants shorter:
|
||||
|
@ -104,6 +106,7 @@ PG_RESET_TEMPLATE(blackboxConfig_t, blackboxConfig,
|
|||
#define PREDICT(x) CONCAT(FLIGHT_LOG_FIELD_PREDICTOR_, x)
|
||||
#define ENCODING(x) CONCAT(FLIGHT_LOG_FIELD_ENCODING_, x)
|
||||
#define CONDITION(x) CONCAT(FLIGHT_LOG_FIELD_CONDITION_, x)
|
||||
#define FIELD_SELECT(x) CONCAT(FLIGHT_LOG_FIELD_SELECT_, x)
|
||||
#define UNSIGNED FLIGHT_LOG_FIELD_UNSIGNED
|
||||
#define SIGNED FLIGHT_LOG_FIELD_SIGNED
|
||||
|
||||
|
@ -407,9 +410,9 @@ static bool blackboxIsOnlyLoggingIntraframes(void)
|
|||
return blackboxPInterval == 0;
|
||||
}
|
||||
|
||||
static bool isFieldSelected(SelectField field)
|
||||
static bool isFieldEnabled(FlightLogFieldSelect_e field)
|
||||
{
|
||||
return (blackboxConfig()->fields & (1 << field)) != 0;
|
||||
return (blackboxConfig()->fields_mask & (1 << field)) == 0;
|
||||
}
|
||||
|
||||
static bool testBlackboxConditionUncached(FlightLogFieldCondition condition)
|
||||
|
@ -426,66 +429,66 @@ static bool testBlackboxConditionUncached(FlightLogFieldCondition condition)
|
|||
case CONDITION(AT_LEAST_MOTORS_6):
|
||||
case CONDITION(AT_LEAST_MOTORS_7):
|
||||
case CONDITION(AT_LEAST_MOTORS_8):
|
||||
return (getMotorCount() >= condition - FLIGHT_LOG_FIELD_CONDITION_AT_LEAST_MOTORS_1 + 1) && isFieldSelected(SELECT_FIELD_MOTOR);
|
||||
return (getMotorCount() >= condition - FLIGHT_LOG_FIELD_CONDITION_AT_LEAST_MOTORS_1 + 1) && isFieldEnabled(FIELD_SELECT(MOTOR));
|
||||
|
||||
case CONDITION(TRICOPTER):
|
||||
return (mixerConfig()->mixerMode == MIXER_TRI || mixerConfig()->mixerMode == MIXER_CUSTOM_TRI) && isFieldSelected(SELECT_FIELD_MOTOR);
|
||||
return (mixerConfig()->mixerMode == MIXER_TRI || mixerConfig()->mixerMode == MIXER_CUSTOM_TRI) && isFieldEnabled(FIELD_SELECT(MOTOR));
|
||||
|
||||
case CONDITION(PID):
|
||||
return isFieldSelected(SELECT_FIELD_PID);
|
||||
return isFieldEnabled(FIELD_SELECT(PID));
|
||||
|
||||
case CONDITION(NONZERO_PID_D_0):
|
||||
case CONDITION(NONZERO_PID_D_1):
|
||||
case CONDITION(NONZERO_PID_D_2):
|
||||
return (currentPidProfile->pid[condition - FLIGHT_LOG_FIELD_CONDITION_NONZERO_PID_D_0].D != 0) && isFieldSelected(SELECT_FIELD_PID);
|
||||
return (currentPidProfile->pid[condition - FLIGHT_LOG_FIELD_CONDITION_NONZERO_PID_D_0].D != 0) && isFieldEnabled(FIELD_SELECT(PID));
|
||||
|
||||
case CONDITION(RC_COMMANDS):
|
||||
return isFieldSelected(SELECT_FIELD_RC_COMMANDS);
|
||||
return isFieldEnabled(FIELD_SELECT(RC_COMMANDS));
|
||||
|
||||
case CONDITION(SETPOINT):
|
||||
return isFieldSelected(SELECT_FIELD_SETPOINT);
|
||||
return isFieldEnabled(FIELD_SELECT(SETPOINT));
|
||||
|
||||
case CONDITION(MAG):
|
||||
#ifdef USE_MAG
|
||||
return sensors(SENSOR_MAG) && isFieldSelected(SELECT_FIELD_MAG);
|
||||
return sensors(SENSOR_MAG) && isFieldEnabled(FIELD_SELECT(MAG));
|
||||
#else
|
||||
return false;
|
||||
#endif
|
||||
|
||||
case CONDITION(BARO):
|
||||
#ifdef USE_BARO
|
||||
return sensors(SENSOR_BARO) && isFieldSelected(SELECT_FIELD_ALTITUDE);
|
||||
return sensors(SENSOR_BARO) && isFieldEnabled(FIELD_SELECT(ALTITUDE));
|
||||
#else
|
||||
return false;
|
||||
#endif
|
||||
|
||||
case CONDITION(VBAT):
|
||||
return (batteryConfig()->voltageMeterSource != VOLTAGE_METER_NONE) && isFieldSelected(SELECT_FIELD_BATTERY);
|
||||
return (batteryConfig()->voltageMeterSource != VOLTAGE_METER_NONE) && isFieldEnabled(FIELD_SELECT(BATTERY));
|
||||
|
||||
case CONDITION(AMPERAGE_ADC):
|
||||
return (batteryConfig()->currentMeterSource != CURRENT_METER_NONE) && (batteryConfig()->currentMeterSource != CURRENT_METER_VIRTUAL) && isFieldSelected(SELECT_FIELD_BATTERY);
|
||||
return (batteryConfig()->currentMeterSource != CURRENT_METER_NONE) && (batteryConfig()->currentMeterSource != CURRENT_METER_VIRTUAL) && isFieldEnabled(FIELD_SELECT(BATTERY));
|
||||
|
||||
case CONDITION(RANGEFINDER):
|
||||
#ifdef USE_RANGEFINDER
|
||||
return sensors(SENSOR_RANGEFINDER) && isFieldSelected(SELECT_FIELD_ALTITUDE);
|
||||
return sensors(SENSOR_RANGEFINDER) && isFieldEnabled(FIELD_SELECT(ALTITUDE));
|
||||
#else
|
||||
return false;
|
||||
#endif
|
||||
|
||||
case CONDITION(RSSI):
|
||||
return isRssiConfigured() && isFieldSelected(SELECT_FIELD_RSSI);
|
||||
return isRssiConfigured() && isFieldEnabled(FIELD_SELECT(RSSI));
|
||||
|
||||
case FLIGHT_LOG_FIELD_CONDITION_NOT_LOGGING_EVERY_FRAME:
|
||||
return blackboxPInterval != blackboxIInterval;
|
||||
|
||||
case CONDITION(GYRO):
|
||||
return isFieldSelected(SELECT_FIELD_GYRO);
|
||||
return isFieldEnabled(FIELD_SELECT(GYRO));
|
||||
|
||||
case CONDITION(ACC):
|
||||
return sensors(SENSOR_ACC) && isFieldSelected(SELECT_FIELD_ACC);
|
||||
return sensors(SENSOR_ACC) && isFieldEnabled(FIELD_SELECT(ACC));
|
||||
|
||||
case CONDITION(DEBUG):
|
||||
return (debugMode != DEBUG_NONE) && isFieldSelected(SELECT_FIELD_DEBUG);
|
||||
return (debugMode != DEBUG_NONE) && isFieldEnabled(FIELD_SELECT(DEBUG));
|
||||
|
||||
case CONDITION(NEVER):
|
||||
return false;
|
||||
|
@ -632,7 +635,7 @@ static void writeIntraframe(void)
|
|||
blackboxWriteSigned16VBArray(blackboxCurrent->debug, DEBUG16_VALUE_COUNT);
|
||||
}
|
||||
|
||||
if (isFieldSelected(SELECT_FIELD_MOTOR)) {
|
||||
if (isFieldEnabled(FIELD_SELECT(MOTOR))) {
|
||||
//Motors can be below minimum output when disarmed, but that doesn't happen much
|
||||
blackboxWriteUnsignedVB(blackboxCurrent->motor[0] - motorOutputLow);
|
||||
|
||||
|
@ -781,7 +784,7 @@ static void writeInterframe(void)
|
|||
blackboxWriteMainStateArrayUsingAveragePredictor(offsetof(blackboxMainState_t, debug), DEBUG16_VALUE_COUNT);
|
||||
}
|
||||
|
||||
if (isFieldSelected(SELECT_FIELD_MOTOR)) {
|
||||
if (isFieldEnabled(FIELD_SELECT(MOTOR))) {
|
||||
blackboxWriteMainStateArrayUsingAveragePredictor(offsetof(blackboxMainState_t, motor), getMotorCount());
|
||||
|
||||
if (testBlackboxCondition(FLIGHT_LOG_FIELD_CONDITION_TRICOPTER)) {
|
||||
|
@ -1470,6 +1473,8 @@ static bool blackboxWriteSysinfo(void)
|
|||
#endif // USE_RC_SMOOTHING_FILTER
|
||||
BLACKBOX_PRINT_HEADER_LINE("rates_type", "%d", currentControlRateProfile->rates_type);
|
||||
|
||||
BLACKBOX_PRINT_HEADER_LINE("logging_fields_mask", "%d", blackboxConfig()->fields_mask);
|
||||
|
||||
default:
|
||||
return true;
|
||||
}
|
||||
|
@ -1573,7 +1578,7 @@ STATIC_UNIT_TESTED bool blackboxShouldLogIFrame(void)
|
|||
STATIC_UNIT_TESTED bool blackboxShouldLogGpsHomeFrame(void)
|
||||
{
|
||||
if ((GPS_home[0] != gpsHistory.GPS_home[0] || GPS_home[1] != gpsHistory.GPS_home[1]
|
||||
|| (blackboxPFrameIndex == blackboxIInterval / 2 && blackboxIFrameIndex % 128 == 0)) && isFieldSelected(SELECT_FIELD_GPS)) {
|
||||
|| (blackboxPFrameIndex == blackboxIInterval / 2 && blackboxIFrameIndex % 128 == 0)) && isFieldEnabled(FIELD_SELECT(GPS))) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
@ -1625,7 +1630,7 @@ STATIC_UNIT_TESTED void blackboxLogIteration(timeUs_t currentTimeUs)
|
|||
writeInterframe();
|
||||
}
|
||||
#ifdef USE_GPS
|
||||
if (featureIsEnabled(FEATURE_GPS) && isFieldSelected(SELECT_FIELD_GPS)) {
|
||||
if (featureIsEnabled(FEATURE_GPS) && isFieldEnabled(FIELD_SELECT(GPS))) {
|
||||
if (blackboxShouldLogGpsHomeFrame()) {
|
||||
writeGPSHomeFrame();
|
||||
writeGPSFrame(currentTimeUs);
|
||||
|
@ -1693,7 +1698,7 @@ void blackboxUpdate(timeUs_t currentTimeUs)
|
|||
if (!sendFieldDefinition('I', 'P', blackboxMainFields, blackboxMainFields + 1, ARRAYLEN(blackboxMainFields),
|
||||
&blackboxMainFields[0].condition, &blackboxMainFields[1].condition)) {
|
||||
#ifdef USE_GPS
|
||||
if (featureIsEnabled(FEATURE_GPS) && isFieldSelected(SELECT_FIELD_GPS)) {
|
||||
if (featureIsEnabled(FEATURE_GPS) && isFieldEnabled(FIELD_SELECT(GPS))) {
|
||||
blackboxSetState(BLACKBOX_STATE_SEND_GPS_H_HEADER);
|
||||
} else
|
||||
#endif
|
||||
|
@ -1705,7 +1710,7 @@ void blackboxUpdate(timeUs_t currentTimeUs)
|
|||
blackboxReplenishHeaderBudget();
|
||||
//On entry of this state, xmitState.headerIndex is 0 and xmitState.u.fieldIndex is -1
|
||||
if (!sendFieldDefinition('H', 0, blackboxGpsHFields, blackboxGpsHFields + 1, ARRAYLEN(blackboxGpsHFields),
|
||||
NULL, NULL) && isFieldSelected(SELECT_FIELD_GPS)) {
|
||||
NULL, NULL) && isFieldEnabled(FIELD_SELECT(GPS))) {
|
||||
blackboxSetState(BLACKBOX_STATE_SEND_GPS_G_HEADER);
|
||||
}
|
||||
break;
|
||||
|
@ -1713,7 +1718,7 @@ void blackboxUpdate(timeUs_t currentTimeUs)
|
|||
blackboxReplenishHeaderBudget();
|
||||
//On entry of this state, xmitState.headerIndex is 0 and xmitState.u.fieldIndex is -1
|
||||
if (!sendFieldDefinition('G', 0, blackboxGpsGFields, blackboxGpsGFields + 1, ARRAYLEN(blackboxGpsGFields),
|
||||
&blackboxGpsGFields[0].condition, &blackboxGpsGFields[1].condition) && isFieldSelected(SELECT_FIELD_GPS)) {
|
||||
&blackboxGpsGFields[0].condition, &blackboxGpsGFields[1].condition) && isFieldEnabled(FIELD_SELECT(GPS))) {
|
||||
blackboxSetState(BLACKBOX_STATE_SEND_SLOW_HEADER);
|
||||
}
|
||||
break;
|
||||
|
|
|
@ -61,7 +61,7 @@ typedef enum FlightLogEvent {
|
|||
typedef struct blackboxConfig_s {
|
||||
uint8_t sample_rate; // sample rate
|
||||
uint8_t device;
|
||||
uint16_t fields;
|
||||
uint32_t fields_mask; // 1 to not log that field, 0 to log that field
|
||||
uint8_t mode;
|
||||
} blackboxConfig_t;
|
||||
|
||||
|
|
|
@ -59,21 +59,21 @@ typedef enum FlightLogFieldCondition {
|
|||
FLIGHT_LOG_FIELD_CONDITION_LAST = FLIGHT_LOG_FIELD_CONDITION_NEVER
|
||||
} FlightLogFieldCondition;
|
||||
|
||||
typedef enum SelectField { // no more than 16
|
||||
SELECT_FIELD_PID = 0,
|
||||
SELECT_FIELD_RC_COMMANDS,
|
||||
SELECT_FIELD_SETPOINT,
|
||||
SELECT_FIELD_BATTERY,
|
||||
SELECT_FIELD_MAG,
|
||||
SELECT_FIELD_ALTITUDE,
|
||||
SELECT_FIELD_RSSI,
|
||||
SELECT_FIELD_GYRO,
|
||||
SELECT_FIELD_ACC,
|
||||
SELECT_FIELD_DEBUG,
|
||||
SELECT_FIELD_MOTOR,
|
||||
|
||||
SELECT_FIELD_GPS = 15
|
||||
} SelectField;
|
||||
typedef enum FlightLogFieldSelect_e { // no more than 32
|
||||
FLIGHT_LOG_FIELD_SELECT_PID = 0,
|
||||
FLIGHT_LOG_FIELD_SELECT_RC_COMMANDS,
|
||||
FLIGHT_LOG_FIELD_SELECT_SETPOINT,
|
||||
FLIGHT_LOG_FIELD_SELECT_BATTERY,
|
||||
FLIGHT_LOG_FIELD_SELECT_MAG,
|
||||
FLIGHT_LOG_FIELD_SELECT_ALTITUDE,
|
||||
FLIGHT_LOG_FIELD_SELECT_RSSI,
|
||||
FLIGHT_LOG_FIELD_SELECT_GYRO,
|
||||
FLIGHT_LOG_FIELD_SELECT_ACC,
|
||||
FLIGHT_LOG_FIELD_SELECT_DEBUG,
|
||||
FLIGHT_LOG_FIELD_SELECT_MOTOR,
|
||||
FLIGHT_LOG_FIELD_SELECT_GPS,
|
||||
FLIGHT_LOG_FIELD_SELECT_COUNT
|
||||
} FlightLogFieldSelect_e;
|
||||
|
||||
typedef enum FlightLogFieldPredictor {
|
||||
//No prediction:
|
||||
|
|
|
@ -778,18 +778,26 @@ const clivalue_t valueTable[] = {
|
|||
#ifdef USE_BLACKBOX
|
||||
{ "blackbox_sample_rate", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, .config.lookup = { TABLE_BLACKBOX_SAMPLE_RATE }, PG_BLACKBOX_CONFIG, offsetof(blackboxConfig_t, sample_rate) },
|
||||
{ "blackbox_device", VAR_UINT8 | HARDWARE_VALUE | MODE_LOOKUP, .config.lookup = { TABLE_BLACKBOX_DEVICE }, PG_BLACKBOX_CONFIG, offsetof(blackboxConfig_t, device) },
|
||||
{ "bb_log_pids", VAR_UINT16 | MASTER_VALUE | MODE_BITSET, .config.bitpos = SELECT_FIELD_PID, PG_BLACKBOX_CONFIG, offsetof(blackboxConfig_t, fields) },
|
||||
{ "bb_log_rc", VAR_UINT16 | MASTER_VALUE | MODE_BITSET, .config.bitpos = SELECT_FIELD_RC_COMMANDS, PG_BLACKBOX_CONFIG, offsetof(blackboxConfig_t, fields) },
|
||||
{ "bb_log_setpoint", VAR_UINT16 | MASTER_VALUE | MODE_BITSET, .config.bitpos = SELECT_FIELD_SETPOINT, PG_BLACKBOX_CONFIG, offsetof(blackboxConfig_t, fields) },
|
||||
{ "bb_log_bat", VAR_UINT16 | MASTER_VALUE | MODE_BITSET, .config.bitpos = SELECT_FIELD_BATTERY, PG_BLACKBOX_CONFIG, offsetof(blackboxConfig_t, fields) },
|
||||
{ "bb_log_mag", VAR_UINT16 | MASTER_VALUE | MODE_BITSET, .config.bitpos = SELECT_FIELD_MAG, PG_BLACKBOX_CONFIG, offsetof(blackboxConfig_t, fields) },
|
||||
{ "bb_log_alt", VAR_UINT16 | MASTER_VALUE | MODE_BITSET, .config.bitpos = SELECT_FIELD_ALTITUDE, PG_BLACKBOX_CONFIG, offsetof(blackboxConfig_t, fields) },
|
||||
{ "bb_log_rssi", VAR_UINT16 | MASTER_VALUE | MODE_BITSET, .config.bitpos = SELECT_FIELD_RSSI, PG_BLACKBOX_CONFIG, offsetof(blackboxConfig_t, fields) },
|
||||
{ "bb_log_gyro", VAR_UINT16 | MASTER_VALUE | MODE_BITSET, .config.bitpos = SELECT_FIELD_GYRO, PG_BLACKBOX_CONFIG, offsetof(blackboxConfig_t, fields) },
|
||||
{ "bb_log_acc", VAR_UINT16 | MASTER_VALUE | MODE_BITSET, .config.bitpos = SELECT_FIELD_ACC, PG_BLACKBOX_CONFIG, offsetof(blackboxConfig_t, fields) },
|
||||
{ "bb_log_debug", VAR_UINT16 | MASTER_VALUE | MODE_BITSET, .config.bitpos = SELECT_FIELD_DEBUG, PG_BLACKBOX_CONFIG, offsetof(blackboxConfig_t, fields) },
|
||||
{ "bb_log_motors", VAR_UINT16 | MASTER_VALUE | MODE_BITSET, .config.bitpos = SELECT_FIELD_MOTOR, PG_BLACKBOX_CONFIG, offsetof(blackboxConfig_t, fields) },
|
||||
{ "bb_log_gps", VAR_UINT16 | MASTER_VALUE | MODE_BITSET, .config.bitpos = SELECT_FIELD_GPS, PG_BLACKBOX_CONFIG, offsetof(blackboxConfig_t, fields) },
|
||||
{ "blackbox_disable_pids", VAR_UINT32 | MASTER_VALUE | MODE_BITSET, .config.bitpos = FLIGHT_LOG_FIELD_SELECT_PID, PG_BLACKBOX_CONFIG, offsetof(blackboxConfig_t, fields_mask) },
|
||||
{ "blackbox_disable_rc", VAR_UINT32 | MASTER_VALUE | MODE_BITSET, .config.bitpos = FLIGHT_LOG_FIELD_SELECT_RC_COMMANDS, PG_BLACKBOX_CONFIG, offsetof(blackboxConfig_t, fields_mask) },
|
||||
{ "blackbox_disable_setpoint", VAR_UINT32 | MASTER_VALUE | MODE_BITSET, .config.bitpos = FLIGHT_LOG_FIELD_SELECT_SETPOINT, PG_BLACKBOX_CONFIG, offsetof(blackboxConfig_t, fields_mask) },
|
||||
{ "blackbox_disable_bat", VAR_UINT32 | MASTER_VALUE | MODE_BITSET, .config.bitpos = FLIGHT_LOG_FIELD_SELECT_BATTERY, PG_BLACKBOX_CONFIG, offsetof(blackboxConfig_t, fields_mask) },
|
||||
#ifdef USE_MAG
|
||||
{ "blackbox_disable_mag", VAR_UINT32 | MASTER_VALUE | MODE_BITSET, .config.bitpos = FLIGHT_LOG_FIELD_SELECT_MAG, PG_BLACKBOX_CONFIG, offsetof(blackboxConfig_t, fields_mask) },
|
||||
#endif
|
||||
#if defined(USE_BARO) || defined(USE_RANGEFINDER)
|
||||
{ "blackbox_disable_alt", VAR_UINT32 | MASTER_VALUE | MODE_BITSET, .config.bitpos = FLIGHT_LOG_FIELD_SELECT_ALTITUDE, PG_BLACKBOX_CONFIG, offsetof(blackboxConfig_t, fields_mask) },
|
||||
#endif
|
||||
{ "blackbox_disable_rssi", VAR_UINT32 | MASTER_VALUE | MODE_BITSET, .config.bitpos = FLIGHT_LOG_FIELD_SELECT_RSSI, PG_BLACKBOX_CONFIG, offsetof(blackboxConfig_t, fields_mask) },
|
||||
{ "blackbox_disable_gyro", VAR_UINT32 | MASTER_VALUE | MODE_BITSET, .config.bitpos = FLIGHT_LOG_FIELD_SELECT_GYRO, PG_BLACKBOX_CONFIG, offsetof(blackboxConfig_t, fields_mask) },
|
||||
#if defined(USE_ACC)
|
||||
{ "blackbox_disable_acc", VAR_UINT32 | MASTER_VALUE | MODE_BITSET, .config.bitpos = FLIGHT_LOG_FIELD_SELECT_ACC, PG_BLACKBOX_CONFIG, offsetof(blackboxConfig_t, fields_mask) },
|
||||
#endif
|
||||
{ "blackbox_disable_debug", VAR_UINT32 | MASTER_VALUE | MODE_BITSET, .config.bitpos = FLIGHT_LOG_FIELD_SELECT_DEBUG, PG_BLACKBOX_CONFIG, offsetof(blackboxConfig_t, fields_mask) },
|
||||
{ "blackbox_disable_motors", VAR_UINT32 | MASTER_VALUE | MODE_BITSET, .config.bitpos = FLIGHT_LOG_FIELD_SELECT_MOTOR, PG_BLACKBOX_CONFIG, offsetof(blackboxConfig_t, fields_mask) },
|
||||
#ifdef USE_GPS
|
||||
{ "blackbox_disable_gps", VAR_UINT32 | MASTER_VALUE | MODE_BITSET, .config.bitpos = FLIGHT_LOG_FIELD_SELECT_GPS, PG_BLACKBOX_CONFIG, offsetof(blackboxConfig_t, fields_mask) },
|
||||
#endif
|
||||
{ "blackbox_mode", VAR_UINT8 | MASTER_VALUE | MODE_LOOKUP, .config.lookup = { TABLE_BLACKBOX_MODE }, PG_BLACKBOX_CONFIG, offsetof(blackboxConfig_t, mode) },
|
||||
#endif
|
||||
|
||||
|
|
|
@ -1592,7 +1592,6 @@ static bool mspProcessOutCommand(int16_t cmdMSP, sbuf_t *dst)
|
|||
sbufWriteU8(dst, blackboxGetRateDenom());
|
||||
sbufWriteU16(dst, blackboxGetPRatio());
|
||||
sbufWriteU8(dst, blackboxConfig()->sample_rate);
|
||||
sbufWriteU16(dst, blackboxConfig()->fields);
|
||||
#else
|
||||
sbufWriteU8(dst, 0); // Blackbox not supported
|
||||
sbufWriteU8(dst, 0);
|
||||
|
@ -1600,7 +1599,6 @@ static bool mspProcessOutCommand(int16_t cmdMSP, sbuf_t *dst)
|
|||
sbufWriteU8(dst, 0);
|
||||
sbufWriteU16(dst, 0);
|
||||
sbufWriteU8(dst, 0);
|
||||
sbufWriteU16(dst, 0);
|
||||
#endif
|
||||
break;
|
||||
|
||||
|
@ -2783,9 +2781,6 @@ static mspResult_e mspProcessInCommand(mspDescriptor_t srcDesc, int16_t cmdMSP,
|
|||
// sample_rate not specified in MSP, so calculate it from old p_ratio
|
||||
blackboxConfigMutable()->sample_rate = blackboxCalculateSampleRate(pRatio);
|
||||
}
|
||||
if (sbufBytesRemaining(src) >= 2) {
|
||||
blackboxConfigMutable()->fields = sbufReadU16(src);
|
||||
}
|
||||
}
|
||||
break;
|
||||
#endif
|
||||
|
|
Loading…
Reference in New Issue