mirror of
https://github.com/PX4/PX4-Autopilot.git
synced 2026-05-31 18:47:21 +08:00
Merge branch 'master' of github.com:PX4/Firmware into export-build
This commit is contained in:
@@ -505,7 +505,11 @@ PX4FMU::task_main()
|
|||||||
orb_copy(ORB_ID(actuator_armed), _t_armed, &aa);
|
orb_copy(ORB_ID(actuator_armed), _t_armed, &aa);
|
||||||
|
|
||||||
/* update PWM servo armed status if armed and not locked down */
|
/* update PWM servo armed status if armed and not locked down */
|
||||||
up_pwm_servo_arm(aa.armed && !aa.lockdown);
|
bool set_armed = aa.armed && !aa.lockdown;
|
||||||
|
if (set_armed != _armed) {
|
||||||
|
_armed = set_armed;
|
||||||
|
up_pwm_servo_arm(set_armed);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// see if we have new PPM input data
|
// see if we have new PPM input data
|
||||||
|
|||||||
@@ -232,7 +232,6 @@ int detect_orientation(int mavlink_fd, int sub_sensor_combined) {
|
|||||||
float accel_ema[3] = { 0.0f, 0.0f, 0.0f };
|
float accel_ema[3] = { 0.0f, 0.0f, 0.0f };
|
||||||
/* max-hold dispersion of accel */
|
/* max-hold dispersion of accel */
|
||||||
float accel_disp[3] = { 0.0f, 0.0f, 0.0f };
|
float accel_disp[3] = { 0.0f, 0.0f, 0.0f };
|
||||||
float accel_len2 = 0.0f;
|
|
||||||
/* EMA time constant in seconds*/
|
/* EMA time constant in seconds*/
|
||||||
float ema_len = 0.2f;
|
float ema_len = 0.2f;
|
||||||
/* set "still" threshold to 0.1 m/s^2 */
|
/* set "still" threshold to 0.1 m/s^2 */
|
||||||
@@ -304,30 +303,29 @@ int detect_orientation(int mavlink_fd, int sub_sensor_combined) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
float accel_len = sqrt(accel_len2);
|
if ( fabs(accel_ema[0] - CONSTANTS_ONE_G) < accel_err_thr &&
|
||||||
if ( fabs(accel_ema[0] - accel_len) < accel_err_thr &&
|
|
||||||
fabs(accel_ema[1]) < accel_err_thr &&
|
fabs(accel_ema[1]) < accel_err_thr &&
|
||||||
fabs(accel_ema[2]) < accel_err_thr )
|
fabs(accel_ema[2]) < accel_err_thr )
|
||||||
return 0; // [ g, 0, 0 ]
|
return 0; // [ g, 0, 0 ]
|
||||||
if ( fabs(accel_ema[0] + accel_len) < accel_err_thr &&
|
if ( fabs(accel_ema[0] + CONSTANTS_ONE_G) < accel_err_thr &&
|
||||||
fabs(accel_ema[1]) < accel_err_thr &&
|
fabs(accel_ema[1]) < accel_err_thr &&
|
||||||
fabs(accel_ema[2]) < accel_err_thr )
|
fabs(accel_ema[2]) < accel_err_thr )
|
||||||
return 1; // [ -g, 0, 0 ]
|
return 1; // [ -g, 0, 0 ]
|
||||||
if ( fabs(accel_ema[0]) < accel_err_thr &&
|
if ( fabs(accel_ema[0]) < accel_err_thr &&
|
||||||
fabs(accel_ema[1] - accel_len) < accel_err_thr &&
|
fabs(accel_ema[1] - CONSTANTS_ONE_G) < accel_err_thr &&
|
||||||
fabs(accel_ema[2]) < accel_err_thr )
|
fabs(accel_ema[2]) < accel_err_thr )
|
||||||
return 2; // [ 0, g, 0 ]
|
return 2; // [ 0, g, 0 ]
|
||||||
if ( fabs(accel_ema[0]) < accel_err_thr &&
|
if ( fabs(accel_ema[0]) < accel_err_thr &&
|
||||||
fabs(accel_ema[1] + accel_len) < accel_err_thr &&
|
fabs(accel_ema[1] + CONSTANTS_ONE_G) < accel_err_thr &&
|
||||||
fabs(accel_ema[2]) < accel_err_thr )
|
fabs(accel_ema[2]) < accel_err_thr )
|
||||||
return 3; // [ 0, -g, 0 ]
|
return 3; // [ 0, -g, 0 ]
|
||||||
if ( fabs(accel_ema[0]) < accel_err_thr &&
|
if ( fabs(accel_ema[0]) < accel_err_thr &&
|
||||||
fabs(accel_ema[1]) < accel_err_thr &&
|
fabs(accel_ema[1]) < accel_err_thr &&
|
||||||
fabs(accel_ema[2] - accel_len) < accel_err_thr )
|
fabs(accel_ema[2] - CONSTANTS_ONE_G) < accel_err_thr )
|
||||||
return 4; // [ 0, 0, g ]
|
return 4; // [ 0, 0, g ]
|
||||||
if ( fabs(accel_ema[0]) < accel_err_thr &&
|
if ( fabs(accel_ema[0]) < accel_err_thr &&
|
||||||
fabs(accel_ema[1]) < accel_err_thr &&
|
fabs(accel_ema[1]) < accel_err_thr &&
|
||||||
fabs(accel_ema[2] + accel_len) < accel_err_thr )
|
fabs(accel_ema[2] + CONSTANTS_ONE_G) < accel_err_thr )
|
||||||
return 5; // [ 0, 0, -g ]
|
return 5; // [ 0, 0, -g ]
|
||||||
|
|
||||||
mavlink_log_info(mavlink_fd, "ERROR: invalid orientation");
|
mavlink_log_info(mavlink_fd, "ERROR: invalid orientation");
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
/*
|
/*
|
||||||
* accelerometer_calibration.h
|
* accelerometer_calibration.h
|
||||||
*
|
*
|
||||||
* Created on: 25.04.2013
|
* Copyright (C) 2013 Anton Babushkin. All rights reserved.
|
||||||
* Author: ton
|
* Author: Anton Babushkin <rk3dov@gmail.com>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef ACCELEROMETER_CALIBRATION_H_
|
#ifndef ACCELEROMETER_CALIBRATION_H_
|
||||||
|
|||||||
Reference in New Issue
Block a user