APM:Libraries
Variometer.h
Go to the documentation of this file.
1 
2 /* Variometer class by Samuel Tabor
3 
4 Manages the estimation of aircraft total energy, drag and vertical air velocity.
5 */
6 #pragma once
7 
8 #include <AP_AHRS/AP_AHRS.h>
9 #include <AP_Param/AP_Param.h>
10 #include <DataFlash/DataFlash.h>
12 
13 #define ASPD_FILT 0.05
14 #define TE_FILT 0.03
15 #define TE_FILT_DISPLAYED 0.15
16 
17 class Variometer {
18 
21 
22  // store time of last update
23  unsigned long _prev_update_time;
24 
25  float _last_alt;
26 
27  float _aspd_filt;
28  float _last_aspd;
29  float _last_roll;
31 
32 public:
34  float alt;
35  float reading;
38  bool new_data;
39 
40  void update(const float polar_K, const float polar_CD0, const float polar_B);
41  float correct_netto_rate(float climb_rate, float phi, float aspd, const float polar_K, const float polar_CD0, const float polar_B);
42 
43 };
44 
AP_AHRS & _ahrs
Definition: Variometer.h:19
AP_AHRS_NavEKF & ahrs
Definition: AHRS_Test.cpp:39
float displayed_reading
Definition: Variometer.h:37
float alt
Definition: Variometer.h:34
const AP_Vehicle::FixedWing & _aparm
Definition: Variometer.h:20
float filtered_reading
Definition: Variometer.h:36
A system for managing and storing variables that are of general interest to the system.
float _aspd_filt
Definition: Variometer.h:27
generic speed & height controller interface
float _last_total_E
Definition: Variometer.h:30
Variometer(AP_AHRS &ahrs, const AP_Vehicle::FixedWing &parms)
Definition: Variometer.cpp:7
float _last_alt
Definition: Variometer.h:25
float correct_netto_rate(float climb_rate, float phi, float aspd, const float polar_K, const float polar_CD0, const float polar_B)
Definition: Variometer.cpp:53
bool new_data
Definition: Variometer.h:38
float _last_aspd
Definition: Variometer.h:28
float reading
Definition: Variometer.h:35
unsigned long _prev_update_time
Definition: Variometer.h:23
float _last_roll
Definition: Variometer.h:29
void update(const float polar_K, const float polar_CD0, const float polar_B)
Definition: Variometer.cpp:14