JSBSim Flight Dynamics Model
1.0 (02 March 2017)
An Open Source Flight Dynamics and Control Software Library in C++
|
Implements the output to a socket. More...
#include <FGOutputSocket.h>
Public Member Functions | |
FGOutputSocket (FGFDMExec *fdmex) | |
Constructor. More... | |
~FGOutputSocket () | |
Destructor. More... | |
bool | InitModel (void) |
Initializes the instance. More... | |
virtual bool | Load (Element *el) |
Init the output directives from an XML file. More... | |
void | Print (void) |
Generates the output. | |
virtual void | SetOutputName (const std::string &name) |
Overwrites the name identifier under which the output will be logged. More... | |
void | SocketStatusOutput (const std::string &out_str) |
Outputs a status thru the socket. More... | |
Public Member Functions inherited from FGOutputType | |
FGOutputType (FGFDMExec *fdmex) | |
Constructor (implement the FGModel interface). More... | |
virtual | ~FGOutputType () |
Destructor. | |
void | Disable (void) |
Disables the output generation. | |
void | Enable (void) |
Enables the output generation. | |
virtual const std::string & | GetOutputName (void) const |
Get the name identifier to which the output will be directed. More... | |
double | GetRateHz (void) const |
Get the output rate in Hz for this output. | |
bool | Run (void) |
Executes the output directives (implement the FGModel interface). More... | |
void | SetIdx (unsigned int idx) |
Set the idx for this output instance. More... | |
void | SetOutputProperties (std::vector< FGPropertyNode_ptr > &outputProperties) |
Set the list of properties that should be output for this output instance. More... | |
void | SetRateHz (double rtHz) |
Set the output rate for this output instances. More... | |
virtual void | SetStartNewOutput (void) |
Reset the output prior to a restart of the simulation. More... | |
void | SetSubSystems (int subSystems) |
Set the activated subsystems for this output instance. More... | |
bool | Toggle (void) |
Toggles the output generation. More... | |
Public Member Functions inherited from FGModel | |
FGModel (FGFDMExec *) | |
Constructor. | |
virtual | ~FGModel () |
Destructor. | |
virtual SGPath | FindFullPathName (const SGPath &path) const |
FGFDMExec * | GetExec (void) |
unsigned int | GetRate (void) |
Get the output rate for the model in frames. | |
virtual bool | Run (bool Holding) |
Runs the model; called by the Executive. More... | |
void | SetPropertyManager (FGPropertyManager *fgpm) |
void | SetRate (unsigned int tt) |
Set the ouput rate for the model in frames. | |
Public Member Functions inherited from FGModelFunctions | |
std::string | GetFunctionStrings (const std::string &delimeter) const |
Gets the strings for the current set of functions. More... | |
std::string | GetFunctionValues (const std::string &delimeter) const |
Gets the function values. More... | |
FGFunction * | GetPreFunction (const std::string &name) |
Get one of the "pre" function. More... | |
bool | Load (Element *el, FGPropertyManager *PropertyManager, std::string prefix="") |
void | PostLoad (Element *el, FGPropertyManager *PropertyManager, std::string prefix="") |
void | PreLoad (Element *el, FGPropertyManager *PropertyManager, std::string prefix="") |
void | RunPostFunctions (void) |
void | RunPreFunctions (void) |
Public Member Functions inherited from FGJSBBase | |
FGJSBBase () | |
Constructor for FGJSBBase. | |
virtual | ~FGJSBBase () |
Destructor for FGJSBBase. | |
void | disableHighLighting (void) |
Disables highlighting in the console output. | |
std::string | GetVersion (void) |
Returns the version number of JSBSim. More... | |
void | PutMessage (const Message &msg) |
Places a Message structure on the Message queue. More... | |
void | PutMessage (const std::string &text) |
Creates a message with the given text and places it on the queue. More... | |
void | PutMessage (const std::string &text, bool bVal) |
Creates a message with the given text and boolean value and places it on the queue. More... | |
void | PutMessage (const std::string &text, int iVal) |
Creates a message with the given text and integer value and places it on the queue. More... | |
void | PutMessage (const std::string &text, double dVal) |
Creates a message with the given text and double value and places it on the queue. More... | |
int | SomeMessages (void) |
Reads the message on the queue (but does not delete it). More... | |
void | ProcessMessage (void) |
Reads the message on the queue and removes it from the queue. More... | |
Message * | ProcessNextMessage (void) |
Reads the next message on the queue and removes it from the queue. More... | |
Protected Member Functions | |
virtual void | PrintHeaders (void) |
Protected Member Functions inherited from FGOutputType | |
void | Debug (int from) |
Protected Member Functions inherited from FGJSBBase | |
void | Debug (int) |
Protected Attributes | |
FGfdmSocket * | socket |
std::string | SockName |
unsigned int | SockPort |
FGfdmSocket::ProtocolType | SockProtocol |
Protected Attributes inherited from FGOutputType | |
FGAccelerations * | Accelerations |
FGAerodynamics * | Aerodynamics |
FGAircraft * | Aircraft |
FGAtmosphere * | Atmosphere |
FGAuxiliary * | Auxiliary |
FGBuoyantForces * | BuoyantForces |
bool | enabled |
FGExternalReactions * | ExternalReactions |
FGFCS * | FCS |
FGGroundReactions * | GroundReactions |
FGMassBalance * | MassBalance |
std::vector< std::string > | OutputCaptions |
unsigned int | OutputIdx |
std::vector< FGPropertyNode_ptr > | OutputProperties |
FGPropagate * | Propagate |
FGPropulsion * | Propulsion |
int | SubSystems |
FGWinds * | Winds |
Protected Attributes inherited from FGModel | |
unsigned int | exe_ctr |
FGFDMExec * | FDMExec |
FGPropertyManager * | PropertyManager |
unsigned int | rate |
Protected Attributes inherited from FGModelFunctions | |
FGPropertyReader | LocalProperties |
std::vector< FGFunction * > | PostFunctions |
std::vector< FGFunction * > | PreFunctions |
Additional Inherited Members | |
Public Types inherited from FGOutputType | |
enum | eSubSystems { ssSimulation = 1, ssAerosurfaces = 2, ssRates = 4, ssVelocities = 8, ssForces = 16, ssMoments = 32, ssAtmosphere = 64, ssMassProps = 128, ssAeroFunctions = 256, ssPropagate = 512, ssGroundReactions = 1024, ssFCS = 2048, ssPropulsion = 4096 } |
Subsystem types for specifying which will be output in the FDM data logging. More... | |
Public Types inherited from FGJSBBase | |
enum | { eL = 1, eM, eN } |
Moments L, M, N. | |
enum | { eP = 1, eQ, eR } |
Rates P, Q, R. | |
enum | { eU = 1, eV, eW } |
Velocities U, V, W. | |
enum | { eX = 1, eY, eZ } |
Positions X, Y, Z. | |
enum | { ePhi = 1, eTht, ePsi } |
Euler angles Phi, Theta, Psi. | |
enum | { eDrag = 1, eSide, eLift } |
Stability axis forces, Drag, Side force, Lift. | |
enum | { eRoll = 1, ePitch, eYaw } |
Local frame orientation Roll, Pitch, Yaw. | |
enum | { eNorth = 1, eEast, eDown } |
Local frame position North, East, Down. | |
enum | { eLat = 1, eLong, eRad } |
Locations Radius, Latitude, Longitude. | |
enum | { inNone = 0, inDegrees, inRadians, inMeters, inFeet } |
Conversion specifiers. | |
Static Public Member Functions inherited from FGJSBBase | |
static double | CelsiusToFahrenheit (double celsius) |
Converts from degrees Celsius to degrees Fahrenheit. More... | |
static double | CelsiusToKelvin (double celsius) |
Converts from degrees Celsius to degrees Kelvin. More... | |
static double | CelsiusToRankine (double celsius) |
Converts from degrees Celsius to degrees Rankine. More... | |
static double | Constrain (double min, double value, double max) |
Constrain a value between a minimum and a maximum value. | |
static bool | EqualToRoundoff (double a, double b) |
Finite precision comparison. More... | |
static bool | EqualToRoundoff (float a, float b) |
Finite precision comparison. More... | |
static bool | EqualToRoundoff (float a, double b) |
Finite precision comparison. More... | |
static bool | EqualToRoundoff (double a, float b) |
Finite precision comparison. More... | |
static double | FahrenheitToCelsius (double fahrenheit) |
Converts from degrees Fahrenheit to degrees Celsius. More... | |
static double | FeetToMeters (double measure) |
Converts from feet to meters. More... | |
static double | GaussianRandomNumber (void) |
static double | KelvinToCelsius (double kelvin) |
Converts from degrees Kelvin to degrees Celsius. More... | |
static double | KelvinToFahrenheit (double kelvin) |
Converts from degrees Kelvin to degrees Fahrenheit. More... | |
static double | KelvinToRankine (double kelvin) |
Converts from degrees Kelvin to degrees Rankine. More... | |
static double | MachFromVcalibrated (double vcas, double p, double psl, double rhosl) |
Calculate the Mach number from the calibrated airspeed. More... | |
static double | PitotTotalPressure (double mach, double p) |
Compute the total pressure in front of the Pitot tube. More... | |
static double | RankineToCelsius (double rankine) |
Converts from degrees Rankine to degrees Celsius. More... | |
static double | RankineToKelvin (double rankine) |
Converts from degrees Rankine to degrees Kelvin. More... | |
static double | sign (double num) |
static double | VcalibratedFromMach (double mach, double p, double psl, double rhosl) |
Calculate the calibrated airspeed from the Mach number. More... | |
Public Attributes inherited from FGOutputType | |
enum JSBSim::FGOutputType::eSubSystems | subsystems |
Public Attributes inherited from FGModel | |
std::string | Name |
Static Public Attributes inherited from FGJSBBase | |
static short | debug_lvl = 1 |
static char | highint [5] = {27, '[', '1', 'm', '\0' } |
highlights text | |
static char | halfint [5] = {27, '[', '2', 'm', '\0' } |
low intensity text | |
static char | normint [6] = {27, '[', '2', '2', 'm', '\0' } |
normal intensity text | |
static char | reset [5] = {27, '[', '0', 'm', '\0' } |
resets text properties | |
static char | underon [5] = {27, '[', '4', 'm', '\0' } |
underlines text | |
static char | underoff [6] = {27, '[', '2', '4', 'm', '\0' } |
underline off | |
static char | fgblue [6] = {27, '[', '3', '4', 'm', '\0' } |
blue text | |
static char | fgcyan [6] = {27, '[', '3', '6', 'm', '\0' } |
cyan text | |
static char | fgred [6] = {27, '[', '3', '1', 'm', '\0' } |
red text | |
static char | fggreen [6] = {27, '[', '3', '2', 'm', '\0' } |
green text | |
static char | fgdef [6] = {27, '[', '3', '9', 'm', '\0' } |
default text | |
Static Protected Member Functions inherited from FGJSBBase | |
static std::string | CreateIndexedPropertyName (const std::string &Property, int index) |
Static Protected Attributes inherited from FGJSBBase | |
static const double | degtorad = 0.017453292519943295769236907684886 |
static const double | fpstokts = 1.0/ktstofps |
static const double | fttom = 0.3048 |
static int | gaussian_random_number_phase = 0 |
static const double | hptoftlbssec = 550.0 |
static const double | in3tom3 = 1.638706E-5 |
static const double | inchtoft = 0.08333333 |
static const double | inhgtopa = 3386.38 |
static const std::string | JSBSim_version = "1.0 " __DATE__ " " __TIME__ |
static const double | kgtolb = 2.20462 |
static const double | kgtoslug = 0.06852168 |
static const double | ktstofps = 1.68781 |
static const double | lbtoslug = 1.0/slugtolb |
static Message | localMsg |
static const double | m3toft3 = 1.0/(fttom*fttom*fttom) |
static double | Mair = 28.9645 |
static unsigned int | messageId = 0 |
static std::queue< Message > | Messages |
static const std::string | needed_cfg_version = "2.0" |
static const double | psftoinhg = 0.014138 |
static const double | psftopa = 47.88 |
static const double | radtodeg = 57.295779513082320876798154814105 |
static double | Reng = 1716.56 |
static double | Rstar = 1545.348 |
static const double | SHRatio = 1.40 |
static const double | slugtolb = 32.174049 |
Implements the output to a socket.
This class outputs data to a socket according to the JSBSim format. It can be inherited as a generic class that provides services for socket outputs. For instance FGOutputFG inherits FGOutputSocket for the socket management but outputs data with a format different than FGOutputSocket.
Definition at line 72 of file FGOutputSocket.h.
FGOutputSocket | ( | FGFDMExec * | fdmex | ) |
Constructor.
Definition at line 70 of file FGOutputSocket.cpp.
~FGOutputSocket | ( | ) |
|
virtual |
Initializes the instance.
This method basically opens the socket to which outputs will be directed.
Reimplemented from FGOutputType.
Definition at line 131 of file FGOutputSocket.cpp.
|
virtual |
Init the output directives from an XML file.
element | XML Element that is pointing to the output directives |
Reimplemented from FGOutputType.
Definition at line 117 of file FGOutputSocket.cpp.
|
virtual |
Overwrites the name identifier under which the output will be logged.
This method is taken into account if it is called before FGFDMExec::RunIC() otherwise it is ignored until the next call to SetStartNewOutput().
name | new name in the form "hostname:port/proto" hostname could be an ip, port a numerical value and proto should be UDP or TCP (the default if omitted) |
Reimplemented from FGOutputType.
Definition at line 85 of file FGOutputSocket.cpp.
void SocketStatusOutput | ( | const std::string & | out_str | ) |
Outputs a status thru the socket.
This method issues a message prepended by the string "<STATUS>" to the socket.
out_str | status message |
Definition at line 390 of file FGOutputSocket.cpp.