Avionics
Dropship Simulator
Fcs Class Reference

Flight Control System. More...

#include <Module.h>

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

Classes

struct  Location
 

Public Member Functions

 Fcs (Bus *prmBus, int joysticks)
 
void Initialize (Devices::Joystick *prmFlightControl)
 
void ConnectComponent (std::string name, std::string guid)
 
void FrameMove (float fElapsedTime) override
 
- Public Member Functions inherited from Module
 Module (Bus *prmBus)
 
virtual ~Module ()
 

Private Attributes

std::vector< Locationlocations
 
int ControlPriorityLocation = -1
 
bool ControlPriorityLatched = false
 
std::vector< Devices::Joystick * > flightControls
 
DWORD * fcsFaultPtr = nullptr
 
float * fcsGetFloatPtr = nullptr
 

Additional Inherited Members

- Protected Attributes inherited from Module
Busbus
 

Detailed Description

Flight Control System.

Definition at line 80 of file Module.h.

Constructor & Destructor Documentation

◆ Fcs()

Fcs::Fcs ( Bus prmBus,
int  joysticks 
)

Definition at line 279 of file FCS.cpp.

Member Function Documentation

◆ ConnectComponent()

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

Definition at line 290 of file FCS.cpp.

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

◆ FrameMove()

void Fcs::FrameMove ( float  fElapsedTime)
overridevirtual

Temporary priority: while one pilot presses and holds the red takeover button he has priority, the other side stick is deactivated. When the button is pushed you hear: "priority right/left". the latch makes it permanent after 40 seconds


















When the pilot lets go of the red pushbutton the other sidestick becomes active again and they both operate normally

See also
https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=3&ved=0CC4QFjAC&url=http%3A%2F%2Fwww.smartcockpit.com%2Fdownload.php%3Fpath%3Ddocs%2F%26file%3DA319-320-321_Flight_Deck_and_Systems_Briefing_for_Pilots.pdf&ei=uYKtU_SdLoKuyASam4DgDw&usg=AFQjCNFQsYJaJjXM76PNgoYnADcdftpO2w&sig2=nDoxO159e2URlkT_DwtVuA&bvm=bv.69837884,d.aWw&cad=rja

algebraic sum

CAS message L SIDESTICK FAIL or PILOT F/CTL FAIL vs. GUNNER F/CTL FAIL

clamp

take the one at ControlPriorityLocation, both locations must have all three control inputs?

pitch trim on stick

How do we make this configurable? Could be a different device like a Phidget Encoder?

make the trim upper and lower limits configurable

send autopilot disconnect message trim runaway notification








make the trim upper and lower limits configurable

send autopilot disconnect message trim runaway notification






we have the pitchcontrol/rollcontrol/yawcontrol to work with now

yaw damper, I think that is part of AFCS? but then unless AP is engaged we don't take the AP yaw?

evaluate system status and damage for yaw damper g_bYawDamperOn && ourcockpit.vdat.yawdamper)

desired yaw is based on bank angle? 0.15737 * TAS (knots) gives us bank angle for 3 deg/s turn http://aviation.stackexchange.com/questions/2871/how-to-calculate-angular-velocity-and-radius-of-a-turn


envelope protection (IFCS)

transmit to display computer

limiter

Implements Module.

Definition at line 4 of file FCS.cpp.

Here is the call graph for this function:

◆ Initialize()

void Fcs::Initialize ( Devices::Joystick prmFlightControl)

Definition at line 285 of file FCS.cpp.

Member Data Documentation

◆ ControlPriorityLatched

bool Fcs::ControlPriorityLatched = false
private

Definition at line 92 of file Module.h.

◆ ControlPriorityLocation

int Fcs::ControlPriorityLocation = -1
private

Definition at line 91 of file Module.h.

◆ fcsFaultPtr

DWORD* Fcs::fcsFaultPtr = nullptr
private

Definition at line 96 of file Module.h.

◆ fcsGetFloatPtr

float* Fcs::fcsGetFloatPtr = nullptr
private

Definition at line 97 of file Module.h.

◆ flightControls

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

Definition at line 94 of file Module.h.

◆ locations

std::vector<Location> Fcs::locations
private

Definition at line 89 of file Module.h.


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