|
FlightGear next
|
Implements the output to a socket. More...
#include <FGOutputSocket.h>
Inherits JSBSim::FGOutputType.
Inherited by JSBSim::FGOutputFG.
Public Member Functions | |
| FGOutputSocket (FGFDMExec *fdmex) | |
| Constructor. | |
| ~FGOutputSocket () override | |
| Destructor. | |
| void | SetOutputName (const std::string &name) override |
| Overwrites the name identifier under which the output will be logged. | |
| bool | Load (Element *el) override |
| Init the output directives from an XML file. | |
| bool | InitModel (void) override |
| Initializes the instance. | |
| void | Print (void) override |
| Generates the output. | |
| void | SocketStatusOutput (const std::string &out_str) |
| Outputs a status thru the socket. | |
Public Member Functions inherited from JSBSim::FGOutputType | |
| FGOutputType (FGFDMExec *fdmex) | |
| Constructor (implement the FGModel interface). | |
| ~FGOutputType () override | |
| Destructor. | |
| void | SetIdx (unsigned int idx) |
| Set the idx for this output instance. | |
| void | SetRateHz (double rtHz) |
| Set the output rate for this output instances. | |
| double | GetRateHz (void) const |
| Get the output rate in Hz for this output. | |
| void | SetSubSystems (int subSystems) |
| Set the activated subsystems for this output instance. | |
| void | SetOutputProperties (std::vector< FGPropertyNode_ptr > &outputProperties) |
| Set the list of properties that should be output for this output instance. | |
| virtual const std::string & | GetOutputName (void) const |
| Get the name identifier to which the output will be directed. | |
| bool | Load (Element *el) override |
| Init the output directives from an XML file (implement the FGModel interface). | |
| bool | InitModel (void) override |
| Init the output model according to its configitation. | |
| bool | Run (void) |
| Executes the output directives (implement the FGModel interface). | |
| virtual void | SetStartNewOutput (void) |
| Reset the output prior to a restart of the simulation. | |
| void | Enable (void) |
| Enables the output generation. | |
| void | Disable (void) |
| Disables the output generation. | |
| bool | Toggle (void) |
| Toggles the output generation. | |
Public Member Functions inherited from JSBSim::FGModel | |
| FGModel (FGFDMExec *) | |
| Constructor. | |
| ~FGModel () override | |
| Destructor. | |
| virtual bool | Run (bool Holding) |
| Runs the model; called by the Executive. | |
| void | SetRate (unsigned int tt) |
| Set the ouput rate for the model in frames. | |
| unsigned int | GetRate (void) |
| Get the output rate for the model in frames. | |
| FGFDMExec * | GetExec (void) |
| void | SetPropertyManager (FGPropertyManager *fgpm) |
| virtual SGPath | FindFullPathName (const SGPath &path) const |
| const std::string & | GetName (void) |
Public Member Functions inherited from JSBSim::FGModelFunctions | |
| virtual | ~FGModelFunctions () |
| void | RunPreFunctions (void) |
| void | RunPostFunctions (void) |
| bool | Load (Element *el, FGFDMExec *fdmex, std::string prefix="") |
| void | PreLoad (Element *el, FGFDMExec *fdmex, std::string prefix="") |
| void | PostLoad (Element *el, FGFDMExec *fdmex, std::string prefix="") |
| std::string | GetFunctionStrings (const std::string &delimeter) const |
| Gets the strings for the current set of functions. | |
| std::string | GetFunctionValues (const std::string &delimeter) const |
| Gets the function values. | |
| FGFunction * | GetPreFunction (const std::string &name) |
| Get one of the "pre" function. | |
Public Member Functions inherited from JSBSim::FGJSBBase | |
| FGJSBBase () | |
| Constructor for FGJSBBase. | |
| virtual | ~FGJSBBase () |
| Destructor for FGJSBBase. | |
| void | PutMessage (const Message &msg) |
| Places a Message structure on the Message queue. | |
| void | PutMessage (const std::string &text) |
| Creates a message with the given text and places it on the queue. | |
| void | PutMessage (const std::string &text, bool bVal) |
| Creates a message with the given text and boolean value and places it on the queue. | |
| void | PutMessage (const std::string &text, int iVal) |
| Creates a message with the given text and integer value and places it on the queue. | |
| void | PutMessage (const std::string &text, double dVal) |
| Creates a message with the given text and double value and places it on the queue. | |
| int | SomeMessages (void) const |
| Reads the message on the queue (but does not delete it). | |
| void | ProcessMessage (void) |
| Reads the message on the queue and removes it from the queue. | |
| Message * | ProcessNextMessage (void) |
| Reads the next message on the queue and removes it from the queue. | |
| void | disableHighLighting (void) |
| Disables highlighting in the console output. | |
Protected Member Functions | |
| virtual void | PrintHeaders (void) |
Protected Member Functions inherited from JSBSim::FGOutputType | |
| void | Debug (int from) override |
Protected Member Functions inherited from JSBSim::FGModel | |
| bool | Upload (Element *el, bool preLoad) |
| Uploads this model in memory. | |
Additional Inherited Members | |
Public Types inherited from JSBSim::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 JSBSim::FGJSBBase | |
| enum | { eL = 1 , eM , eN } |
| Moments L, M, N. More... | |
| enum | { eP = 1 , eQ , eR } |
| Rates P, Q, R. More... | |
| enum | { eU = 1 , eV , eW } |
| Velocities U, V, W. More... | |
| enum | { eX = 1 , eY , eZ } |
| Positions X, Y, Z. More... | |
| enum | { ePhi = 1 , eTht , ePsi } |
| Euler angles Phi, Theta, Psi. More... | |
| enum | { eDrag = 1 , eSide , eLift } |
| Stability axis forces, Drag, Side force, Lift. More... | |
| enum | { eRoll = 1 , ePitch , eYaw } |
| Local frame orientation Roll, Pitch, Yaw. More... | |
| enum | { eNorth = 1 , eEast , eDown } |
| Local frame position North, East, Down. More... | |
| enum | { eLat = 1 , eLong , eRad } |
| Locations Radius, Latitude, Longitude. More... | |
| enum | { inNone = 0 , inDegrees , inRadians , inMeters , inFeet } |
| Conversion specifiers. More... | |
| static const std::string & | GetVersion (void) |
| Returns the version number of JSBSim. | |
| static constexpr double | KelvinToFahrenheit (double kelvin) |
| Converts from degrees Kelvin to degrees Fahrenheit. | |
| static constexpr double | CelsiusToRankine (double celsius) |
| Converts from degrees Celsius to degrees Rankine. | |
| static constexpr double | RankineToCelsius (double rankine) |
| Converts from degrees Rankine to degrees Celsius. | |
| static constexpr double | KelvinToRankine (double kelvin) |
| Converts from degrees Kelvin to degrees Rankine. | |
| static constexpr double | RankineToKelvin (double rankine) |
| Converts from degrees Rankine to degrees Kelvin. | |
| static constexpr double | FahrenheitToCelsius (double fahrenheit) |
| Converts from degrees Fahrenheit to degrees Celsius. | |
| static constexpr double | CelsiusToFahrenheit (double celsius) |
| Converts from degrees Celsius to degrees Fahrenheit. | |
| static constexpr double | CelsiusToKelvin (double celsius) |
| Converts from degrees Celsius to degrees Kelvin. | |
| static constexpr double | KelvinToCelsius (double kelvin) |
| Converts from degrees Kelvin to degrees Celsius. | |
| static constexpr double | FeetToMeters (double measure) |
| Converts from feet to meters. | |
| static double | PitotTotalPressure (double mach, double p) |
| Compute the total pressure in front of the Pitot tube. | |
| static double | MachFromImpactPressure (double qc, double p) |
| Compute the Mach number from the differential pressure (qc) and the static pressure. | |
| static double | VcalibratedFromMach (double mach, double p) |
| Calculate the calibrated airspeed from the Mach number. | |
| static double | MachFromVcalibrated (double vcas, double p) |
| Calculate the Mach number from the calibrated airspeed.Based on the formulas in the US Air Force Aircraft Performance Flight Testing Manual (AFFTC-TIH-99-01). | |
| static bool | EqualToRoundoff (double a, double b) |
| Finite precision comparison. | |
| static bool | EqualToRoundoff (float a, float b) |
| Finite precision comparison. | |
| static bool | EqualToRoundoff (float a, double b) |
| Finite precision comparison. | |
| static bool | EqualToRoundoff (double a, float b) |
| Finite precision comparison. | |
| static constexpr double | Constrain (double min, double value, double max) |
| Constrain a value between a minimum and a maximum value. | |
| static constexpr double | sign (double num) |
| static double | GaussianRandomNumber (void) |
Public Attributes inherited from JSBSim::FGOutputType | |
| enum JSBSim::FGOutputType::eSubSystems | subsystems |
Static Public Attributes inherited from JSBSim::FGJSBBase | |
| 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 short | debug_lvl = 1 |
| static std::string | CreateIndexedPropertyName (const std::string &Property, int index) |
| static Message | localMsg |
| static std::queue< Message > | Messages |
| static unsigned int | messageId = 0 |
| static constexpr double | radtodeg = 180. / 3.14159265358979323846 |
| static constexpr double | degtorad = 3.14159265358979323846 / 180. |
| static constexpr double | hptoftlbssec = 550.0 |
| static constexpr double | psftoinhg = 0.014138 |
| static constexpr double | psftopa = 47.88 |
| static constexpr double | ktstofps = 1.68781 |
| static constexpr double | fpstokts = 1.0 / ktstofps |
| static constexpr double | inchtoft = 1.0/12.0 |
| static constexpr double | fttom = 0.3048 |
| static constexpr double | m3toft3 = 1.0/(fttom*fttom*fttom) |
| static constexpr double | in3tom3 = inchtoft*inchtoft*inchtoft/m3toft3 |
| static constexpr double | inhgtopa = 3386.38 |
| static constexpr double | slugtolb = 32.174049 |
| Note that definition of lbtoslug by the inverse of slugtolb and not to a different constant you can also get from some tables will make lbtoslug*slugtolb == 1 up to the magnitude of roundoff. | |
| static constexpr double | lbtoslug = 1.0/slugtolb |
| static constexpr double | kgtolb = 2.20462 |
| static constexpr double | kgtoslug = 0.06852168 |
| static const std::string | needed_cfg_version = "2.0" |
| static const std::string | JSBSim_version = JSBSIM_VERSION " " __DATE__ " " __TIME__ |
| static int | gaussian_random_number_phase = 0 |
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 66 of file FGOutputSocket.h.
| JSBSim::FGOutputSocket::FGOutputSocket | ( | FGFDMExec * | fdmex | ) |
Constructor.
Definition at line 68 of file FGOutputSocket.cpp.
|
override |
Destructor.
Definition at line 76 of file FGOutputSocket.cpp.
|
overridevirtual |
Initializes the instance.
This method basically opens the socket to which outputs will be directed.
Reimplemented from JSBSim::FGModel.
Definition at line 135 of file FGOutputSocket.cpp.
|
overridevirtual |
Init the output directives from an XML file.
| element | XML Element that is pointing to the output directives |
Reimplemented from JSBSim::FGModel.
Definition at line 115 of file FGOutputSocket.cpp.
|
overridevirtual |
Generates the output.
Implements JSBSim::FGOutputType.
Definition at line 279 of file FGOutputSocket.cpp.
|
protectedvirtual |
Reimplemented in JSBSim::FGOutputFG.
Definition at line 154 of file FGOutputSocket.cpp.
|
overridevirtual |
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 JSBSim::FGOutputType.
Definition at line 83 of file FGOutputSocket.cpp.
| void JSBSim::FGOutputSocket::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 392 of file FGOutputSocket.cpp.
|
protected |
Definition at line 111 of file FGOutputSocket.h.
|
protected |
Definition at line 110 of file FGOutputSocket.h.
|
protected |
Definition at line 107 of file FGOutputSocket.h.
|
protected |
Definition at line 108 of file FGOutputSocket.h.
|
protected |
Definition at line 109 of file FGOutputSocket.h.