34 #ifndef RPM_FILTER_TAU
35 #define RPM_FILTER_TAU RPM_SENSOR_PERIODIC_PERIOD
39 #if PERIODIC_TELEMETRY
54 #if PERIODIC_TELEMETRY
72 rpm = ((
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.
static float get_first_order_low_pass(struct FirstOrderLowPass *filter)
Get current value of the first order low pass filter.
#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