LRAUV  revA
IBIT.h
Go to the documentation of this file.
1 
12 #ifndef IBIT_H_
13 #define IBIT_H_
14 
17 
20 
31 class IBIT : public SyncTestComponent
32 {
33 public:
34 
35  IBIT( const Module* module );
36 
37  virtual ~IBIT();
38 
40  void initialize( void );
41 
43  void run();
44 
46  void uninitialize( void );
47 
48 protected:
49 
50 
51 
52 private:
53 
54  // read vehicle config variables
55  bool readConfig( void );
56 
57  // Checks actual vs. expected positions of the control surfaces
58  bool ctrlSurfaceCheckPos( float elevExpect, float ruddExpect );
59 
60  // indicates whether things are ok to run
61  bool ok_;
62 
63  bool ibitPass_;
64 
65  // slate entry to let others know that IBIT is running
67 
72 
78 
82 
85 
88 
90  // IBIT
91  ConfigReader* batteryCapacityThresholdCfgReader_; // Amount of charge left at which we return to the surface
92  ConfigReader* batteryVoltageThresholdCfgReader_; // Amount of voltage left at which we return to the surface
93 
94  // CBIT
95  ConfigReader* abortDepthCfgReader_; // Depth at which we drop the weight. Should be greater than all depth envelopes
96  ConfigReader* stopDepthCfgReader_; // Depth at which we stop the mission. Should be greater than all depth envelopes and less than abort depth
98  ConfigReader* pressureThresholdCfgReader_; // Onboard pressure must measure greater than this offset from 1 ATM
99 
100  // Control
106 
107  // Servo
110 
112 
116  float abortDepth_;
117  float stopDepth_;
126 
127 
129 
133 
135  bool goodFix_;
136 
137  // Used to save state since there are long potential waiting periods for this device to respond
139  {
149  };
150 
151  // To hold our state
153 
154 };
155 
156 #endif /*IBIT_H_*/
DataWriter * elevatorAngleCmdWriter_
Definition: IBIT.h:68
float batteryCapacityThreshold_
Definition: IBIT.h:114
Contains the SyncComponent class definition.
Definition: IBIT.h:141
Timestamp startTime_
Definition: IBIT.h:132
bool readConfig(void)
Definition: IBIT.cpp:111
int sigQuality_
Definition: IBIT.h:134
ConfigReader * rudderLimitCfgReader_
Definition: IBIT.h:103
Definition: IBIT.h:147
A DataAccessor that reads values from the Slate Contains a default dataValue that must not be NULL...
Definition: UniversalDataReader.h:26
DataWriter * horizontalModeWriter_
Definition: IBIT.h:70
DataReader * sigQualityReader_
Definition: IBIT.h:76
DataReader * batteryVoltageReader_
Definition: IBIT.h:84
ConfigReader * humidityThresholdCfgReader_
Definition: IBIT.h:97
float bitHumidityThreshold_
Definition: IBIT.h:118
IBITState ibitState_
Definition: IBIT.h:152
A DataAccessor that reads values from the Slate Contains a default dataValue that must not be NULL...
Definition: DataReader.h:30
A DataAccessor that writes values to the Slate via its associated DataElement.
Definition: UniversalDataWriter.h:24
float elevDeviation_
Definition: IBIT.h:125
DataReader * latitudeFixReader_
Definition: IBIT.h:80
Contains the ComponentRegistry class declaration.
float buoyancyNeutral_
Definition: IBIT.h:120
bool ctrlSurfaceCheckPos(float elevExpect, float ruddExpect)
Definition: IBIT.cpp:362
Timespan class, represents a delta of time.
Definition: Timestamp.h:248
Definition: IBIT.h:140
virtual ~IBIT()
Definition: IBIT.cpp:88
ConfigReader * ruddDeviationCfgReader_
Definition: IBIT.h:108
void uninitialize(void)
Uninit function.
Definition: IBIT.cpp:399
ConfigReader * surfaceThresholdCfgReader_
Definition: IBIT.h:104
A DataAccessor that writes values to the Slate via its associated DataElement.
Definition: DataWriter.h:27
float rudderLimit_
Definition: IBIT.h:123
float massDefault_
Definition: IBIT.h:121
Definition: IBIT.h:143
ConfigReader * pressureThresholdCfgReader_
Definition: IBIT.h:98
ConfigReader * stopDepthCfgReader_
Definition: IBIT.h:96
Definition: IBIT.h:145
DataReader * sBITRunningReader_
Definition: IBIT.h:75
ConfigReader * buoyancyNeutralCfgReader_
Definition: IBIT.h:101
float surfaceThreshold_
*----------------— vehicle parameters -----------------------—*/
Definition: IBIT.h:113
Abstract Base class for components that run towards the end of the computation cycle, evaluating how well everything performed.
Definition: SyncComponent.h:264
Module is the abstract base class for a collection of Component objects that can be contained in a lo...
Definition: Module.h:45
DataReader * batteryChargeReader_
Definition: IBIT.h:83
Timespan commsTimeout_
Definition: IBIT.h:131
float elevatorLimit_
Definition: IBIT.h:122
float ruddDeviation_
Definition: IBIT.h:124
DataReader * timeFixReader_
Definition: IBIT.h:79
Definition: ConfigReader.h:13
ConfigReader * abortDepthCfgReader_
Definition: IBIT.h:95
Definition: IBIT.h:142
IBITState
Definition: IBIT.h:138
Definition: IBIT.h:146
DataWriter * ibitRunningStateWriter_
Definition: IBIT.h:66
float batteryVoltageThreshold_
Definition: IBIT.h:115
DataWriter * verticalModeWriter_
Definition: IBIT.h:69
bool ok_
Definition: IBIT.h:61
ConfigReader * elevatorLimitCfgReader_
Definition: IBIT.h:102
ConfigReader * massDefaultCfgReader_
Definition: IBIT.h:105
DataReader * elevatorAngleReader_
Definition: IBIT.h:73
Definition: IBIT.h:144
IBIT(const Module *module)
Definition: IBIT.cpp:33
The IBIT built-in-test component provides monitoring of vehicle health on demand. ...
Definition: IBIT.h:31
bool goodFix_
Definition: IBIT.h:135
ConfigReader * batteryVoltageThresholdCfgReader_
Definition: IBIT.h:92
DataReader * rudderAngleReader_
Definition: IBIT.h:74
DataWriter * rudderAngleCmdWriter_
Definition: IBIT.h:71
DataReader * longitudeFixReader_
Definition: IBIT.h:81
DataReader * goodFixReader_
Definition: IBIT.h:77
float stopDepth_
Definition: IBIT.h:117
float abortDepth_
Definition: IBIT.h:116
void run()
The actual "payload" of the component.
Definition: IBIT.cpp:141
bool ibitPass_
Definition: IBIT.h:63
Timespan ctrlTimeout_
Definition: IBIT.h:130
Definition: IBIT.h:148
ConfigReader * elevDeviationCfgReader_
Definition: IBIT.h:109
void initialize(void)
Initialize function.
Definition: IBIT.cpp:93
DataReader * pressureReader_
Definition: IBIT.h:86
ConfigReader * batteryCapacityThresholdCfgReader_
Configuration Readers.
Definition: IBIT.h:91
Represents absolute times.
Definition: Timestamp.h:31
DataReader * humidityReader_
Definition: IBIT.h:87
float bitPressureThreshold_
Definition: IBIT.h:119