]> git.mxchange.org Git - flightgear.git/blob - src/FDM/JSBSim/filtersjb/FGFilter.h
Updates from the Jon and Tony show.
[flightgear.git] / src / FDM / JSBSim / filtersjb / FGFilter.h
1 /*******************************************************************************
2
3  Header:       FGFilter.h
4  Author:       
5  Date started: 
6
7  ------------- Copyright (C)  -------------
8
9  This program is free software; you can redistribute it and/or modify it under
10  the terms of the GNU General Public License as published by the Free Software
11  Foundation; either version 2 of the License, or (at your option) any later
12  version.
13
14  This program is distributed in the hope that it will be useful, but WITHOUT
15  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
16  FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
17  details.
18
19  You should have received a copy of the GNU General Public License along with
20  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
21  Place - Suite 330, Boston, MA  02111-1307, USA.
22
23  Further information about the GNU General Public License can also be found on
24  the world wide web at http://www.gnu.org.
25
26 HISTORY
27 --------------------------------------------------------------------------------
28
29 ********************************************************************************
30 COMMENTS, REFERENCES,  and NOTES
31 ********************************************************************************
32
33 ********************************************************************************
34 SENTRY
35 *******************************************************************************/
36
37 #ifndef FGFILTER_H
38 #define FGFILTER_H
39
40 /*******************************************************************************
41 INCLUDES
42 *******************************************************************************/
43
44 #include "FGFCSComponent.h"
45 #include "../FGConfigFile.h"
46
47 /*******************************************************************************
48 DEFINES
49 *******************************************************************************/
50
51 /*******************************************************************************
52 CLASS DECLARATION
53 *******************************************************************************/
54
55 class FGFilter  : public FGFCSComponent         
56 {
57   float dt;
58   float ca;
59   float cb;
60   float cc;
61   float cd;
62   float C1;
63   float C2;
64   float C3;
65   float C4;
66   float C5;
67   float C6;
68   float PreviousInput1;
69   float PreviousInput2;
70   float PreviousOutput1;
71   float PreviousOutput2;
72   FGConfigFile* AC_cfg;
73
74 protected:
75   enum {eLag, eRectLag, eLeadLag, eOrder2, eWashout, eIntegrator, eUnknown} FilterType; 
76
77 public:
78   FGFilter(FGFCS* fcs, FGConfigFile* AC_cfg);
79   ~FGFilter ( ) { }       //Destructor
80
81   bool Run (void);
82 };
83
84 #endif