mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-10-23 00:03:33 +08:00
Merge remote-tracking branch 'upstream' into master_obcfailsafe
This commit is contained in:
@@ -910,12 +910,14 @@ MPU6000::ioctl(struct file *filp, int cmd, unsigned long arg)
|
|||||||
// adjust filters
|
// adjust filters
|
||||||
float cutoff_freq_hz = _accel_filter_x.get_cutoff_freq();
|
float cutoff_freq_hz = _accel_filter_x.get_cutoff_freq();
|
||||||
float sample_rate = 1.0e6f/ticks;
|
float sample_rate = 1.0e6f/ticks;
|
||||||
|
_set_dlpf_filter(cutoff_freq_hz);
|
||||||
_accel_filter_x.set_cutoff_frequency(sample_rate, cutoff_freq_hz);
|
_accel_filter_x.set_cutoff_frequency(sample_rate, cutoff_freq_hz);
|
||||||
_accel_filter_y.set_cutoff_frequency(sample_rate, cutoff_freq_hz);
|
_accel_filter_y.set_cutoff_frequency(sample_rate, cutoff_freq_hz);
|
||||||
_accel_filter_z.set_cutoff_frequency(sample_rate, cutoff_freq_hz);
|
_accel_filter_z.set_cutoff_frequency(sample_rate, cutoff_freq_hz);
|
||||||
|
|
||||||
|
|
||||||
float cutoff_freq_hz_gyro = _gyro_filter_x.get_cutoff_freq();
|
float cutoff_freq_hz_gyro = _gyro_filter_x.get_cutoff_freq();
|
||||||
|
_set_dlpf_filter(cutoff_freq_hz_gyro);
|
||||||
_gyro_filter_x.set_cutoff_frequency(sample_rate, cutoff_freq_hz_gyro);
|
_gyro_filter_x.set_cutoff_frequency(sample_rate, cutoff_freq_hz_gyro);
|
||||||
_gyro_filter_y.set_cutoff_frequency(sample_rate, cutoff_freq_hz_gyro);
|
_gyro_filter_y.set_cutoff_frequency(sample_rate, cutoff_freq_hz_gyro);
|
||||||
_gyro_filter_z.set_cutoff_frequency(sample_rate, cutoff_freq_hz_gyro);
|
_gyro_filter_z.set_cutoff_frequency(sample_rate, cutoff_freq_hz_gyro);
|
||||||
@@ -968,11 +970,9 @@ MPU6000::ioctl(struct file *filp, int cmd, unsigned long arg)
|
|||||||
return _accel_filter_x.get_cutoff_freq();
|
return _accel_filter_x.get_cutoff_freq();
|
||||||
|
|
||||||
case ACCELIOCSLOWPASS:
|
case ACCELIOCSLOWPASS:
|
||||||
if (arg == 0) {
|
// set hardware filtering
|
||||||
// allow disabling of on-chip filter using
|
_set_dlpf_filter(arg);
|
||||||
// zero as desired filter frequency
|
// set software filtering
|
||||||
_set_dlpf_filter(0);
|
|
||||||
}
|
|
||||||
_accel_filter_x.set_cutoff_frequency(1.0e6f / _call_interval, arg);
|
_accel_filter_x.set_cutoff_frequency(1.0e6f / _call_interval, arg);
|
||||||
_accel_filter_y.set_cutoff_frequency(1.0e6f / _call_interval, arg);
|
_accel_filter_y.set_cutoff_frequency(1.0e6f / _call_interval, arg);
|
||||||
_accel_filter_z.set_cutoff_frequency(1.0e6f / _call_interval, arg);
|
_accel_filter_z.set_cutoff_frequency(1.0e6f / _call_interval, arg);
|
||||||
@@ -1053,14 +1053,11 @@ MPU6000::gyro_ioctl(struct file *filp, int cmd, unsigned long arg)
|
|||||||
case GYROIOCGLOWPASS:
|
case GYROIOCGLOWPASS:
|
||||||
return _gyro_filter_x.get_cutoff_freq();
|
return _gyro_filter_x.get_cutoff_freq();
|
||||||
case GYROIOCSLOWPASS:
|
case GYROIOCSLOWPASS:
|
||||||
|
// set hardware filtering
|
||||||
|
_set_dlpf_filter(arg);
|
||||||
_gyro_filter_x.set_cutoff_frequency(1.0e6f / _call_interval, arg);
|
_gyro_filter_x.set_cutoff_frequency(1.0e6f / _call_interval, arg);
|
||||||
_gyro_filter_y.set_cutoff_frequency(1.0e6f / _call_interval, arg);
|
_gyro_filter_y.set_cutoff_frequency(1.0e6f / _call_interval, arg);
|
||||||
_gyro_filter_z.set_cutoff_frequency(1.0e6f / _call_interval, arg);
|
_gyro_filter_z.set_cutoff_frequency(1.0e6f / _call_interval, arg);
|
||||||
if (arg == 0) {
|
|
||||||
// allow disabling of on-chip filter using 0
|
|
||||||
// as desired frequency
|
|
||||||
_set_dlpf_filter(0);
|
|
||||||
}
|
|
||||||
return OK;
|
return OK;
|
||||||
|
|
||||||
case GYROIOCSSCALE:
|
case GYROIOCSSCALE:
|
||||||
|
|||||||
Reference in New Issue
Block a user