Avionics
Dropship Simulator
|
Flight Control System. More...
#include <Module.h>
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< Location > | locations |
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 | |
Bus * | bus |
void Fcs::ConnectComponent | ( | std::string | name, |
std::string | guid | ||
) |
|
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
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.
void Fcs::Initialize | ( | Devices::Joystick * | prmFlightControl | ) |
|
private |