1
0
Fork 0
mirror of https://github.com/betaflight/betaflight.git synced 2025-07-15 12:25:20 +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:
treymarc 2014-07-02 12:08:37 +00:00 committed by Dominic Clifton
parent 3b629d58a0
commit 9cf90fa230
5 changed files with 13 additions and 5 deletions

View file

@ -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;

View file

@ -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;
} }

View file

@ -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);

View file

@ -84,11 +84,15 @@ 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) }
mwDisarm(); }
if (activate[BOXARM] > 0) { // Disarming via ARM BOX
if (!rcOptions[BOXARM] && f.ARMED) {
mwDisarm();
} }
} }

View file

@ -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 },