QQ登录

只需一步,快速开始

发送和获取FG数据

2011-11-25 15:26| 发布者: flightgear| 查看: 2464| 评论: 203|原作者: Steven

摘要: 由C++编写的小程序,开放源码。 总共分为两程序文件,其中SetFDMData用来发送数据并驱动FlightGear视景,另外一个GetFDMData用来获取FG数据。 现在提供给大家,希望能派上用场。
由C++编写的小程序,开放源码。
总共分为两程序文件,其中SetFDMData用来发送数据并驱动FlightGear视景,另外一个GetFDMData用来获取FG数据。
现在提供给大家,希望能派上用场。
SetFDMData.rar
GetFDMData.rar
2

鲜花

握手

雷人

路过

鸡蛋

刚表态过的朋友 (2 人)

发表评论

最新评论

jinchengde 2011-11-24 13:26
class FGNetData
{
public:
        FGNetData(void);
        ~FGNetData(void);
private:
        void htond (double &x);
        void htonf (float &x);
public:
        void ConverData();
public:

public:

        enum {
                FG_MAX_ENGINES = 4,
                FG_MAX_WHEELS = 3,
                FG_MAX_TANKS = 4
        };

        uint32_t version;                // increment when data values change
        uint32_t padding;                // padding

        // Positions
        double longitude;                // geodetic (radians)
        double latitude;                // geodetic (radians)
        double altitude;                // above sea level (meters)
        float agl;                        // above ground level (meters)
        float phi;                        // roll (radians)
        float theta;                // pitch (radians)
        float psi;                        // yaw or true heading (radians)
        float alpha;                // angle of attack (radians)
        float beta;                 // side slip angle (radians)

        // Velocities
        float phidot;                // roll rate (radians/sec)
        float thetadot;                // pitch rate (radians/sec)
        float psidot;                // yaw rate (radians/sec)
        float vcas;                        // calibrated airspeed
        float climb_rate;                // feet per second
        float v_north;              // north velocity in local/body frame, fps
        float v_east;               // east velocity in local/body frame, fps
        float v_down;               // down/vertical velocity in local/body frame, fps
        float v_wind_body_north;    // north velocity in local/body frame
        // relative to local airmass, fps
        float v_wind_body_east;     // east velocity in local/body frame
        // relative to local airmass, fps
        float v_wind_body_down;     // down/vertical velocity in local/body
        // frame relative to local airmass, fps

        // Accelerations
        float A_X_pilot;                // X accel in body frame ft/sec^2
        float A_Y_pilot;                // Y accel in body frame ft/sec^2
        float A_Z_pilot;                // Z accel in body frame ft/sec^2

        // Stall
        float stall_warning;        // 0.0 - 1.0 indicating the amount of stall
        float slip_deg;                // slip ball deflection

        // Pressure

        // Engine status
        uint32_t num_engines;             // Number of valid engines
        uint32_t eng_state[FG_MAX_ENGINES];// Engine state (off, cranking, running)
        float rpm[FG_MAX_ENGINES];             // Engine RPM rev/min
        float fuel_flow[FG_MAX_ENGINES]; // Fuel flow gallons/hr
        float fuel_px[FG_MAX_ENGINES];   // Fuel pressure psi
        float egt[FG_MAX_ENGINES];             // Exhuast gas temp deg F
        float cht[FG_MAX_ENGINES];             // Cylinder head temp deg F
        float mp_osi[FG_MAX_ENGINES];    // Manifold pressure
        float tit[FG_MAX_ENGINES];             // Turbine Inlet Temperature
        float oil_temp[FG_MAX_ENGINES];  // Oil temp deg F
        float oil_px[FG_MAX_ENGINES];    // Oil pressure psi

        // Consumables
        uint32_t num_tanks;                // Max number of fuel tanks
        float fuel_quantity[FG_MAX_TANKS];

        // Gear status
        uint32_t num_wheels;
        uint32_t wow[FG_MAX_WHEELS];
        float gear_pos[FG_MAX_WHEELS];
        float gear_steer[FG_MAX_WHEELS];
        float gear_compression[FG_MAX_WHEELS];

        // Environment
        uint32_t cur_time;           // current unix time
        // FIXME: make this uint64_t before 2038
        int32_t warp;                // offset in seconds to unix time
        float visibility;            // visibility in meters (for env. effects)

        // Control surface positions (normalized values)
        float elevator;
        float elevator_trim_tab;
        float left_flap;
        float right_flap;
        float left_aileron;
        float right_aileron;
        float rudder;
        float nose_wheel;
        float speedbrake;
        float spoilers;

};

有兄弟可以翻译一下各个参数什么意思么?
tan_dunming 2011-11-24 18:36
谢谢楼主 学习学习
fg-fans 2011-11-24 20:12
没想到困扰我这么久的问题被楼主这么轻易解决了,膜拜一下。
jackvoy 2011-11-29 17:24
谢谢楼主的贡献
ankara 2011-11-29 20:20
膜拜中!
shadidi 2012-1-11 11:42
非常感谢,
my5800mkk 2012-1-31 16:14
多谢楼主              正需要呢
wanghaitao 2012-2-15 21:24
xiexie,好东西
wanghaitao 2012-3-1 20:59
好东西 谢谢啊
爱谁谁 2012-3-4 15:49
怎么看不到附件?
hw0wei 2012-3-5 11:26
看看 是什么
漂游的风 2012-3-12 09:39
问题是我不知道这个论坛的东西怎么下载……
※不小Zn☆ 2012-3-16 16:47
这两个文件该怎么用呐?
※不小Zn☆ 2012-3-30 15:41
请问下LZ,这两个程序是对所有机型都适用,还是针对特定的飞机的?
邪恶小胖 2012-4-7 08:54
这个可是好东西
胡秀伟 2012-4-12 20:54
下了,很好的学习资料,多谢!
349516385 2012-4-17 13:29
那个接收的怎么用啊?
gaowh 2012-5-1 19:28
为什么Flightgear实景显示的时候会变成黑夜呢?
zwy1362620 2012-5-23 19:16
楼主,这个怎么使用可以让飞机自动跟着GETFDMData接收到的数据飞呢?

查看全部评论(203)

手机版|联系我们| FlightGear ( 京ICP备10014305号 )

GMT+8, 2019-8-26 14:41

Powered by Discuz! X3.2

© 2001-2013 FlightGear Inc.

返回顶部