mirror of
https://github.com/betaflight/betaflight.git
synced 2025-07-15 20:35:33 +03:00
smallAngle configurable, user can arm/disarm with swith in any
orientation Conflicts: src/cli.c src/config.c src/imu.c src/mw.c src/mw.h
This commit is contained in:
parent
3b629d58a0
commit
9cf90fa230
5 changed files with 13 additions and 5 deletions
|
@ -79,7 +79,7 @@ static uint32_t flashWriteAddress = (0x08000000 + (uint32_t)((FLASH_PAGE_SIZE *
|
||||||
master_t masterConfig; // master config struct with data independent from profiles
|
master_t masterConfig; // master config struct with data independent from profiles
|
||||||
profile_t currentProfile; // profile config struct
|
profile_t currentProfile; // profile config struct
|
||||||
|
|
||||||
static const uint8_t EEPROM_CONF_VERSION = 72;
|
static const uint8_t EEPROM_CONF_VERSION = 73;
|
||||||
|
|
||||||
static void resetAccelerometerTrims(flightDynamicsTrims_t *accelerometerTrims)
|
static void resetAccelerometerTrims(flightDynamicsTrims_t *accelerometerTrims)
|
||||||
{
|
{
|
||||||
|
@ -250,6 +250,8 @@ static void resetConf(void)
|
||||||
masterConfig.inputFilteringMode = INPUT_FILTERING_DISABLED;
|
masterConfig.inputFilteringMode = INPUT_FILTERING_DISABLED;
|
||||||
|
|
||||||
masterConfig.retarded_arm = 0; // disable arm/disarm on roll left/right
|
masterConfig.retarded_arm = 0; // disable arm/disarm on roll left/right
|
||||||
|
masterConfig.small_angle = 25;
|
||||||
|
|
||||||
masterConfig.airplaneConfig.flaps_speed = 0;
|
masterConfig.airplaneConfig.flaps_speed = 0;
|
||||||
masterConfig.fixedwing_althold_dir = 1;
|
masterConfig.fixedwing_althold_dir = 1;
|
||||||
|
|
||||||
|
|
|
@ -80,7 +80,7 @@ static void getEstimatedAttitude(void);
|
||||||
|
|
||||||
void imuInit()
|
void imuInit()
|
||||||
{
|
{
|
||||||
smallAngle = lrintf(acc_1G * cosf(RAD * 25.0f));
|
smallAngle = lrintf(acc_1G * cosf(RAD * imuRuntimeConfig->small_angle));
|
||||||
accVelScale = 9.80665f / acc_1G / 10000.0f;
|
accVelScale = 9.80665f / acc_1G / 10000.0f;
|
||||||
gyroScaleRad = gyro.scale * (M_PI / 180.0f) * 0.000001f;
|
gyroScaleRad = gyro.scale * (M_PI / 180.0f) * 0.000001f;
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,6 +26,7 @@ typedef struct imuRuntimeConfig_s {
|
||||||
uint8_t acc_unarmedcal;
|
uint8_t acc_unarmedcal;
|
||||||
float gyro_cmpf_factor;
|
float gyro_cmpf_factor;
|
||||||
float gyro_cmpfm_factor;
|
float gyro_cmpfm_factor;
|
||||||
|
int16_t small_angle;
|
||||||
} imuRuntimeConfig_t;
|
} imuRuntimeConfig_t;
|
||||||
|
|
||||||
void configureImu(imuRuntimeConfig_t *initialImuRuntimeConfig, pidProfile_t *initialPidProfile, barometerConfig_t *intialBarometerConfig, accDeadband_t *initialAccDeadband);
|
void configureImu(imuRuntimeConfig_t *initialImuRuntimeConfig, pidProfile_t *initialPidProfile, barometerConfig_t *intialBarometerConfig, accDeadband_t *initialAccDeadband);
|
||||||
|
|
|
@ -84,10 +84,14 @@ void processRcStickPositions(rxConfig_t *rxConfig, throttleStatus_e throttleStat
|
||||||
|
|
||||||
// perform actions
|
// perform actions
|
||||||
if (throttleStatus == THROTTLE_LOW) {
|
if (throttleStatus == THROTTLE_LOW) {
|
||||||
if (activate[BOXARM] > 0) { // Arming/Disarming via ARM BOX
|
if (activate[BOXARM] > 0) { // Arming via ARM BOX
|
||||||
if (rcOptions[BOXARM] && f.OK_TO_ARM)
|
if (rcOptions[BOXARM] && f.OK_TO_ARM)
|
||||||
mwArm();
|
mwArm();
|
||||||
else if (f.ARMED)
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (activate[BOXARM] > 0) { // Disarming via ARM BOX
|
||||||
|
if (!rcOptions[BOXARM] && f.ARMED) {
|
||||||
mwDisarm();
|
mwDisarm();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -187,6 +187,7 @@ const clivalue_t valueTable[] = {
|
||||||
{ "servo_pwm_rate", VAR_UINT16, &masterConfig.servo_pwm_rate, 50, 498 },
|
{ "servo_pwm_rate", VAR_UINT16, &masterConfig.servo_pwm_rate, 50, 498 },
|
||||||
|
|
||||||
{ "retarded_arm", VAR_UINT8, &masterConfig.retarded_arm, 0, 1 },
|
{ "retarded_arm", VAR_UINT8, &masterConfig.retarded_arm, 0, 1 },
|
||||||
|
{ "small_angle", VAR_UINT8, &masterConfig.small_angle, 0, 90 },
|
||||||
|
|
||||||
{ "flaps_speed", VAR_UINT8, &masterConfig.airplaneConfig.flaps_speed, 0, 100 },
|
{ "flaps_speed", VAR_UINT8, &masterConfig.airplaneConfig.flaps_speed, 0, 100 },
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue