QQ登录

只需一步,快速开始

查看: 9871|回复: 9
打印 上一主题 下一主题

Flightgear接口系列_4_flightgear接口的扩展

[复制链接]

主题

好友

5142

积分

版主

跳转到指定楼层
楼主
发表于 2014-5-5 21:09:28 |只看该作者 |倒序浏览
本帖最后由 zk_sima 于 2014-5-5 21:15 编辑

继续前面的 Flightgear接口系列_3_Flightgear支持的基本接口协议介绍

这里我们来介绍下如何扩展flightgear的接口协议。
扩展flightgear接口协议涉及到对flightgear源码的修改。

下面的介绍中,以扩展myProp协议来讲解。
扩展协议名称: myProp
支持的数据流方向:in,out,bi
支持的数据传输类型:socket,file,serial
支持的网络数据传输模式:udp,tcp
命令行实例: myProp=socket,in,10,127.0.0.1,5050,udp
为了扩展myProp协议需要进行下面3不操作:
1. 命令行的支持:前面介绍了,flightgear在初始阶段会通过fgInitConfig来解析命令行,为了是程序能够支持自定义协议 myProp的解析,需要在option中增加myProp,即在fgOptionArray结构体中添加一项:{"myProp",       true,  OPTION_CHANNEL, "", false, "", 0 }


2.FGIO的支持:fgio在初始化过程中会对每个channel生成对应的FGProtocol对象,因此需要在FGIO中进行修改以生成自定义的FGProtocol对象,即在parse_port_config函数中,增加了:
else if (protocol == "myProp")
  {
   FGMyProp *myprop = new FGMyProp;
            io = myprop;
  }

3.自定义协议的实现,需要增加自定义的FGProtocol子类来实现我们的myProp协议:
class FGMyProp : public FGProtocol {
        /*数据收发的本地缓冲区*/
    char buf[2048];
        /*缓冲区大小*/
    int length;


public:


    FGMyProp();
    ~FGMyProp();


    // open hailing frequencies
    bool open();


    // process work for this port
    bool process();


    // close the channel
    bool close();


        bool parseInputData();
};


完成上面3部操作即可实现自定义协议的扩展。
至此flightgear的IO系列算是完结了,2周后继续对flightgear的其它模块i进行学习,大家可以通过留言回复或邮件的方式来交流。
希望能成功的申请到论坛的接口版块的版主!
email: zk.sima@gmail.com
分享到: QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
分享分享0 收藏收藏2

主题

好友

14

积分

报考学院待录取

沙发
发表于 2014-6-15 15:45:34 |只看该作者
楼主辛苦,接口讲的很清楚,谢谢
回复

使用道具 举报

主题

好友

16

积分

报考学院待录取

板凳
发表于 2015-1-5 16:49:19 |只看该作者
大神,学习了~~~~~~~~~~~~
回复

使用道具 举报

主题

好友

37

积分

报考学院待录取

地板
发表于 2015-1-17 13:39:50 |只看该作者
楼主辛苦了。不知道楼主有没有研究过FG的GPS模块
回复

使用道具 举报

主题

好友

6

积分

报考学院待录取

5#
发表于 2015-1-31 15:57:13 |只看该作者
楼主辛苦啦!楼主有没有学习过Matlab和FG的接口连接呢?
回复

使用道具 举报

主题

好友

13

积分

报考学院待录取

6#
发表于 2016-3-31 18:31:21 |只看该作者
大牛啊,膜拜,虽然看不太懂
回复

使用道具 举报

主题

好友

55

积分

航院新生

7#
发表于 2018-4-28 10:04:16 |只看该作者
感谢大牛。膜拜,真的是在论坛里逛了很久也就你的是干货
回复

使用道具 举报

主题

好友

35

积分

航院新生

8#
发表于 2019-1-8 13:49:28 |只看该作者
非常感谢!!!!!!!!!!
回复

使用道具 举报

主题

好友

23

积分

报考学院待录取

9#
发表于 2019-3-13 11:04:37 |只看该作者
学到了,好东西啊,谢谢
回复

使用道具 举报

主题

好友

19

积分

报考学院待录取

10#
发表于 2023-6-29 17:10:31 |只看该作者
学习
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入FG

本版积分规则

手机版|联系我们| FlightGear ( 吉ICP备19002044号-7 )

GMT+8, 2024-5-5 02:28

Powered by Discuz! X3.2

© 2001-2013 FlightGear Inc.

返回顶部