PrimaryFlightDisplay
PrimaryFlightDisplay是一个适用于微型无人机(无人机)地面站和遥测系统的Mac + iOS框架。
该框架可方便地嵌入和动画化主飞行显示,同时易于调整样式和颜色,保持任何屏幕分辨率下的清晰图形。
特性
- 人造水平仪
- 俯仰标尺
- 倾斜指示器
- 航向带指示器
- 空速/地速带指示器
- 高度带指示器
- 清晰的过程生成图形
- 高度可配置的颜色、大小和带指示器比例
- 除了Apple的SpriteKit外没有其他库依赖
- 飞行栈和协议无关
- 兼容MAVLink
要求
- iOS 9.0+ / Mac OS X 10.10+
- Xcode 9.3+
安装
使用 Cocoapods 或 Carthage 构建和安装框架。
CocoaPods
CocoaPods 是 Cocoa 项目的依赖管理器。您可以使用以下命令安装它
$ gem install cocoapods
CocoaPods 0.39.0+ 是构建 PrimaryFlightDisplay 所必需的
要使用 CocoaPods 将 PrimaryFlightDisplay 集成到您的 Xcode 项目中,请在您的 Podfile
中指定它
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
use_frameworks!
pod 'PrimaryFlightDisplay'
然后,运行以下命令
$ pod install
Carthage
Carthage 是一个去中心化的依赖管理器,它构建依赖于你,并提供二进制框架。
您可以使用 Homebrew 通过以下命令安装 Carthage
$ brew update
$ brew install carthage
要使用 Carthage 将 PrimaryFlightDisplay 集成到您的 Xcode 项目中,请在您的 Cartfile
中指定它
github "kouky/PrimaryFlightDisplay"
运行 carthage update
来构建框架并将构建好的 PrimaryFlightDisplay.framework
拖入您的 Xcode 项目中。
使用方法
使用默认样式构建新的 PrimaryFlightDisplayView
,并将其添加到视图层次结构中。
let flightView = PrimaryFlightDisplayView(frame: frame)
flightView.autoresizingMask = [.ViewHeightSizable, .ViewWidthSizable]
addSubview(flightView)
使用以下 API 方法将飞行数据发送到主飞行显示器。新的飞行数据值将立即动画显示。
flightView.setAttitude(rollRadians: Double(1), pitchRadians: Double(1.5))
flightView.setHeadingDegree(Double(300))
flightView.setAirSpeed(Double(20))
flightView.setAltitude(Double(165))
自定义样式
默认主飞行显示器的样式可以轻松调整,请参阅 Settings.swift 了解所有可调整的样式。
请参阅博客文章和 example project MavlinkPrimaryFlightDisplay,它们演示了如何在下面的截图创建主飞行显示器。
示例项目
MavlinkPrimaryFlightDisplay 是一款 Mac 应用程序,演示了如何将 PrimaryFlightDisplay 框架集成到可以发出 MAVLink 信号的飞控中。克隆仓库,按照 README
文件指导来运行应用程序并连接到你的飞控。
贡献
欢迎在 master
分支提交拉取请求。