35 #ifndef RPM_FILTER_TAU
36 #define RPM_FILTER_TAU RPM_SENSOR_PERIODIC_PERIOD
40 #if PERIODIC_TELEMETRY
55 #if PERIODIC_TELEMETRY
73 rpm_meas = ((
uint32_t)1000000 * 60) / period_us;
int32_t current
current in milliamps
Periodic telemetry system header (includes downlink utility and generated code).
Simple first order low pass filter with bilinear transform.
Main include for ABI (AirBorneInterface).
First order low pass filter structure.
void rpm_sensor_periodic(void)
Interface for electrical status: supply voltage, current, battery status, etc.
#define DefaultPeriodic
Set default periodic telemetry.
#define RPM_PULSE_PER_RND
static const struct usb_device_descriptor dev
void rpm_sensor_init(void)
static void init_first_order_low_pass(struct FirstOrderLowPass *filter, float tau, float sample_time, float value)
Init first order low pass filter.
uint16_t rpm_sensor_get_rpm(void)
struct Electrical electrical
static void rpm_sensor_send_motor(struct transport_tx *trans, struct link_device *dev)
int8_t register_periodic_telemetry(struct periodic_telemetry *_pt, uint8_t _id, telemetry_cb _cb)
Register a telemetry callback function.
static float update_first_order_low_pass(struct FirstOrderLowPass *filter, float value)
Update first order low pass filter state with a new value.
static struct FirstOrderLowPass rpm_lp