|
|
|
@ -62,7 +62,7 @@ bool NavEKF2_core::setup_core(NavEKF2 *_frontend, uint8_t _imu_index, uint8_t _c
@@ -62,7 +62,7 @@ bool NavEKF2_core::setup_core(NavEKF2 *_frontend, uint8_t _imu_index, uint8_t _c
|
|
|
|
|
than 100Hz is downsampled. For 50Hz main loop rate we need a |
|
|
|
|
shorter buffer. |
|
|
|
|
*/ |
|
|
|
|
if (_ahrs->get_ins().get_sample_rate() < 100) { |
|
|
|
|
if (AP::ins().get_sample_rate() < 100) { |
|
|
|
|
imu_buffer_length = 13; |
|
|
|
|
} else { |
|
|
|
|
// maximum 260 msec delay at 100 Hz fusion rate
|
|
|
|
@ -110,7 +110,7 @@ bool NavEKF2_core::setup_core(NavEKF2 *_frontend, uint8_t _imu_index, uint8_t _c
@@ -110,7 +110,7 @@ bool NavEKF2_core::setup_core(NavEKF2 *_frontend, uint8_t _imu_index, uint8_t _c
|
|
|
|
|
void NavEKF2_core::InitialiseVariables() |
|
|
|
|
{ |
|
|
|
|
// calculate the nominal filter update rate
|
|
|
|
|
const AP_InertialSensor &ins = _ahrs->get_ins(); |
|
|
|
|
const AP_InertialSensor &ins = AP::ins(); |
|
|
|
|
localFilterTimeStep_ms = (uint8_t)(1000*ins.get_loop_delta_t()); |
|
|
|
|
localFilterTimeStep_ms = MAX(localFilterTimeStep_ms,10); |
|
|
|
|
|
|
|
|
@ -355,8 +355,10 @@ bool NavEKF2_core::InitialiseFilterBootstrap(void)
@@ -355,8 +355,10 @@ bool NavEKF2_core::InitialiseFilterBootstrap(void)
|
|
|
|
|
// set re-used variables to zero
|
|
|
|
|
InitialiseVariables(); |
|
|
|
|
|
|
|
|
|
const AP_InertialSensor &ins = AP::ins(); |
|
|
|
|
|
|
|
|
|
// Initialise IMU data
|
|
|
|
|
dtIMUavg = _ahrs->get_ins().get_loop_delta_t(); |
|
|
|
|
dtIMUavg = ins.get_loop_delta_t(); |
|
|
|
|
readIMUData(); |
|
|
|
|
storedIMU.reset_history(imuDataNew); |
|
|
|
|
imuDataDelayed = imuDataNew; |
|
|
|
@ -365,7 +367,7 @@ bool NavEKF2_core::InitialiseFilterBootstrap(void)
@@ -365,7 +367,7 @@ bool NavEKF2_core::InitialiseFilterBootstrap(void)
|
|
|
|
|
Vector3f initAccVec; |
|
|
|
|
|
|
|
|
|
// TODO we should average accel readings over several cycles
|
|
|
|
|
initAccVec = _ahrs->get_ins().get_accel(imu_index); |
|
|
|
|
initAccVec = ins.get_accel(imu_index); |
|
|
|
|
|
|
|
|
|
// read the magnetometer data
|
|
|
|
|
readMagData(); |
|
|
|
|