Avionics
Dropship Simulator
Fadec Class Reference

Full Authority Digital Engine Control. More...

#include <Module.h>

Inheritance diagram for Fadec:
[legend]
Collaboration diagram for Fadec:
[legend]

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::Bassbass = 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
Busbus
 

Detailed Description

Full Authority Digital Engine Control.

Definition at line 107 of file Module.h.

Constructor & Destructor Documentation

◆ Fadec()

Fadec::Fadec ( Bus prmBus,
int  prmSoundDevice,
int  prmAxis,
int  prmOrdinal,
std::string  prmPrefix 
)

Definition at line 363 of file FADEC.cpp.

Member Function Documentation

◆ ConnectComponent()

void Fadec::ConnectComponent ( std::string  name,
std::string  guid 
)

we aren't doing anything with the GetFloatPtr yet... it should signify if it is powered or not!

Definition at line 381 of file FADEC.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ FrameMove()

void Fadec::FrameMove ( float  fElapsedTime)
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

  • N1 has actual rotation (setState) and sensor (currentState)?
  • N1 sensor is attached to N1 and relays the speed
  • N2 has actual rotation and temperature
  • N2 sensor is attached to N2 and relays the speed ITT sensor is attached to N2 and relays the temp
  • starter is connected to N2 Jet pipe afterburner? (uses a lot more fuel) EGT sensor? AVM (vibe, usually two per engine, higher of the two readings) Reverser/VTOL deflection/redirection reverser door, vtol duct, servo



    so starters, need components for those and we get pointers eventually we will have dependency on fuel line which is dependant on fuel pump and fuel in reservoir


    relative wind from the front (based on how far open it is) adds to pressure that we can create based on density 20% of the power is from the combustion, 80% is from the air N1 and N2 are not physically connected N2 is at 60 and N1 is at 25 at idle at SLP? 7% N2 we get ignition, 20% N2 we get fuel flow... if no light in 5 seconds we abort 50% N2 ignition off, starter cutout

    two buttons at front of unit could be reversers... only work on ground ATTCS handles TOGA is automatic N1 differential of 15%, windshear, or thrust levers past 100% stop (must be in idle) start (initiate start sequence, alternates fadec channels each start), run... ignition -off disregarded WOW, auto (fadec controlled), ovrd (continuous when engine is in RUN mode)
    air inlet temp T2 for fadec,

Implements Module.

Definition at line 5 of file FADEC.cpp.

Here is the call graph for this function:

◆ Initialize()

void Fadec::Initialize ( Devices::Joystick prmFlightControl,
Devices::Bass prmBass 
)

Definition at line 373 of file FADEC.cpp.

Member Data Documentation

◆ bass

Devices::Bass* Fadec::bass = nullptr
private

Definition at line 111 of file Module.h.

◆ combustionSetFloatPtr

float* Fadec::combustionSetFloatPtr = nullptr
private

Definition at line 131 of file Module.h.

◆ engineLit

bool Fadec::engineLit = false
private

Definition at line 115 of file Module.h.

◆ engineOrdinal

int Fadec::engineOrdinal = 0

Definition at line 137 of file Module.h.

◆ engineRun

bool Fadec::engineRun = false
private

Definition at line 114 of file Module.h.

◆ engineStart

bool Fadec::engineStart = false
private

Definition at line 113 of file Module.h.

◆ engineStopError

bool Fadec::engineStopError = false
private

Definition at line 118 of file Module.h.

◆ engineStopTimer

float Fadec::engineStopTimer = 0.0f
private

Definition at line 119 of file Module.h.

◆ fadecFaultPtr

DWORD* Fadec::fadecFaultPtr = nullptr
private

Definition at line 121 of file Module.h.

◆ fadecGetFloatPtr

float* Fadec::fadecGetFloatPtr = nullptr
private

Definition at line 122 of file Module.h.

◆ flightControls

std::vector<Devices::Joystick*> Fadec::flightControls
private

Definition at line 110 of file Module.h.

◆ ignitionGetFloatPtr

float* Fadec::ignitionGetFloatPtr = nullptr
private

Definition at line 130 of file Module.h.

◆ ignitionSetFloatPtr

float* Fadec::ignitionSetFloatPtr = nullptr
private

Definition at line 129 of file Module.h.

◆ ignitionTimer

float Fadec::ignitionTimer = 0.0f
private

Definition at line 117 of file Module.h.

◆ ITTSetFloatPtr

float* Fadec::ITTSetFloatPtr = nullptr
private

Definition at line 132 of file Module.h.

◆ joystickAxis

int Fadec::joystickAxis = 0

Definition at line 136 of file Module.h.

◆ lightOffTimer

float Fadec::lightOffTimer = 0.0f
private

Definition at line 116 of file Module.h.

◆ N1FaultPtr

DWORD* Fadec::N1FaultPtr = nullptr
private

Definition at line 127 of file Module.h.

◆ N1SetFloatPtr

float* Fadec::N1SetFloatPtr = nullptr
private

Definition at line 128 of file Module.h.

◆ N2GetFloatPtr

float* Fadec::N2GetFloatPtr = nullptr
private

Definition at line 126 of file Module.h.

◆ N2SetFloatPtr

float* Fadec::N2SetFloatPtr = nullptr
private

Definition at line 125 of file Module.h.

◆ prefix

std::string Fadec::prefix = "Left"

Definition at line 138 of file Module.h.

◆ soundDevice

int Fadec::soundDevice = -1

Definition at line 135 of file Module.h.

◆ starterGetFloatPtr

float* Fadec::starterGetFloatPtr = nullptr
private

Definition at line 124 of file Module.h.

◆ starterSetFloatPtr

float* Fadec::starterSetFloatPtr = nullptr
private

Definition at line 123 of file Module.h.


The documentation for this class was generated from the following files: