mirror of
https://bitbucket.org/librepilot/librepilot.git
synced 2025-01-18 03:52:11 +01:00
Merge remote branch 'origin/corvuscorax/portugal_backports' into revo-next
This commit is contained in:
commit
88f69daf64
@ -63,7 +63,7 @@
|
|||||||
#define ARMED_TIME_MS 1000
|
#define ARMED_TIME_MS 1000
|
||||||
#define ARMED_THRESHOLD 0.50f
|
#define ARMED_THRESHOLD 0.50f
|
||||||
//safe band to allow a bit of calibration error or trim offset (in microseconds)
|
//safe band to allow a bit of calibration error or trim offset (in microseconds)
|
||||||
#define CONNECTION_OFFSET 150
|
#define CONNECTION_OFFSET 250
|
||||||
|
|
||||||
// Private types
|
// Private types
|
||||||
typedef enum
|
typedef enum
|
||||||
@ -314,7 +314,7 @@ static void manualControlTask(void *parameters)
|
|||||||
AlarmsSet(SYSTEMALARMS_ALARM_MANUALCONTROL, SYSTEMALARMS_ALARM_WARNING);
|
AlarmsSet(SYSTEMALARMS_ALARM_MANUALCONTROL, SYSTEMALARMS_ALARM_WARNING);
|
||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
} else if (valid_input_detected) {
|
||||||
AlarmsClear(SYSTEMALARMS_ALARM_MANUALCONTROL);
|
AlarmsClear(SYSTEMALARMS_ALARM_MANUALCONTROL);
|
||||||
|
|
||||||
// Scale channels to -1 -> +1 range
|
// Scale channels to -1 -> +1 range
|
||||||
|
@ -88,6 +88,8 @@ static float mag_bias[3] = {0,0,0};
|
|||||||
static float mag_scale[3] = {0,0,0};
|
static float mag_scale[3] = {0,0,0};
|
||||||
static float accel_bias[3] = {0,0,0};
|
static float accel_bias[3] = {0,0,0};
|
||||||
static float accel_scale[3] = {0,0,0};
|
static float accel_scale[3] = {0,0,0};
|
||||||
|
static float gyro_bias[3] = {0,0,0};
|
||||||
|
static float gyro_scale[3] = {0,0,0};
|
||||||
|
|
||||||
static float R[3][3] = {{0}};
|
static float R[3][3] = {{0}};
|
||||||
static int8_t rotate = 0;
|
static int8_t rotate = 0;
|
||||||
@ -361,9 +363,9 @@ static void SensorsTask(void *parameters)
|
|||||||
float gyros[3] = {(float) gyro_accum[1] / gyro_samples,
|
float gyros[3] = {(float) gyro_accum[1] / gyro_samples,
|
||||||
(float) gyro_accum[0] / gyro_samples,
|
(float) gyro_accum[0] / gyro_samples,
|
||||||
-(float) gyro_accum[2] / gyro_samples};
|
-(float) gyro_accum[2] / gyro_samples};
|
||||||
float gyros_out[3] = {gyros[0] * gyro_scaling,
|
float gyros_out[3] = {gyros[0] * gyro_scaling * gyro_scale[0] - gyro_bias[0],
|
||||||
gyros[1] * gyro_scaling,
|
gyros[1] * gyro_scaling * gyro_scale[1] - gyro_bias[1],
|
||||||
gyros[2] * gyro_scaling};
|
gyros[2] * gyro_scaling * gyro_scale[2] - gyro_bias[2]};
|
||||||
if (rotate) {
|
if (rotate) {
|
||||||
rot_mult(R, gyros_out, gyros);
|
rot_mult(R, gyros_out, gyros);
|
||||||
gyrosData.x = gyros[0];
|
gyrosData.x = gyros[0];
|
||||||
@ -448,6 +450,12 @@ static void settingsUpdatedCb(UAVObjEvent * objEv) {
|
|||||||
accel_scale[0] = cal.accel_scale[REVOCALIBRATION_ACCEL_SCALE_X];
|
accel_scale[0] = cal.accel_scale[REVOCALIBRATION_ACCEL_SCALE_X];
|
||||||
accel_scale[1] = cal.accel_scale[REVOCALIBRATION_ACCEL_SCALE_Y];
|
accel_scale[1] = cal.accel_scale[REVOCALIBRATION_ACCEL_SCALE_Y];
|
||||||
accel_scale[2] = cal.accel_scale[REVOCALIBRATION_ACCEL_SCALE_Z];
|
accel_scale[2] = cal.accel_scale[REVOCALIBRATION_ACCEL_SCALE_Z];
|
||||||
|
gyro_bias[0] = cal.gyro_bias[REVOCALIBRATION_GYRO_BIAS_X];
|
||||||
|
gyro_bias[1] = cal.gyro_bias[REVOCALIBRATION_GYRO_BIAS_Y];
|
||||||
|
gyro_bias[2] = cal.gyro_bias[REVOCALIBRATION_GYRO_BIAS_Z];
|
||||||
|
gyro_scale[0] = cal.gyro_scale[REVOCALIBRATION_GYRO_SCALE_X];
|
||||||
|
gyro_scale[1] = cal.gyro_scale[REVOCALIBRATION_GYRO_SCALE_Y];
|
||||||
|
gyro_scale[2] = cal.gyro_scale[REVOCALIBRATION_GYRO_SCALE_Z];
|
||||||
|
|
||||||
AttitudeSettingsData attitudeSettings;
|
AttitudeSettingsData attitudeSettings;
|
||||||
AttitudeSettingsGet(&attitudeSettings);
|
AttitudeSettingsGet(&attitudeSettings);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user