Rise
The Vieneo Province
IceDetector.cpp
Go to the documentation of this file.
1 #include "Module.h"
2 
3 IceDetector::IceDetector(Bus* prmBus, Logger* prmLogger) : Module(prmBus)
4 {
5  logger = prmLogger;
6 }
7 
11 
12 void IceDetector::FrameMove(float fElapsed)
13 {
14  if (ourcockpit.gndvehicle) return;
15 
16  // unpowered
17  if (ourcockpit.power < 0.5f)
18  {
19  bus->IceDetected = false;
20  bus->IceDetectorHeat = false;
21  heatOnTime = 0.0f;
22  heatOffTime = 0.0f;
23  return;
24  }
25 
26  if (bus->IceDetectorMm > 0.5f) // triggered at or above 0.5f
27  {
28  bus->IceDetected = true;
29  bus->IceDetectorHeat = true;
30  }
31 
32  if (bus->IceDetectorHeat)
33  {
34  heatOnTime += fElapsed;
35  if (heatOnTime > 5.0f) // reset after 30 seconds or leave it off
36  {
37  bus->IceDetectorHeat = false;
38  heatOnTime = 0.0f;
39  }
40  }
41 
43  {
44  heatOffTime += fElapsed;
45  if (heatOffTime > 55.0f && bus->IceDetectorMm < 0.0254f) // .001 inches
46  {
47  bus->IceDetected = false;
48  heatOffTime = 0.0f;
49  }
50  }
51 }
Scockpit ourcockpit
Definition: globals.cpp:176
float power
Definition: globals.h:608
Definition: Logger.h:9
void FrameMove(float fElapsedTime) override
Definition: IceDetector.cpp:12
float IceDetectorMm
Definition: Bus.h:275
Definition: Bus.h:16
float heatOnTime
Definition: Module.h:179
bool IceDetected
Definition: Bus.h:274
Definition: Module.h:12
IceDetector(Bus *prmBus, Logger *prmLogger)
Definition: IceDetector.cpp:3
Bus * bus
Definition: Module.h:17
bool gndvehicle
Definition: globals.h:604
bool IceDetectorHeat
Definition: Bus.h:276
Logger * logger
Definition: Module.h:177
float heatOffTime
Definition: Module.h:180