Droidplanner(tower) 系统分析

个人使用 DroidPlanner 手机地面站(简称DP),觉得很好用。也想了解其系统构成。就 git 下载了一个,在Android Studio 中编译成功,而后又看了下代码

写下系统分析笔记 ( 我分析的版本是 2.7.6.1  ):


层次型的大系统结构

DP设计中充满的模式和抽象,  包含两个大包 core 和 android (这里是指包 ), 把跟Android 和地图等不相关的抽象到Core模块中,  跟Android系统相关的部分放在Android包中。 也就是说你编译一个非Android设备的地面站,你可以复用Core这部分(但其实apple平板用的object c,  win平板用 c#,  还真难把java代码用在非Android平板上,但有这层抽象,可能让系统层次更清晰) (  在3.0后续版本, core 单独发展成 3DR services,   而 DP android 部分改名叫tower   )


Core 包含的模块

Model_Drone

定义Drone的抽象接口,Core 最关键对 Drone 进行了抽象

Drone

定义一个Drone的实现,Drone就代表一个无人机(可以是Rover),有近20个或简单或复杂的Variable ( Altitude, Battery, Calibration, GuidedPoint等 ) ,

这是就是 MVC模式的Model.  当Mavlink 来消息的,调用Varible的set 方法,传来触发 listener ( 多是View) 更新(显示 )

(注意  Variabale 不是Parameters,  Parameters只算一个Variable)


Mavlink

此模块并不是Mavlink系统提供者用python脚本自动生成的pacakge ( 那个自动生成的 package在core包之外), 此包在Mavlink自动生成包基础了,定义了 DP 需要的 10多个Mavlink命令以方便调用(Arm, Heartbeat, Modes, 等)

另定义了MavlinkConnection接口(包括一般, Tcp, Udp)


parameters包

定义了 parameter class,   而Drone的 Pa

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值