|
发表于 2016-1-20 14:27:48
|显示全部楼层
flightgear网络接口模块是有FGIO子系统来完成的。FGIO子系统支持各种通信协议。
通信协议包括大家常用的:Native-fdm,Native,generic,jsclient等(也即前篇介绍的channel类型参数)
对应的参数形式:--protocol=medium,direction,hz,medium_options,...
在flightgear架构分析中提到了,对于子系统,flightgear在初始化阶段调用子系统的bind(),init(),主循环阶段调用子系统的update(),最后调用子系统的shutdown。
因此对于FGIO子系统,在程序中也主要体现在bind、init、update和shutdown这几个函数的处理上。关于FGIO的结构如下图:
通信协议的具体实现在FGIO的FGProtocol列表中,FGIO在每个周期都会调用每个FGProtocol的处理函数,关于FGProtocol的结构如下图:
下面具体对generic通信进行介绍,generic是通过FGGeneric(FGProtocol子类)来完成的,结构如图所示:
END!
By:zk_sima
email:zk.sima@gmail.com
|
|