Avionics
Dropship Simulator
|
Full Authority Digital Engine Control. More...
#include <Module.h>
Public Member Functions | |
Fadec (Bus *prmBus, int prmSoundDevice, int prmAxis, int prmOrdinal, std::string prmPrefix) | |
void | Initialize (Devices::Joystick *prmFlightControl, Devices::Bass *prmBass) |
void | ConnectComponent (std::string name, std::string guid) |
void | FrameMove (float fElapsedTime) override |
http://aviation.stackexchange.com/questions/1959/how-are-turbine-engines-started More... | |
Public Member Functions inherited from Module | |
Module (Bus *prmBus) | |
virtual | ~Module () |
Public Attributes | |
int | soundDevice = -1 |
int | joystickAxis = 0 |
int | engineOrdinal = 0 |
std::string | prefix = "Left" |
Private Attributes | |
std::vector< Devices::Joystick * > | flightControls |
Devices::Bass * | bass = nullptr |
bool | engineStart = false |
bool | engineRun = false |
bool | engineLit = false |
float | lightOffTimer = 0.0f |
float | ignitionTimer = 0.0f |
bool | engineStopError = false |
float | engineStopTimer = 0.0f |
DWORD * | fadecFaultPtr = nullptr |
float * | fadecGetFloatPtr = nullptr |
float * | starterSetFloatPtr = nullptr |
float * | starterGetFloatPtr = nullptr |
float * | N2SetFloatPtr = nullptr |
float * | N2GetFloatPtr = nullptr |
DWORD * | N1FaultPtr = nullptr |
float * | N1SetFloatPtr = nullptr |
float * | ignitionSetFloatPtr = nullptr |
float * | ignitionGetFloatPtr = nullptr |
float * | combustionSetFloatPtr = nullptr |
float * | ITTSetFloatPtr = nullptr |
Additional Inherited Members | |
Protected Attributes inherited from Module | |
Bus * | bus |
Fadec::Fadec | ( | Bus * | prmBus, |
int | prmSoundDevice, | ||
int | prmAxis, | ||
int | prmOrdinal, | ||
std::string | prmPrefix | ||
) |
void Fadec::ConnectComponent | ( | std::string | name, |
std::string | guid | ||
) |
|
overridevirtual |
http://aviation.stackexchange.com/questions/1959/how-are-turbine-engines-started
not sure how to handle program delay but it can jack with the numbers
bird injestion test
I think it is easiest for the selected side to just have control these are the request values which will show on the instrumentation
special case, the X-55 throttle always starts at 0.5 until you move it... and the first frame always gets 0.0 for some reason
http://stackoverflow.com/questions/12943420/c-winapi-removing-a-flag-from-a-dword-bitwise-operator
engine starter
at 0% it is 100%, at 50% or higher it is 0%, non-linear?
should be about 7 seconds to 20%
igniters on
igniters off
what to do with igniters? continuous ignition?
compression break compression ratio between front and back, inside combustion vs. bypass?
energy transfer between N1 and N2
windmill test
rolling friction
air friction
What can cause flameout? too much water? too much air for too little FF? Too cool of ITT?
have to redo this... it would interrupt a normal start by cutting fuel flow at 120 degrees!
meter TLA flow based on N2?
could check that the ignitor wasn't on?
I have FCOM questions regarding CRJ200 ignitors - A and B are both high tension? or is one low tension? continuous runs both A and B but we alternate A or B each start!
see if ignitor lights it by random
combustion drives both shafts
Diffuser
Implements Module.
Definition at line 5 of file FADEC.cpp.
void Fadec::Initialize | ( | Devices::Joystick * | prmFlightControl, |
Devices::Bass * | prmBass | ||
) |
|
private |
|
private |