- Debugging/Logging - 飞行日志分析
- Debugging/Logging - ULog文件格式
- 教程
- 教程 - 地面站
- 教程 - 编写应用程序
- 教程 - QGC的视频流
- 教程 - 远距离视频流
- 教程 - u-blox M8P RTK
- 新手上路
- 新手上路 - 初始设置
- 新手上路 - 安装工具链
- 安装工具链 - Mac OS
- 安装工具链 - Linux
- Linux - Advanced Linux
- 安装工具链 - Windows
- 新手上路 - Fast RTPS installation
- 新手上路 - 代码编译
- 新手上路 - 高级配置
- 新手上路 - 贡献& 开发者电话会议
- 贡献& 开发者电话会议 - GIT例程
- 贡献& 开发者电话会议 - Documentation
- 新手上路 - Licenses
- 概念解读
- 概念解读 - 飞行模式
- 概念解读 - 结构概述
- 概念解读 - 飞行控制栈
- 概念解读 - 中间件
- 概念解读 - 混控和执行器
- 概念解读 - PWM限制状态机
- Hardware
- Hardware - 自驾仪硬件
- 机型 - 统一的基础代码
- 机型 - 参考机型
- 机型 - 添加一个新的机型
- Data Links - SiK Radio
- Data Links - Wifi数传
- Data Links - 数传
- I2C总线 - SF1XX lidar
- 传感器和执行机构总线 - UAVCAN总线
- UAVCAN总线 - UAVCAN Bootloader
- UAVCAN总线 - UAVCAN固件升级
- UAVCAN总线 - UAVCAN配置
- UAVCAN总线 - UAVCAN 的各种笔记
- 传感器和执行机构总线 - UART
- UART - uLanding Radar
- 传感器和执行机构总线 - 设置云台控制
- 传感器和执行机构总线 - 相机触发器
- Hardware - 协同电脑
- 仿真
- 仿真 - 基本仿真
- 仿真 - Gazebo仿真
- 仿真 - HITL仿真
- 仿真 - 连接到ROS
- 仿真 - AirSim仿真
- 仿真 - 多机仿真
- 中间件及架构
- 中间件及架构 - uORB消息机制
- 中间件及架构 - MAVLink消息机制
- 中间件及架构 - 守护程序
- 中间件及架构 - 驱动框架
- 模块 & 命令
- 模块 & 命令 - 命令
- 模块 & 命令 - 通信
- 模块 & 命令 - 驱动
- 模块 & 命令 - 系统
- Robotics
- Robotics - 用Linux进行外部控制
- Robotics - ROS
- ROS - 在RPi上安装ROS
- ROS - MAVROS (ROS上的MAVLink)
- ROS - MAVROS外部控制例程
- ROS - 外部位置估计
- ROS - Gazebo Octomap
- Robotics - DroneKit
- Debugging/Logging
- Debugging/Logging - FAQ
- Debugging/Logging - 系统控制台
- Debugging/Logging - 自驾仪调试
- Debugging/Logging - Sensor/Topic Debugging
- Debugging/Logging - 仿真调试
- Debugging/Logging - System-wide Replay
- Debugging/Logging - 发送调试的值
- Debugging/Logging - Profiling
- Debugging/Logging - 日志记录
- 教程 - 光流
- 教程 - ecl EKF
- 教程 - 飞行前检查
- 教程 - 着陆检测
- 教程 - Linux系统下使用S.Bus驱动
- Advanced Topics
- Advanced Topics - 系统启动
- Advanced Topics - 参数&配置
- Advanced Topics - 参考参数
- Advanced Topics - 安装Intel RealSense R200的驱动
- Advanced Topics - 切换状态估计器
- Advanced Topics - 外部模块
- Advanced Topics - STM32 Bootloader
- 测试和持续集成
- 测试和持续集成 - 持续集成
- 测试和持续集成 - Jenkins持续集成环境
- 测试和持续集成 - 综合测试
- 测试和持续集成 - Docker容器
- 测试和持续集成 - 维护
贡献& 开发者电话会议 - Documentation
Contributions to the Dronecode guides, including the PX4 developer and user guides are very welcome!
This article explains how you can make changes, add content, and create translations.
Note You will need a (free) Github account to contribute to the guide.
Quick Changes
Fixing typos or editing an existing page is easy:
Click the Edit toolbar icon at the top of the relevant page in the guide.
This will open the page for editing (in Github).
- Make the desired change.
- At the bottom of the page you’ll be prompted to create a separate branch and then
guided to submit a pull request.
The documentation team reviews submitted pull requests and will either merge
it or work with you to update it.
Adding New Content - Big Changes
What Goes Where?
The Developer Guide is for documentation that is relevant to software developers.
This includes users who need to:
- Add or modify platform features - modules, flight modes, etc.
- Add support/integrate with new hardware - flight controllers, peripherals, airframes, etc.
- Communicate with the platform from an external source - e.g. a companion computer.
- Understand the architecture
The User Guide, by contrast, is primarily for users who want to:
- Fly a vehicle using PX4
- Build, modify, or configure a vehicle using PX4 on a supported/existing airframe.
Tip For example, detailed information about how to build/configure an existing airframe are in the User Guide,
while instructions for defining a new airframe are in the Developer Guide.
Gitbook Documentation Toolchain
The guide uses the Gitbook toolchain.
Change requests can be either done on the Gitbook website using the Gitbook editor
or locally (more flexible, but less user-friendly).
Everything you need to install and build Gitbook locally is explained in the
toolchain documentation. In overview:
- Pages are written in separate files using markdown (almost the same syntax used by Github wiki).
- The structure of the book is defined in a file named SUMMARY.md.
- This is a multilingual book,
so there is a LANGS.md file in the root directory defining what languages are supported.
Pages for each language are stored in the folder named for the associated language code (e.g. “zh” for Chinese, “en” for English). - A file named book.json defines any dependencies of the build.
- A web hook is used to track whenever files are merged into the master branch on this repository, causing the book to rebuild.
Style guide
Files/file names
- Put new files in an appropriate sub-folder
- Use descriptive names. In particular, image filename should describe what they contain.
- User lower case and separate words using underscores “_“
Images
- Use the smallest size and lowest resolution that makes the image still useful.
- New images should be created in a sub-folder of /assets/ by default
(so they can be shared between translations).
Content:
- Use “style” (bold, emphasis, etc) consistently. Bold for button presses and menu definitions.
Emphasis for tool names. Otherwise use as little as possible. - Headings and page titles should use “First Letter Capitalisation”
- The page title should be a first level heading (#). All other headings should be h2 (##) or lower.
- Don’t add any style to headings.
- Don’t translate the first part of a note, tip or warning declaration (e.g.
> **Note**
)
as this precise text is required to render the note properly.
- Use “style” (bold, emphasis, etc) consistently. Bold for button presses and menu definitions.
Translations {#translation}
We have recently started adding translated versions of all the PX4/Dronecode guides!
If you would like to help, contact us on our support channels.
Gitbook supports translation as described here:
- Each language is independent and keeps all its documents in its own directory (named using it’s international code - “en” for English, “es” for Spanish, etc.)
- The LANGS.md file in the root directory lists the language folders that Gitbook must build.
In order to keep all language-versions of the guide up to date and synchronised, we have the following policy/guidelines:
This is an English-first book.
- Any technical changes should be made in the English tree first (including both updates and new pages). After the English change has been accepted in the main repo then submit the translation. This approach ensures that changes will propagate through to all the other translations!
- Improvements to translations that don’t change “technical information” won’t need to be made in the English tree.
The structure and documents should be the same for all languages (i.e. based on the English version).
- All languages share the same images by default (do not duplicate the /image folder, unless you’re changing/translating the image).
- Translation changes are submitted to the repo in the same way as any other changes (fork the repo, make a branch for your changes, and create PRs of the branches to submit them into this repo).
- Translation teams can organise themselves however they like as long as PRs are submitted using the above approach.
Starting a new language translation
The process straightforward:
- Fork the documentation repo.
- Create and checkout a new branch for your language.
checkout -b add_translation_language_yourlanguagename
Copy the whole English folder (/en) and rename it to the appropriate language code (e.g. “es” for Spanish).
Note This ensures that you keep the same structure and documents as the original version.
Update LANGS.md with your language.
Translate the content in your language tree.
Tip Minimally complete the home page and the SUMMARY.md before submitting any PR request. Ideally do more!
Commit the changes and push them back to your own fork repo.
git add *
git commit -m "Created a your_new_language translation"
git push origin add_translation_language_yourlanguagename
On the Github interface, create a PR to submit your branch back to the master repo (a banner appears on Github that you can click when you visit the repo).
Updating translations
Translations can be updated like any other change to documentation: fork the repo, create a branch for your changes in your fork, then submit them back to the main repo as PRs.
Tracking changes
We hope that translation owners will track changes in the English version and propagate them through to their translations.
Git/Github have excellent mechanisms for tracking changes. We recommend that when you add document front matter to your translation with the commit information for the page you translated. This allows anyone to go back later and find out whether the text has changed since it was last translated. For example:
---
translated_page: https://github.com/PX4/Devguide/blob/master/en/setup/config_initial.md
translated_sha: 95b39d747851dd01c1fe5d36b24e59ec865e323e
translated: false
---
Note The translated_sha is the full SHA of the commit that you translated. Find this by opening the source page on github, press the History button. Find the commit of the document you are translating from (ideally the most recent) and press the “Copy the full SHA” icon associated with that commit.
Licence
All PX4/Dronecode documentation is free to use and modify under terms of the permissive
CC BY 4.0 licence.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论