mirror of
https://github.com/betaflight/betaflight.git
synced 2025-07-15 12:25:20 +03:00
Log disarm reason.
This commit is contained in:
parent
6433aaa688
commit
2fead0aedf
16 changed files with 60 additions and 23 deletions
|
@ -1457,6 +1457,9 @@ void blackboxLogEvent(FlightLogEvent event, flightLogEventData_t *data)
|
||||||
blackboxWriteUnsignedVB(data->flightMode.flags);
|
blackboxWriteUnsignedVB(data->flightMode.flags);
|
||||||
blackboxWriteUnsignedVB(data->flightMode.lastFlags);
|
blackboxWriteUnsignedVB(data->flightMode.lastFlags);
|
||||||
break;
|
break;
|
||||||
|
case FLIGHT_LOG_EVENT_DISARM:
|
||||||
|
blackboxWriteUnsignedVB(data->disarm.reason);
|
||||||
|
break;
|
||||||
case FLIGHT_LOG_EVENT_INFLIGHT_ADJUSTMENT:
|
case FLIGHT_LOG_EVENT_INFLIGHT_ADJUSTMENT:
|
||||||
if (data->inflightAdjustment.floatFlag) {
|
if (data->inflightAdjustment.floatFlag) {
|
||||||
blackboxWrite(data->inflightAdjustment.adjustmentFunction + FLIGHT_LOG_EVENT_INFLIGHT_ADJUSTMENT_FUNCTION_FLOAT_VALUE_FLAG);
|
blackboxWrite(data->inflightAdjustment.adjustmentFunction + FLIGHT_LOG_EVENT_INFLIGHT_ADJUSTMENT_FUNCTION_FLOAT_VALUE_FLAG);
|
||||||
|
@ -1474,6 +1477,8 @@ void blackboxLogEvent(FlightLogEvent event, flightLogEventData_t *data)
|
||||||
blackboxWriteString("End of log");
|
blackboxWriteString("End of log");
|
||||||
blackboxWrite(0);
|
blackboxWrite(0);
|
||||||
break;
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -40,8 +40,12 @@ typedef enum BlackboxMode {
|
||||||
|
|
||||||
typedef enum FlightLogEvent {
|
typedef enum FlightLogEvent {
|
||||||
FLIGHT_LOG_EVENT_SYNC_BEEP = 0,
|
FLIGHT_LOG_EVENT_SYNC_BEEP = 0,
|
||||||
|
FLIGHT_LOG_EVENT_AUTOTUNE_CYCLE_START = 10, // UNUSED
|
||||||
|
FLIGHT_LOG_EVENT_AUTOTUNE_CYCLE_RESULT = 11, // UNUSED
|
||||||
|
FLIGHT_LOG_EVENT_AUTOTUNE_TARGETS = 12, // UNUSED
|
||||||
FLIGHT_LOG_EVENT_INFLIGHT_ADJUSTMENT = 13,
|
FLIGHT_LOG_EVENT_INFLIGHT_ADJUSTMENT = 13,
|
||||||
FLIGHT_LOG_EVENT_LOGGING_RESUME = 14,
|
FLIGHT_LOG_EVENT_LOGGING_RESUME = 14,
|
||||||
|
FLIGHT_LOG_EVENT_DISARM = 15,
|
||||||
FLIGHT_LOG_EVENT_FLIGHTMODE = 30, // Add new event type for flight mode status.
|
FLIGHT_LOG_EVENT_FLIGHTMODE = 30, // Add new event type for flight mode status.
|
||||||
FLIGHT_LOG_EVENT_LOG_END = 255
|
FLIGHT_LOG_EVENT_LOG_END = 255
|
||||||
} FlightLogEvent;
|
} FlightLogEvent;
|
||||||
|
|
|
@ -113,6 +113,10 @@ typedef struct flightLogEvent_syncBeep_s {
|
||||||
uint32_t time;
|
uint32_t time;
|
||||||
} flightLogEvent_syncBeep_t;
|
} flightLogEvent_syncBeep_t;
|
||||||
|
|
||||||
|
typedef struct flightLogEvent_disarm_s {
|
||||||
|
uint32_t reason;
|
||||||
|
} flightLogEvent_disarm_t;
|
||||||
|
|
||||||
typedef struct flightLogEvent_flightMode_s { // New Event Data type
|
typedef struct flightLogEvent_flightMode_s { // New Event Data type
|
||||||
uint32_t flags;
|
uint32_t flags;
|
||||||
uint32_t lastFlags;
|
uint32_t lastFlags;
|
||||||
|
@ -135,6 +139,7 @@ typedef struct flightLogEvent_loggingResume_s {
|
||||||
typedef union flightLogEventData_u {
|
typedef union flightLogEventData_u {
|
||||||
flightLogEvent_syncBeep_t syncBeep;
|
flightLogEvent_syncBeep_t syncBeep;
|
||||||
flightLogEvent_flightMode_t flightMode; // New event data
|
flightLogEvent_flightMode_t flightMode; // New event data
|
||||||
|
flightLogEvent_disarm_t disarm;
|
||||||
flightLogEvent_inflightAdjustment_t inflightAdjustment;
|
flightLogEvent_inflightAdjustment_t inflightAdjustment;
|
||||||
flightLogEvent_loggingResume_t loggingResume;
|
flightLogEvent_loggingResume_t loggingResume;
|
||||||
} flightLogEventData_t;
|
} flightLogEventData_t;
|
||||||
|
|
|
@ -28,6 +28,7 @@
|
||||||
#include "build/debug.h"
|
#include "build/debug.h"
|
||||||
|
|
||||||
#include "blackbox/blackbox.h"
|
#include "blackbox/blackbox.h"
|
||||||
|
#include "blackbox/blackbox_fielddefs.h"
|
||||||
|
|
||||||
#include "cli/cli.h"
|
#include "cli/cli.h"
|
||||||
|
|
||||||
|
@ -422,7 +423,7 @@ void updateArmingStatus(void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void disarm(void)
|
void disarm(flightLogDisarmReason_e reason)
|
||||||
{
|
{
|
||||||
if (ARMING_FLAG(ARMED)) {
|
if (ARMING_FLAG(ARMED)) {
|
||||||
ENABLE_ARMING_FLAG(WAS_EVER_ARMED);
|
ENABLE_ARMING_FLAG(WAS_EVER_ARMED);
|
||||||
|
@ -436,6 +437,10 @@ void disarm(void)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef USE_BLACKBOX
|
#ifdef USE_BLACKBOX
|
||||||
|
flightLogEvent_disarm_t eventData;
|
||||||
|
eventData.reason = reason;
|
||||||
|
blackboxLogEvent(FLIGHT_LOG_EVENT_DISARM, (flightLogEventData_t*)&eventData);
|
||||||
|
|
||||||
if (blackboxConfig()->device && blackboxConfig()->mode != BLACKBOX_MODE_ALWAYS_ON) { // Close the log upon disarm except when logging mode is ALWAYS ON
|
if (blackboxConfig()->device && blackboxConfig()->mode != BLACKBOX_MODE_ALWAYS_ON) { // Close the log upon disarm except when logging mode is ALWAYS ON
|
||||||
blackboxFinish();
|
blackboxFinish();
|
||||||
}
|
}
|
||||||
|
@ -739,7 +744,7 @@ bool processRx(timeUs_t currentTimeUs)
|
||||||
// in 3D mode, we need to be able to disarm by switch at any time
|
// in 3D mode, we need to be able to disarm by switch at any time
|
||||||
if (featureIsEnabled(FEATURE_3D)) {
|
if (featureIsEnabled(FEATURE_3D)) {
|
||||||
if (!IS_RC_MODE_ACTIVE(BOXARM))
|
if (!IS_RC_MODE_ACTIVE(BOXARM))
|
||||||
disarm();
|
disarm(DISARM_REASON_SWITCH);
|
||||||
}
|
}
|
||||||
|
|
||||||
updateRSSI(currentTimeUs);
|
updateRSSI(currentTimeUs);
|
||||||
|
@ -881,7 +886,7 @@ bool processRx(timeUs_t currentTimeUs)
|
||||||
if (throttleStatus == THROTTLE_LOW) {
|
if (throttleStatus == THROTTLE_LOW) {
|
||||||
if ((autoDisarmDelayUs > 0) && (currentTimeUs > disarmAt)) {
|
if ((autoDisarmDelayUs > 0) && (currentTimeUs > disarmAt)) {
|
||||||
// auto-disarm configured and delay is over
|
// auto-disarm configured and delay is over
|
||||||
disarm();
|
disarm(DISARM_REASON_THROTTLE_TIMEOUT);
|
||||||
armedBeeperOn = false;
|
armedBeeperOn = false;
|
||||||
} else {
|
} else {
|
||||||
// still armed; do warning beeps while armed
|
// still armed; do warning beeps while armed
|
||||||
|
@ -1093,7 +1098,7 @@ static FAST_CODE void subTaskPidController(timeUs_t currentTimeUs)
|
||||||
runawayTakeoffTriggerUs = currentTimeUs + RUNAWAY_TAKEOFF_ACTIVATE_DELAY;
|
runawayTakeoffTriggerUs = currentTimeUs + RUNAWAY_TAKEOFF_ACTIVATE_DELAY;
|
||||||
} else if (currentTimeUs > runawayTakeoffTriggerUs) {
|
} else if (currentTimeUs > runawayTakeoffTriggerUs) {
|
||||||
setArmingDisabled(ARMING_DISABLED_RUNAWAY_TAKEOFF);
|
setArmingDisabled(ARMING_DISABLED_RUNAWAY_TAKEOFF);
|
||||||
disarm();
|
disarm(DISARM_REASON_RUNAWAY_TAKEOFF);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
runawayTakeoffTriggerUs = 0;
|
runawayTakeoffTriggerUs = 0;
|
||||||
|
|
|
@ -47,6 +47,21 @@ typedef enum {
|
||||||
LAUNCH_CONTROL_MODE_COUNT // must be the last element
|
LAUNCH_CONTROL_MODE_COUNT // must be the last element
|
||||||
} launchControlMode_e;
|
} launchControlMode_e;
|
||||||
|
|
||||||
|
typedef enum {
|
||||||
|
DISARM_REASON_ARMING_DISABLED = 0,
|
||||||
|
DISARM_REASON_FAILSAFE = 1,
|
||||||
|
DISARM_REASON_THROTTLE_TIMEOUT = 2,
|
||||||
|
DISARM_REASON_STICKS = 3,
|
||||||
|
DISARM_REASON_SWITCH = 4,
|
||||||
|
DISARM_REASON_CRASH_PROTECTION = 5,
|
||||||
|
DISARM_REASON_RUNAWAY_TAKEOFF = 6,
|
||||||
|
DISARM_REASON_GPS_RESCUE = 7,
|
||||||
|
DISARM_REASON_SERIAL_COMMAND = 8,
|
||||||
|
#ifdef UNIT_TEST
|
||||||
|
DISARM_REASON_SYSTEM = 255,
|
||||||
|
#endif
|
||||||
|
} flightLogDisarmReason_e;
|
||||||
|
|
||||||
#ifdef USE_LAUNCH_CONTROL
|
#ifdef USE_LAUNCH_CONTROL
|
||||||
#define LAUNCH_CONTROL_THROTTLE_TRIGGER_MAX 90
|
#define LAUNCH_CONTROL_THROTTLE_TRIGGER_MAX 90
|
||||||
extern const char * const osdLaunchControlModeNames[LAUNCH_CONTROL_MODE_COUNT];
|
extern const char * const osdLaunchControlModeNames[LAUNCH_CONTROL_MODE_COUNT];
|
||||||
|
@ -59,7 +74,7 @@ void handleInflightCalibrationStickPosition(void);
|
||||||
|
|
||||||
void resetArmingDisabled(void);
|
void resetArmingDisabled(void);
|
||||||
|
|
||||||
void disarm(void);
|
void disarm(flightLogDisarmReason_e reason);
|
||||||
void tryArm(void);
|
void tryArm(void);
|
||||||
|
|
||||||
bool processRx(timeUs_t currentTimeUs);
|
bool processRx(timeUs_t currentTimeUs);
|
||||||
|
|
|
@ -179,7 +179,7 @@ void processRcStickPositions()
|
||||||
if (ARMING_FLAG(ARMED) && rxIsReceivingSignal() && !failsafeIsActive() ) {
|
if (ARMING_FLAG(ARMED) && rxIsReceivingSignal() && !failsafeIsActive() ) {
|
||||||
rcDisarmTicks++;
|
rcDisarmTicks++;
|
||||||
if (rcDisarmTicks > 3) {
|
if (rcDisarmTicks > 3) {
|
||||||
disarm();
|
disarm(DISARM_REASON_SWITCH);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -189,7 +189,7 @@ void processRcStickPositions()
|
||||||
// Disarm on throttle down + yaw
|
// Disarm on throttle down + yaw
|
||||||
resetTryingToArm();
|
resetTryingToArm();
|
||||||
if (ARMING_FLAG(ARMED))
|
if (ARMING_FLAG(ARMED))
|
||||||
disarm();
|
disarm(DISARM_REASON_STICKS);
|
||||||
else {
|
else {
|
||||||
beeper(BEEPER_DISARM_REPEAT); // sound tone while stick held
|
beeper(BEEPER_DISARM_REPEAT); // sound tone while stick held
|
||||||
repeatAfter(STICK_AUTOREPEAT_MS); // disarm tone will repeat
|
repeatAfter(STICK_AUTOREPEAT_MS); // disarm tone will repeat
|
||||||
|
|
|
@ -320,7 +320,7 @@ void failsafeUpdateState(void)
|
||||||
#endif
|
#endif
|
||||||
case FAILSAFE_LANDED:
|
case FAILSAFE_LANDED:
|
||||||
setArmingDisabled(ARMING_DISABLED_FAILSAFE); // To prevent accidently rearming by an intermittent rx link
|
setArmingDisabled(ARMING_DISABLED_FAILSAFE); // To prevent accidently rearming by an intermittent rx link
|
||||||
disarm();
|
disarm(DISARM_REASON_FAILSAFE);
|
||||||
failsafeState.receivingRxDataPeriod = millis() + failsafeState.receivingRxDataPeriodPreset; // set required period of valid rxData
|
failsafeState.receivingRxDataPeriod = millis() + failsafeState.receivingRxDataPeriodPreset; // set required period of valid rxData
|
||||||
failsafeState.phase = FAILSAFE_RX_LOSS_MONITORING;
|
failsafeState.phase = FAILSAFE_RX_LOSS_MONITORING;
|
||||||
reprocessState = true;
|
reprocessState = true;
|
||||||
|
|
|
@ -578,7 +578,7 @@ void updateGPSRescueState(void)
|
||||||
|
|
||||||
if (!STATE(GPS_FIX_HOME)) {
|
if (!STATE(GPS_FIX_HOME)) {
|
||||||
setArmingDisabled(ARMING_DISABLED_ARM_SWITCH);
|
setArmingDisabled(ARMING_DISABLED_ARM_SWITCH);
|
||||||
disarm();
|
disarm(DISARM_REASON_GPS_RESCUE);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Minimum distance detection.
|
// Minimum distance detection.
|
||||||
|
@ -588,7 +588,7 @@ void updateGPSRescueState(void)
|
||||||
// Never allow rescue mode to engage as a failsafe when too close.
|
// Never allow rescue mode to engage as a failsafe when too close.
|
||||||
if (rescueState.isFailsafe) {
|
if (rescueState.isFailsafe) {
|
||||||
setArmingDisabled(ARMING_DISABLED_ARM_SWITCH);
|
setArmingDisabled(ARMING_DISABLED_ARM_SWITCH);
|
||||||
disarm();
|
disarm(DISARM_REASON_GPS_RESCUE);
|
||||||
}
|
}
|
||||||
|
|
||||||
// When not in failsafe mode: leave it up to the sanity check setting.
|
// When not in failsafe mode: leave it up to the sanity check setting.
|
||||||
|
@ -677,7 +677,7 @@ void updateGPSRescueState(void)
|
||||||
|
|
||||||
if (rescueState.sensor.accMagnitude > magnitudeTrigger) {
|
if (rescueState.sensor.accMagnitude > magnitudeTrigger) {
|
||||||
setArmingDisabled(ARMING_DISABLED_ARM_SWITCH);
|
setArmingDisabled(ARMING_DISABLED_ARM_SWITCH);
|
||||||
disarm();
|
disarm(DISARM_REASON_GPS_RESCUE);
|
||||||
rescueState.phase = RESCUE_COMPLETE;
|
rescueState.phase = RESCUE_COMPLETE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -692,7 +692,7 @@ void updateGPSRescueState(void)
|
||||||
break;
|
break;
|
||||||
case RESCUE_ABORT:
|
case RESCUE_ABORT:
|
||||||
setArmingDisabled(ARMING_DISABLED_ARM_SWITCH);
|
setArmingDisabled(ARMING_DISABLED_ARM_SWITCH);
|
||||||
disarm();
|
disarm(DISARM_REASON_GPS_RESCUE);
|
||||||
rescueStop();
|
rescueStop();
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
|
|
@ -933,7 +933,7 @@ static void detectAndSetCrashRecovery(
|
||||||
&& fabsf(getSetpointRate(axis)) < crashSetpointThreshold) {
|
&& fabsf(getSetpointRate(axis)) < crashSetpointThreshold) {
|
||||||
if (crash_recovery == PID_CRASH_RECOVERY_DISARM) {
|
if (crash_recovery == PID_CRASH_RECOVERY_DISARM) {
|
||||||
setArmingDisabled(ARMING_DISABLED_CRASH_DETECTED);
|
setArmingDisabled(ARMING_DISABLED_CRASH_DETECTED);
|
||||||
disarm();
|
disarm(DISARM_REASON_CRASH_PROTECTION);
|
||||||
} else {
|
} else {
|
||||||
inCrashRecoveryMode = true;
|
inCrashRecoveryMode = true;
|
||||||
crashDetectedAtUs = currentTimeUs;
|
crashDetectedAtUs = currentTimeUs;
|
||||||
|
|
|
@ -2841,7 +2841,7 @@ static mspResult_e mspProcessInCommand(mspDescriptor_t srcDesc, uint8_t cmdMSP,
|
||||||
mspArmingDisableByDescriptor(srcDesc);
|
mspArmingDisableByDescriptor(srcDesc);
|
||||||
setArmingDisabled(ARMING_DISABLED_MSP);
|
setArmingDisabled(ARMING_DISABLED_MSP);
|
||||||
if (ARMING_FLAG(ARMED)) {
|
if (ARMING_FLAG(ARMED)) {
|
||||||
disarm();
|
disarm(DISARM_REASON_ARMING_DISABLED);
|
||||||
}
|
}
|
||||||
#ifdef USE_RUNAWAY_TAKEOFF
|
#ifdef USE_RUNAWAY_TAKEOFF
|
||||||
runawayTakeoffTemporaryDisable(false);
|
runawayTakeoffTemporaryDisable(false);
|
||||||
|
|
|
@ -614,7 +614,7 @@ static bool bstSlaveProcessWriteCommand(uint8_t bstWriteCommand)
|
||||||
break;
|
break;
|
||||||
case BST_DISARM:
|
case BST_DISARM:
|
||||||
if (ARMING_FLAG(ARMED)) {
|
if (ARMING_FLAG(ARMED)) {
|
||||||
disarm();
|
disarm(DISARM_REASON_SERIAL_COMMAND);
|
||||||
}
|
}
|
||||||
setArmingDisabled(ARMING_DISABLED_BST);
|
setArmingDisabled(ARMING_DISABLED_BST);
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -676,7 +676,7 @@ TEST(ArmingPreventionTest, GPSRescueWithoutFixPreventsArm)
|
||||||
rcData[AUX1] = 1000;
|
rcData[AUX1] = 1000;
|
||||||
|
|
||||||
// when
|
// when
|
||||||
disarm();
|
disarm(DISARM_REASON_SYSTEM);
|
||||||
updateActivatedModes();
|
updateActivatedModes();
|
||||||
updateArmingStatus();
|
updateArmingStatus();
|
||||||
|
|
||||||
|
@ -720,7 +720,7 @@ TEST(ArmingPreventionTest, GPSRescueWithoutFixPreventsArm)
|
||||||
rcData[AUX1] = 1000;
|
rcData[AUX1] = 1000;
|
||||||
|
|
||||||
// when
|
// when
|
||||||
disarm();
|
disarm(DISARM_REASON_SYSTEM);
|
||||||
updateActivatedModes();
|
updateActivatedModes();
|
||||||
updateArmingStatus();
|
updateArmingStatus();
|
||||||
|
|
||||||
|
@ -790,7 +790,7 @@ TEST(ArmingPreventionTest, GPSRescueSwitchPreventsArm)
|
||||||
rcData[AUX1] = 1000;
|
rcData[AUX1] = 1000;
|
||||||
|
|
||||||
// when
|
// when
|
||||||
disarm();
|
disarm(DISARM_REASON_SYSTEM);
|
||||||
updateActivatedModes();
|
updateActivatedModes();
|
||||||
updateArmingStatus();
|
updateArmingStatus();
|
||||||
|
|
||||||
|
@ -834,7 +834,7 @@ TEST(ArmingPreventionTest, GPSRescueSwitchPreventsArm)
|
||||||
rcData[AUX1] = 1000;
|
rcData[AUX1] = 1000;
|
||||||
|
|
||||||
// when
|
// when
|
||||||
disarm();
|
disarm(DISARM_REASON_SYSTEM);
|
||||||
updateActivatedModes();
|
updateActivatedModes();
|
||||||
updateArmingStatus();
|
updateArmingStatus();
|
||||||
|
|
||||||
|
@ -951,7 +951,7 @@ TEST(ArmingPreventionTest, Paralyze)
|
||||||
rcData[AUX1] = 1000;
|
rcData[AUX1] = 1000;
|
||||||
|
|
||||||
// when
|
// when
|
||||||
disarm();
|
disarm(DISARM_REASON_SYSTEM);
|
||||||
updateActivatedModes();
|
updateActivatedModes();
|
||||||
updateArmingStatus();
|
updateArmingStatus();
|
||||||
|
|
||||||
|
@ -1098,4 +1098,5 @@ extern "C" {
|
||||||
void compassStartCalibration(void) {}
|
void compassStartCalibration(void) {}
|
||||||
bool compassIsCalibrationComplete(void) { return true; }
|
bool compassIsCalibrationComplete(void) { return true; }
|
||||||
bool isUpright(void) { return mockIsUpright; }
|
bool isUpright(void) { return mockIsUpright; }
|
||||||
|
void blackboxLogEvent(FlightLogEvent, union flightLogEventData_u *) {};
|
||||||
}
|
}
|
||||||
|
|
|
@ -35,6 +35,7 @@ extern "C" {
|
||||||
#include "fc/runtime_config.h"
|
#include "fc/runtime_config.h"
|
||||||
#include "fc/rc_modes.h"
|
#include "fc/rc_modes.h"
|
||||||
#include "fc/rc_controls.h"
|
#include "fc/rc_controls.h"
|
||||||
|
#include "fc/core.h"
|
||||||
|
|
||||||
#include "flight/failsafe.h"
|
#include "flight/failsafe.h"
|
||||||
|
|
||||||
|
@ -571,7 +572,7 @@ bool featureIsEnabled(uint32_t mask) {
|
||||||
return (mask & testFeatureMask);
|
return (mask & testFeatureMask);
|
||||||
}
|
}
|
||||||
|
|
||||||
void disarm(void) {
|
void disarm(flightLogDisarmReason_e) {
|
||||||
callCounts[COUNTER_MW_DISARM]++;
|
callCounts[COUNTER_MW_DISARM]++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -79,7 +79,7 @@ extern "C" {
|
||||||
float getRcDeflection(int axis) { return simulatedRcDeflection[axis]; }
|
float getRcDeflection(int axis) { return simulatedRcDeflection[axis]; }
|
||||||
void beeperConfirmationBeeps(uint8_t) { }
|
void beeperConfirmationBeeps(uint8_t) { }
|
||||||
bool isLaunchControlActive(void) {return unitLaunchControlActive; }
|
bool isLaunchControlActive(void) {return unitLaunchControlActive; }
|
||||||
void disarm(void) { }
|
void disarm(flightLogDisarmReason_e) { }
|
||||||
float applyFFLimit(int axis, float value, float Kp, float currentPidSetpoint) {
|
float applyFFLimit(int axis, float value, float Kp, float currentPidSetpoint) {
|
||||||
UNUSED(axis);
|
UNUSED(axis);
|
||||||
UNUSED(Kp);
|
UNUSED(Kp);
|
||||||
|
|
|
@ -620,7 +620,7 @@ void handleInflightCalibrationStickPosition(void) {}
|
||||||
bool featureIsEnabled(uint32_t) { return false;}
|
bool featureIsEnabled(uint32_t) { return false;}
|
||||||
bool sensors(uint32_t) { return false;}
|
bool sensors(uint32_t) { return false;}
|
||||||
void tryArm(void) {}
|
void tryArm(void) {}
|
||||||
void disarm(void) {}
|
void disarm(flightLogDisarmReason_e) {}
|
||||||
void dashboardDisablePageCycling() {}
|
void dashboardDisablePageCycling() {}
|
||||||
void dashboardEnablePageCycling() {}
|
void dashboardEnablePageCycling() {}
|
||||||
|
|
||||||
|
|
|
@ -183,4 +183,5 @@ extern "C" {
|
||||||
void compassStartCalibration(void) {}
|
void compassStartCalibration(void) {}
|
||||||
bool compassIsCalibrationComplete(void) { return true; }
|
bool compassIsCalibrationComplete(void) { return true; }
|
||||||
bool isUpright(void) { return true; }
|
bool isUpright(void) { return true; }
|
||||||
|
void blackboxLogEvent(FlightLogEvent, union flightLogEventData_u *) {};
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue