48 _coning_comp_on(coning_compensation)
55 uint32_t &integral_dt)
119 uint32_t &integral_dt)
134 return put(timestamp, val, integral, integral_dt);
156 filtered_val = ret_integral * 1000000 / integral_dt;
void _reset(uint32_t &integral_dt)
uint64_t _last_reset_time
last auto-announcement of integral value
matrix::Vector3f _last_val
previous input
int reset(enum LPS22HB_BUS busid)
Reset the driver.
High-resolution timer with callouts and timekeeping.
bool _coning_comp_on
true to turn on coning corrections
matrix::Vector3f get_and_filtered(bool reset, uint32_t &integral_dt, matrix::Vector3f &filtered_val)
Get the current integral and reset the integrator if needed.
bool put(const uint64_t ×tamp, const matrix::Vector3f &val, matrix::Vector3f &integral, uint32_t &integral_dt)
Put an item into the integral.
matrix::Vector3f _last_alpha
previous value of _alpha
Vector< float, 6 > f(float t, const Matrix< float, 6, 1 > &, const Matrix< float, 3, 1 > &)
void set_autoreset_interval(uint32_t auto_reset_interval)
Set auto reset interval during runtime.
bool put_with_interval(unsigned interval_us, matrix::Vector3f &val, matrix::Vector3f &integral, uint32_t &integral_dt)
Put an item into the integral but provide an interval instead of a timestamp.
__BEGIN_DECLS typedef uint64_t hrt_abstime
Absolute time, in microsecond units.
matrix::Vector3f _alpha
integrated value before coning corrections are applied
matrix::Vector3f _beta
accumulated coning corrections
matrix::Vector3f get(bool reset, uint32_t &integral_dt)
Get the current integral and reset the integrator if needed.
Integrator(uint32_t auto_reset_interval=4000, bool coning_compensation=false)
matrix::Vector3f _last_delta_alpha
integral from previous previous sampling interval
uint32_t _auto_reset_interval
the interval after which the content will be published and the integrator reset, 0 if no auto-reset ...
uint64_t _last_integration_time
timestamp of the last integration step
__EXPORT hrt_abstime hrt_absolute_time(void)
Get absolute time in [us] (does not wrap).