danny wang 6b2cb6fa39 this N3 net clean robot use bfd1.5V6 | 2 years ago | |
---|---|---|
.. | ||
MAVLink | 2 years ago | |
MAVLink.xcodeproj | 2 years ago | |
MAVLinkTests | 2 years ago | |
.gitignore | 2 years ago | |
README.md | 2 years ago | |
ardugen.sh | 2 years ago |
MAVLinkTests
target covers DataExtensions
with unit tests (conversion between raw data and typed values). Also it contains some integration tests for MAVLink
class.
To quickly generate MAVLink classes and enums for Swift you can use following script:
./ardugen.sh
It will generate Swift files for ardupilotmega.xml
definitions into MAVLink/MAVLink/Swift
folder and C headers for the same xml file into MAVLinkTest/MAVLink/C
folder. C headers are used to check Swift library compatibility with C/C++ implementations.
Please keep in mind that you will probably need to re-add generated MAVLink swift files to the project as complete list of files depends on specific declarations in xml file. C headers will be compiled as Clang module, so there is no need to add them into Xcode project.
Test suite consists of:
DataExtensionsTests.swift
contains unit tests that cover raw-to-typed values transformations and vise versa (with informative erroring)MAVLinkTests.swift
covers some edge cases of parsing state machineCompareWithCImpTests.swift
tests which compare output of Swift library with C on the same raw data input (attached tlog file)Test tlog file was downloaded from DroneKit LA testdata repository.