From 7c77b8cff3865975be3c9ce8d6699cdb1633bab9 Mon Sep 17 00:00:00 2001 From: Steven Ajex Date: Tue, 16 Jul 2024 17:35:18 +0800 Subject: [PATCH 1/2] modified the size of the picture and some mistakes --- docs/content_ch/advanced/offboard.md | 6 +- docs/content_ch/developer/contribution.md | 6 +- docs/content_ch/developer/drivers.md | 4 +- docs/content_ch/hardware/flight_controller.md | 10 +- docs/content_ch/hardware/peripheral.md | 2 +- .../introduction/calibration/accel_calib.md | 4 +- .../introduction/calibration/gyro_calib.md | 6 +- .../introduction/calibration/level_calib.md | 4 +- .../introduction/calibration/mag_calib.md | 4 +- .../introduction/calibration/rc_calib.md | 4 +- .../configuration/console_config.md | 3 +- .../configuration/pilot_cmd_config.md | 2 +- .../configuration/sysconfiguration.md | 110 ++++++++++++++++++ docs/content_ch/introduction/debug.md | 8 +- docs/content_ch/introduction/first_flight.md | 18 +-- docs/content_ch/introduction/frameref.md | 18 +-- docs/content_ch/introduction/gcs.md | 6 +- docs/content_ch/introduction/logging.md | 2 +- docs/content_ch/introduction/param_tuning.md | 6 +- docs/content_ch/introduction/quickstart.md | 18 ++- docs/content_ch/mbd/code_deploy.md | 2 +- docs/content_ch/mbd/codegen.md | 6 +- docs/content_ch/mbd/introduction.md | 4 +- docs/content_ch/mbd/new_model.md | 2 +- docs/content_ch/mbd/quickstart.md | 8 +- docs/content_ch/sidebar.md | 12 +- docs/content_ch/simulation/HIL.md | 14 +-- docs/content_ch/simulation/MIL.md | 10 +- docs/content_ch/simulation/SIH.md | 4 +- docs/content_ch/simulation/SIL.md | 4 +- docs/content_ch/simulation/openloop.md | 10 +- 31 files changed, 220 insertions(+), 97 deletions(-) create mode 100644 docs/content_ch/introduction/configuration/sysconfiguration.md diff --git a/docs/content_ch/advanced/offboard.md b/docs/content_ch/advanced/offboard.md index b5b7193..e497568 100644 --- a/docs/content_ch/advanced/offboard.md +++ b/docs/content_ch/advanced/offboard.md @@ -74,13 +74,13 @@

- +

修改 MAVROS 中的 `px4.launch` 文件,使设备端口和波特率与设备配置一致。

- +

然后,使用以下命令来运行 MAVROS: @@ -164,7 +164,7 @@ coordinate_frame: 1 type_mask: 2560 position: x: 100.0 - y: 50.0 + y: 50.03 z: 10.0 velocity: x: 0.0 diff --git a/docs/content_ch/developer/contribution.md b/docs/content_ch/developer/contribution.md index e370615..66c5ab6 100644 --- a/docs/content_ch/developer/contribution.md +++ b/docs/content_ch/developer/contribution.md @@ -203,7 +203,7 @@ ColumnLimit: 0 将 [Firmament-Autopilot/FMT-Firmware](https://github.com/Firmament-Autopilot/FMT-Firmware) 仓库 Fork 到您的 Git 仓库中。

- +

#### 克隆 @@ -211,7 +211,7 @@ ColumnLimit: 0 在您的仓库中,复制在您 Fork 后的仓库链接:

- +

您可以使用 `git clone` 命令将仓库复制到您的计算机上: @@ -278,7 +278,7 @@ git push origin YourBranchName 进入您 Github 账户下的 FMT 仓库,点击 `New pull request -> Create pull request`。确保选择正确的分支。

- +

- 步骤 1:填写此 Pull Request 的标题 diff --git a/docs/content_ch/developer/drivers.md b/docs/content_ch/developer/drivers.md index bd357ea..f4f8270 100644 --- a/docs/content_ch/developer/drivers.md +++ b/docs/content_ch/developer/drivers.md @@ -7,13 +7,13 @@ FMT驱动程序采用分层架构模式设计,这些驱动程序可以广泛 FMT提供了一个硬件抽象层(HAL),向上提供统一的设备接口(读取/写入/控制),同时向下定义了驱动程序需要实现的操作接口。

- +

在大多数目标板上,HAL建立了适用于标准化驱动程序,尽管可能会存在一些独特的设备,这些设备专属于特定的硬件配置。在这种情况下,你可以选择绕过HAL,而是利用uMCN的发布/订阅机制进行消息传输。

- +

### 创建驱动程序 diff --git a/docs/content_ch/hardware/flight_controller.md b/docs/content_ch/hardware/flight_controller.md index 3621633..a73723e 100644 --- a/docs/content_ch/hardware/flight_controller.md +++ b/docs/content_ch/hardware/flight_controller.md @@ -6,29 +6,29 @@ - [AMOV ICF5](https://github.com/Firmament-Autopilot/FMT-Firmware/blob/master/target/amov/icf5/README.md)

- +

- [CUAV V5+](https://github.com/Firmament-Autopilot/FMT-Firmware/blob/master/target/cuav/v5_plus/README.md)

- +

- [Pixhawk 4](https://github.com/Firmament-Autopilot/FMT-Firmware/blob/master/target/pixhawk/fmu-v5/README.md)

- +

- [Pixhawk 2.4.6](https://github.com/Firmament-Autopilot/FMT-Firmware/blob/master/target/pixhawk/fmu-v2/README.md)

- +

- [Cube Orange](https://github.com/Firmament-Autopilot/FMT-Firmware/blob/master/target/cubepilot/cubeorange/README.md)

- +

diff --git a/docs/content_ch/hardware/peripheral.md b/docs/content_ch/hardware/peripheral.md index c5c200a..fb62a9b 100644 --- a/docs/content_ch/hardware/peripheral.md +++ b/docs/content_ch/hardware/peripheral.md @@ -1,3 +1,3 @@ ## 外设 -本节包含与外部传感器及其他可*连接到飞行控制器*的可选外围硬件相关的主题。 \ No newline at end of file +本节包含与外部传感器及其他可 *连接到飞行控制器* 的可选外围硬件相关的主题。 \ No newline at end of file diff --git a/docs/content_ch/introduction/calibration/accel_calib.md b/docs/content_ch/introduction/calibration/accel_calib.md index 3aabe15..55cb530 100644 --- a/docs/content_ch/introduction/calibration/accel_calib.md +++ b/docs/content_ch/introduction/calibration/accel_calib.md @@ -5,12 +5,12 @@ 1. 点击**Accelerometer**传感器按钮。

- +

2. 点击OK开始校准。 3. 将机体置于屏幕图片所示方向。一旦黄色框出现,将机体静置。当前方向校准完成后屏幕上对应图标的框将变绿。

- +

4. 将机体置于各个方向并重复以上步骤。 diff --git a/docs/content_ch/introduction/calibration/gyro_calib.md b/docs/content_ch/introduction/calibration/gyro_calib.md index 50ec452..e68bad6 100644 --- a/docs/content_ch/introduction/calibration/gyro_calib.md +++ b/docs/content_ch/introduction/calibration/gyro_calib.md @@ -5,15 +5,15 @@ 1. 将机体放置水平并保持不动,然后点击**Gyroscope**传感器按钮。

- +

2. 点击OK开始校准。顶部的进度条将显示校准进度。

- +

3. 完成后,QGroundControl将显示进度条*Calibration complete*。

- +

## 查看&保存结果 diff --git a/docs/content_ch/introduction/calibration/level_calib.md b/docs/content_ch/introduction/calibration/level_calib.md index 458e087..0add3e9 100644 --- a/docs/content_ch/introduction/calibration/level_calib.md +++ b/docs/content_ch/introduction/calibration/level_calib.md @@ -5,13 +5,13 @@ 1. 点击**Level Horizon**按钮。

- +

2. 将机体按水平飞行方向放置在平面上。 3. 点击**OK**按钮开始校准。 4. 等待校准完成。

- +

## 查看&保存结果 diff --git a/docs/content_ch/introduction/calibration/mag_calib.md b/docs/content_ch/introduction/calibration/mag_calib.md index d13c3b3..169ab59 100644 --- a/docs/content_ch/introduction/calibration/mag_calib.md +++ b/docs/content_ch/introduction/calibration/mag_calib.md @@ -5,12 +5,12 @@ 1. 点击**Compass**按钮。

- +

2. 点击**OK**开始校准。 3. 将机体置于红框所示(未完成)状态并保持不动。一旦黄色框出现,将机体沿着指定轴进行旋转。当前方向校准完成后屏幕上对应图标将变为绿框。

- +

4. 对各个方向重复校准步骤。 diff --git a/docs/content_ch/introduction/calibration/rc_calib.md b/docs/content_ch/introduction/calibration/rc_calib.md index 3575003..0c1c68b 100644 --- a/docs/content_ch/introduction/calibration/rc_calib.md +++ b/docs/content_ch/introduction/calibration/rc_calib.md @@ -9,11 +9,11 @@ - Step1:在校准之前,请先确保遥控接收机有连接到飞控并且遥控器有打开。我们可以输入`mcn list`指令来查看*rc_channels*的消息的发布频率是否为非0,非0则表示有正常收到遥控信号。

- +

- Step2:输入`rc calib`指令,并按照提示进行遥控校准。

- +

- Step3:校准完成后,校准参数将更新到`RC`参数组中,可以通过`param list RC`指令查看。`rc_trim_channels`消息是由原始遥控消息`rc_channels`校准后得到的,校准后的最大、最小和中值应该分别为2000,1000和1500。 - Step4:确认校准参数无误后,在控制台输入`param save`保存校准结果,否则系统断电将丢失未保存的校准结果。 diff --git a/docs/content_ch/introduction/configuration/console_config.md b/docs/content_ch/introduction/configuration/console_config.md index a6fa877..9226384 100644 --- a/docs/content_ch/introduction/configuration/console_config.md +++ b/docs/content_ch/introduction/configuration/console_config.md @@ -39,6 +39,7 @@

+ - **mavlink**: mavlink 控制台设备能够通过 mavlink 发送和接收数据。因此,您可以通过 QGC 的 mavlink 控制台访问控制台。。 | Argument | Type | Description | @@ -46,5 +47,5 @@ | name | string | devie name | | auto-switch | bool | if true, automatically switch to device if data received |

- +

\ No newline at end of file diff --git a/docs/content_ch/introduction/configuration/pilot_cmd_config.md b/docs/content_ch/introduction/configuration/pilot_cmd_config.md index bb4a555..f19c3bf 100644 --- a/docs/content_ch/introduction/configuration/pilot_cmd_config.md +++ b/docs/content_ch/introduction/configuration/pilot_cmd_config.md @@ -42,7 +42,7 @@ 这个配置的函数时如果遥控通道5的数值在[1800, 2000]的范围内,则自稳模式被选中。这里使用的是校准后的遥控通道值,它将通过`rc_trim_channels`消息发布。您可以通过输入`mcn echo rc_trim_channels`指令来查看各个遥控通道的数值。遥控通道的索引从1开始。

- +

mode的数值定义了遥控模式,它可以被FMS(Flight Management System)识别。完整的遥控模式定义如下所示。您可以添加自己的遥控模式定义,只要能被FMS识别就行。 diff --git a/docs/content_ch/introduction/configuration/sysconfiguration.md b/docs/content_ch/introduction/configuration/sysconfiguration.md new file mode 100644 index 0000000..a699c7d --- /dev/null +++ b/docs/content_ch/introduction/configuration/sysconfiguration.md @@ -0,0 +1,110 @@ + +## 系统配置 + +在配置 FMT 系统模块时,避免重新编译整个系统是很必要的。FMT是一个高度可定制化的系统,并提供了一个[TOML](https://toml.io/en/)文件来配置系统组件。这将给用户根据需求来配置系统提供极大的灵活性。 + +当FMT系统运行起来的时候,它会去自动寻找板载文件系统上的`/sys/sysconfig.toml`配置文件。如果这个文件存在,则会加载里面的配置项。如果这个文件不存在,则会使用`default_config.h`中固化的默认系统配置。注意,默认配置只开启了有限的功能,遥控和电机输出功能都未开启。 + +每个BSP下的config目录都包含一个默认的配置文件*sysconfig.toml*。为了开启FMT的所有功能,用户需要将*sysconfig.toml*配置文件上传到板子的*/sys*目录。这个文件包含了模块功能需要的配置信息。 + +- [Amov ICF5 Configuration](https://github.com/Firmament-Autopilot/FMT-Firmware/blob/master/target/amov/icf5/config/sysconfig.toml) +- [CUAV V5+ Configuration](https://github.com/Firmament-Autopilot/FMT-Firmware/blob/master/target/amov/icf5/config/sysconfig.toml) +- [HEX Cubeorange Configuration](https://github.com/Firmament-Autopilot/FMT-Firmware/blob/master/target/cubepilot/cubeorange/config/sysconfig.toml) +- [Pixhawk 4 Configuration](https://github.com/Firmament-Autopilot/FMT-Firmware/blob/master/target/pixhawk/fmu-v5/config/sysconfig.toml) +- [Pixhawk 2.4.6 Configuration](https://github.com/Firmament-Autopilot/FMT-Firmware/blob/master/target/pixhawk/fmu-v2/config/sysconfig.toml) + +比如如下就是pixhawk4的默认`sysconfig.toml`配置文件。注意target的值需要跟BSP的目标名称相匹配(定义在*bsp.h*中)。不然的话系统将无法启动,为了防止使用错误的配置信息。 + +``` +# FMT System Configuration File + +# The target should match with BSP's target name +target = "Pixhawk4 FMUv5" + +# Console Configuration +[console] + [[console.devices]] + type = "serial" + name = "serial0" + baudrate = 57600 + auto-switch = true + + [[console.devices]] + type = "mavlink" + name = "mav_console" + auto-switch = true + +# Mavproxy Device Configuration +[mavproxy] + [[mavproxy.devices]] + type = "serial" + name = "serial1" + baudrate = 57600 + + [[mavproxy.devices]] + type = "usb" + name = "usbd0" + auto-switch = true + +# Pilot CMD Configuration +[pilot-cmd] + # channel mapping for [yaw, throttle, roll, pitch] + stick-channel = [4,3,1,2] + + [pilot-cmd.device] + type = "rc" + name = "rc" + protocol = "sbus" # sbus or ppm + channel-num = 6 # max supported channel: sbus:16, ppm:8 + sample-time = 0.05 # sample time in second (-1 for inherit) + range = [1000,2000] + + [[pilot-cmd.mode]] + mode = 5 # Position mode + channel = 5 + range = [1000,1200] + + [[pilot-cmd.mode]] + mode = 4 # Altitude mode + channel = 5 + range = [1400,1600] + + [[pilot-cmd.mode]] + mode = 3 # Stabilize mode + channel = 5 + range = [1800,2000] + + [[pilot-cmd.command]] + type = 1 # 1:event | 2:status + cmd = 1002 # FMS_Cmd_Disarm + channel = 6 + range = [1800,2000] + +# Actuator Configuration +[actuator] + [[actuator.devices]] + protocol = "pwm" + name = "main_out" + freq = 400 # pwm frequency in Hz + + [[actuator.devices]] + protocol = "pwm" + name = "aux_out" + freq = 400 # pwm frequency in Hz + + [[actuator.mappings]] + from = "control_out" + to = "main_out" + chan-map = [[1,2,3,4],[1,2,3,4]] +``` +上传配置文件有两种方式: + +1. QGC Onboard File(QGC 3.5.6 only):如果您正在使用QGround-Control 3.5.6,您可以利用其提供的 "Onboard Files" 功能直接将配置文件上传到系统中。这样做简化了整个配置过程,并且能够通过 QGC 轻松地管理配置。 + +

+ +

+ +2. SD 卡阅读器:可以使用 SD 卡阅读器将配置文件上传到系统中。只需将配置文件复制到 SD 卡上,然后插入系统中即可。这种方法不依赖于 QGC 版本,并适用于无法访问 QGC Onboard Files 的系统。 + +更多的配置信息内容,请参考接下来的章节。 \ No newline at end of file diff --git a/docs/content_ch/introduction/debug.md b/docs/content_ch/introduction/debug.md index d9a7be8..ac88d88 100644 --- a/docs/content_ch/introduction/debug.md +++ b/docs/content_ch/introduction/debug.md @@ -18,21 +18,21 @@ JLINK_SERVER = $JLink/JLinkGDBServerCL 4. 连接Jlink SWD的引脚(引脚1,7,9,4)到FMU Debug端口。你也可以连接J-Link TX/RX作为控制台使用。

- +

5. 在 VSCode 中安装 cortex-debug 扩展。确保安装 v1.4.4 版本或更低版本。这一点至关重要,因为更高版本不支持 arm-gcc 7-2018-q2-update。

- +

6. 要在 VS Code 中启动调试过程,请点击**Debug Run**按钮。然后,确保选择适合您的目标的配置。在 `.vscode/launch` 文件夹中已经为每个目标添加了调试配置。只需选择相关配置,即可轻松开始调试代码。

- +

7. 点击**Start Debugging**按钮。此操作将启动调试固件的下载并在主函数处停止,使您可以检查代码并逐步运行。在左侧,您会发现有几个可用窗口,例如查看变量值或检查外设数据。这些窗口提供了宝贵的见解,并帮助您在调试过程中监控相关信息。

- +

## Pixhawk FMU引脚 diff --git a/docs/content_ch/introduction/first_flight.md b/docs/content_ch/introduction/first_flight.md index 47b90e9..bb6e03c 100644 --- a/docs/content_ch/introduction/first_flight.md +++ b/docs/content_ch/introduction/first_flight.md @@ -2,7 +2,7 @@ 在首次飞行前,您需要进行一些检查以确保安全。 -## 检查遥控器 +### 检查遥控器 首先,您需要检查遥控功能是否正常工作。首先通过输入 `mcn list` 来验证是否接收到遥控数据,检查 `rc_channels` 数据的发布频率是否非零。如果发布频率为零,这表示未接收到 RC 信号,请确保您的 RC 接收器正确连接并且您的 `sysconfig.toml` 配置正确。有关 RC 配置的更多信息,请参阅[遥控校准](http://localhost:3000/#/content_ch/introduction/calibration/rc_calib)。 @@ -86,17 +86,17 @@ stick_yaw:0.03 stick_throttle:-0.09 stick_roll:0.01 stick_pitch:0.05 mode:5 cmd: >这个命令是边缘触发的,因此将 SWD 开关从上位移动到下位只会触发一次 Disarm 命令。要再次触发它,您需要将 SWD 开关先移回上位,然后再次移动到下位。

- +

-## 检查解锁/上锁 +### 检查解锁/上锁 对于飞行器的解锁操作,请将左摇杆移动到右下角并保持在那里,如下图所示。大约1.5秒后,飞行器将解锁,并且电机将开始空转。逐渐增加油门,当油门超过一个阈值(通常是中间位置)时,它将从待机状态过渡到解锁状态。 在待机模式下,将左摇杆移动到左下角并保持在那里;大约1.5秒后,飞行器将被锁定。

- +

解锁飞行器后,减小油门。当飞行器接触地面时,将油门拉到最小位置,飞行器将自动锁定。 @@ -104,10 +104,10 @@ stick_yaw:0.03 stick_throttle:-0.09 stick_roll:0.01 stick_pitch:0.05 mode:5 cmd: 飞行器的解锁和上锁操作也可以通过 QGroundControl (QGC) 地面站进行。

- +

-## 检查电机 +### 检查电机 首先,检查电机的安装顺序和旋转方向非常重要,因为错误安装电机可能会导致飞行器受损。要验证电机的安装顺序和方向,请参考[载具/机架](http://localhost:3000/#/content_ch/introduction/frameref)部分。 @@ -158,13 +158,13 @@ mcn resume control_output exec check_motor.sh ``` -## 检查姿态 +### 检查姿态 在飞行之前,您还应该通过 QGroundControl (QGC) 验证姿态是否正确。这样可以确保您的飞行控制器安装在正确的位置和方向,并且传感器正确校准。 -## 检查飞行模式 +### 检查飞行模式 在起飞前,请确保地面站显示的飞行模式与您设置的飞行模式匹配。

- +

如果它们不匹配,可能是因为传感器数据未达到要求,导致控制能力下降。例如,如果您已将飞行模式设置为位置模式(Position),但地面站显示为高度模式(Altitude),可能的原因是缺乏 GPS 连接或 GPS 精度不足,导致位置信息不足,从而无法进入位置模式。 diff --git a/docs/content_ch/introduction/frameref.md b/docs/content_ch/introduction/frameref.md index 72228f6..02ff3fe 100644 --- a/docs/content_ch/introduction/frameref.md +++ b/docs/content_ch/introduction/frameref.md @@ -9,19 +9,19 @@ FMT 能够控制多种载具和机架,而且可以轻松添加算法来控制 #### Multicopter | Airframe | Build Command | Description | | ------------------------------- | ----------------------------------------- | ------------------------------------ | -| Quadcopter x, Airframe=1 | scons --vehicle=Multicopter --airframe=1 | ![quad_x](../figures/quad_x.png) | -| Quadcopter +, Airframe=2 | scons --vehicle=Multicopter --airframe=2 | ![quad_+](../figures/quad_+.png) | -| Coxial Quadcopter x, Airframe=3 | scons --vehicle=Multicopter --airframe=3 | ![quad_+](../figures/cox_quad_x.png) | -| Hexacopter x, Airframe=4 | scons --vehicle=Multicopter --airframe=4 | ![quad_+](../figures/hexa_x.png) | -| Hexacopter +, Airframe=5 | scons --vehicle=Multicopter --airframe=5 | ![quad_+](../figures/hexa_+.png) | -| Coxial Hexacopter x, Airframe=6 | scons --vehicle=Multicopter --airframe=6 | ![quad_+](../figures/cox_hexa_x.png) | -| Octocopter x, Airframe=7 | scons --vehicle=Multicopter --airframe=7 | ![quad_+](../figures/octo_x.png) | -| Octocopter +, Airframe=8 | scons --vehicle=Multicopter --airframe=8 | ![quad_+](../figures/octo_+.png) | +| Quadcopter x, Airframe=1 | scons --vehicle=Multicopter --airframe=1 | ![quad_x](../../figures/quad_x.png) | +| Quadcopter +, Airframe=2 | scons --vehicle=Multicopter --airframe=2 | ![quad_+](../../figures/quad_+.png) | +| Coxial Quadcopter x, Airframe=3 | scons --vehicle=Multicopter --airframe=3 | ![quad_+](../../figures/cox_quad_x.png) | +| Hexacopter x, Airframe=4 | scons --vehicle=Multicopter --airframe=4 | ![quad_+](../../figures/hexa_x.png) | +| Hexacopter +, Airframe=5 | scons --vehicle=Multicopter --airframe=5 | ![quad_+](../../figures/hexa_+.png) | +| Coxial Hexacopter x, Airframe=6 | scons --vehicle=Multicopter --airframe=6 | ![quad_+](../../figures/cox_hexa_x.png) | +| Octocopter x, Airframe=7 | scons --vehicle=Multicopter --airframe=7 | ![quad_+](../../figures/octo_x.png) | +| Octocopter +, Airframe=8 | scons --vehicle=Multicopter --airframe=8 | ![quad_+](../../figures/octo_+.png) | #### Fixwing | Airframe | Build Command | Description | | ---------------------------- | ------------------------------------ | --------------------------------- | -| Standard Fixwing, Airframe=1 | scons --vehicle=Fixwing --airframe=1 | ![quad_x](../figures/fixwing.png) | +| Standard Fixwing, Airframe=1 | scons --vehicle=Fixwing --airframe=1 | ![quad_x](../../figures/fixwing.png) | ## Show Vehicle/Airframe Type diff --git a/docs/content_ch/introduction/gcs.md b/docs/content_ch/introduction/gcs.md index 8097650..3dccd3d 100644 --- a/docs/content_ch/introduction/gcs.md +++ b/docs/content_ch/introduction/gcs.md @@ -5,8 +5,9 @@ QGroundControl (QGC) 3.5.6 是 FMT 的首选 GCS,确保在操作和配置 FMT 需要注意的是,FMT 没有定制版本的 QGC,而是使用 QGC 的 PX4 版本。因此,在使用 QGC PX4 与 FMT 时,您可能会遇到一些错误,例如缺少参数。这是正常的,因为 QGC PX4 主要为 PX4 设计,可能没有完全针对 FMT 进行优化。尽管存在这些错误,FMT 仍然可以正常运行,开发人员也在不断努力改进 FMT 和 QGC 之间的集成,以提供更顺畅的使用体验。

- +

+ ## 连接至地面控制站 @@ -16,8 +17,9 @@ QGroundControl (QGC) 3.5.6 是 FMT 的首选 GCS,确保在操作和配置 FMT 然而,对于像 ICF5 这样的其他硬件配置,您可能需要手动创建通信链路。这涉及配置通信参数,例如波特率和端口,以在飞控和 GCS 之间建立成功连接。

- +

+ >对于 USB 连接,不要纠结于波特率的选择。 >在通过串口连接飞控时,波特率请按照 *sysconfig.toml* 文件中所设置的对应串口的参数值来进行配置。 \ No newline at end of file diff --git a/docs/content_ch/introduction/logging.md b/docs/content_ch/introduction/logging.md index 826b0b7..f12b1fb 100644 --- a/docs/content_ch/introduction/logging.md +++ b/docs/content_ch/introduction/logging.md @@ -90,6 +90,6 @@ PARAM_DECLARE_GROUP(SYSTEM) = { 要下载日志,您可以使用 QGroundControl (QGC) 版本 3.5.6 或更早版本。QGC 提供了一个名为 **Onboard Files** 的功能,允许通过 FTP 协议访问飞控器的文件系统。借助此功能,您可以轻松地从飞控器中检索日志和其他文件。

- +

或者,您可以从飞控器上取下 SD 卡,并使用 SD 卡读卡器直接访问日志。这种方法使您无需依赖 QGroundControl 即可提取日志,并且下载速度更快,为检索日志数据提供了另一种选择。 \ No newline at end of file diff --git a/docs/content_ch/introduction/param_tuning.md b/docs/content_ch/introduction/param_tuning.md index 97daab5..00fd661 100644 --- a/docs/content_ch/introduction/param_tuning.md +++ b/docs/content_ch/introduction/param_tuning.md @@ -55,7 +55,7 @@ param set ROLL_RATE_P 0.1 您也可以使用 QGC 来修改参数。只需导航到 QGC 的参数页面,输入您想修改的参数,然后点击它来调整其数值。

- +

### 检查控制数据 @@ -64,7 +64,7 @@ param set ROLL_RATE_P 0.1 #### 在线数据查看 第一种方法是通过 QGroundControl (QGC) 进行实时数据检查。您可以将数据打包成 MAVLink 消息,使用 ID `MAVLINK_MSG_ID_DEBUG_FLOAT_ARRAY` 发送到 QGC。通过这种方式,您可以在 QGC 的分析页面上访问您的数据,并方便地查看。

- +

以下是发送调试数据的示例代码: @@ -139,5 +139,5 @@ TASK_EXPORT __fmt_task_desc = { 第二种方法是通过数据仿真进行离线数据查看,这是一种高度推荐的方法。通过这种方法,您可以获取所有需要进行分析和测试的数据。有关更多详细信息,请参阅[数据仿真](http://localhost:3000/#/content_ch/simulation/openloop)部分。

- +

\ No newline at end of file diff --git a/docs/content_ch/introduction/quickstart.md b/docs/content_ch/introduction/quickstart.md index 4914ab7..7833895 100644 --- a/docs/content_ch/introduction/quickstart.md +++ b/docs/content_ch/introduction/quickstart.md @@ -6,7 +6,7 @@ FMT的代码被托管在[Github](https://github.com/Firmament-Autopilot)。请 git clone https://github.com/Firmament-Autopilot/FMT-Firmware.git --recursive --shallow-submodules ``` -> 注意因为FMT-Firmware中包含了子模块的代码,使用*--recursive*同时拉取子模块。 +> 注意因为FMT-Firmware中包含了子模块的代码,使用 *--recursive* 同时拉取子模块。 ## 工具链 @@ -26,7 +26,7 @@ FMT使用arm-none-eabi- toolchain *7-2018-q2-update*版本,可上其[官网](h - **Windows**:打开控制面板,依次进入“系统和安全 > 系统 > 高级系统设置 > 环境变量”。在“用户变量”下点击“新建”,然后输入变量名为 RTT_EXEC_PATH,变量值为编译器 bin 目录的完整路径。

- +

@@ -90,13 +90,23 @@ VS Code 提供了强大且用户友好的开发环境,具备广泛的扩展和 现在,您已经在 Visual Studio Code 中打开了 FMT-Firmware 项目,可以开始使用 IDE 提供的各种功能和扩展来编写、修改和管理项目了。祝编码愉快!

- +

当然,安装有用的 Visual Studio Code (VS Code) 插件可以显著增强您在处理 FMT-Firmware 项目时的开发体验。以下是两个对 FMT-Firmware 项目至关重要的插件: 1. C/C++:这个插件在 VS Code 中为 C 和 C++ 语言提供了优秀的支持,包括代码高亮、智能感知、代码导航以及专为这些语言定制的调试能力。 2. Clang-Format: Clang-Format 是用于 C、C++ 和其他编程语言的代码格式化工具。在 VS Code 中使用 Clang-Format 插件可以根据特定的风格指南自动格式化您的代码,确保代码一致性和可读性。 +要安装这些插件,请按照以下步骤操作: + +1. 打开 Visual Studio Code。 +2. 点击左侧边栏上的“扩展”图标(或者使用快捷键 Ctrl+Shift+X,macOS 上使用 Cmd+Shift+X)。 +3. 在扩展市场搜索栏中输入 “C/C++” 和 “Clang-Format”。 +4. 点击每个插件的“安装”按钮。 +5. 安装完成后,您可能需要重启 Visual Studio Code 以激活插件。 + +安装这些插件后,您的开发环境将更好地处理 FMT-Firmware 项目的复杂性,使编码和格式化任务更加高效和便捷。 + ## 编译固件 在编译固件之前,理解 FMT-Firmware 的目录结构非常重要。以下是您在 FMT-Firmware 项目中通常可以找到的典型目录结构的概述: @@ -199,7 +209,7 @@ python3 uploader.py --port COM3 2. **QGC**: 进入 *Firmware Setup(设置)* 界面,然后使用USB将飞控连接到电脑. 在弹出的对话框中选择 *高级设置->自定义固件文件* ,然后选择FMU的bin固件进行下载。

- +

3. **J-Link**: 如果你有JLink,您可以将其插到硬件的debug端口来下载固件。更多的信息,请参考[Debug](https://firmament-autopilot.github.io/FMT-DOCS/#/content_ch/introduction/debug)章节的内容. diff --git a/docs/content_ch/mbd/code_deploy.md b/docs/content_ch/mbd/code_deploy.md index 24fd22f..d73daf1 100644 --- a/docs/content_ch/mbd/code_deploy.md +++ b/docs/content_ch/mbd/code_deploy.md @@ -24,7 +24,7 @@ - 定义模型日志数据,用于数据仿真或记录目的(可选)。

- +

## 部署 C/C++ 代码 diff --git a/docs/content_ch/mbd/codegen.md b/docs/content_ch/mbd/codegen.md index 3ab0816..5ec759f 100644 --- a/docs/content_ch/mbd/codegen.md +++ b/docs/content_ch/mbd/codegen.md @@ -5,7 +5,7 @@ 要为特定模型生成代码,首先需要打开该模型。一旦模型打开,找到并选择“构建模型”按钮。此操作将启动代码生成过程。生成的代码将存储在“生成源代码位置”指定的目录中。浏览到此位置即可访问生成的代码文件。

- +

@@ -14,7 +14,7 @@ 您可以根据具体需求自定义代码生成配置。点击 `Model Configuration Parameters `按钮,即可进入模型配置参数页面。在这里,您可以修改与代码生成相关的各种设置和选项。这种灵活性使您能够调整代码生成过程,以满足您的特定需求和偏好。

- +

要为桌面环境生成代码而不是嵌入式系统,需要将所选目标文件从 `ert.tlc` 切换为 `grt.tlc`。这可以在代码生成配置设置中完成。 @@ -26,5 +26,5 @@ 值得一提的是,浏览配置设置中的其他页面可以访问更多选项进行进一步自定义。这些额外的页面提供了各种选择和配置,您可以探索它们以根据您的具体需求增强和微调代码生成过程。

- +

diff --git a/docs/content_ch/mbd/introduction.md b/docs/content_ch/mbd/introduction.md index 8a71d62..fabe394 100644 --- a/docs/content_ch/mbd/introduction.md +++ b/docs/content_ch/mbd/introduction.md @@ -7,11 +7,11 @@ 基于模型的设计(MBD)在系统开发的各个阶段(包括建模和仿真)中起着关键作用。它显著有助于遵循V模型开发过程,促进更安全、更可靠系统的创建。通过利用MBD,系统开发过程变得更加顺畅,实现有效的建模和仿真,最终提高最终产品的安全性和可靠性。

- +

从本质上讲,基于模型的设计(MBD)是一种方法论,通过图形表示和自动代码生成,利用MBD设计软件(如Simulink、MWorks等)创建算法模型。这种方法简化了设计过程,实现了图形模型无缝转换为可执行代码,提升了效率并减少了手动实施的工作。

- +

## 为什么使用MBD diff --git a/docs/content_ch/mbd/new_model.md b/docs/content_ch/mbd/new_model.md index 27866d5..93d3519 100644 --- a/docs/content_ch/mbd/new_model.md +++ b/docs/content_ch/mbd/new_model.md @@ -14,7 +14,7 @@ - **LICENSE**: 模型的许可. - **README.md**: 模型介绍.

- +

- 通过将您的算法集成到现有结构中,修改 Controller.slx 文件,以便无缝集成您的具体实现。 diff --git a/docs/content_ch/mbd/quickstart.md b/docs/content_ch/mbd/quickstart.md index 52bcb9e..3ad9a13 100644 --- a/docs/content_ch/mbd/quickstart.md +++ b/docs/content_ch/mbd/quickstart.md @@ -71,24 +71,24 @@ FMT-Model/ 1. 在 MATLAB 中打开 FMT-Model(推荐使用版本为 2018b 或更高版本)。

- +

2. 双击打开 FMT_Model.prj 文件以打开和初始化项目。

- +

3. 要选择特定的模型,访问 SIMULINK 项目并导航至项目路径。在这里,您可以查看当前选择的模型(默认情况下选择了多旋翼模型)。

- +

4. 要切换到固定翼模型,简单地从项目路径中移除多旋翼模型,并添加所需的固定翼模型。在进行这些更改后,关闭 Simulink 项目并清除工作区中的变量。最后,重新运行 FMT_Model.prj 以确保更改生效。

- +

\ No newline at end of file diff --git a/docs/content_ch/sidebar.md b/docs/content_ch/sidebar.md index fdbedf8..62c720b 100644 --- a/docs/content_ch/sidebar.md +++ b/docs/content_ch/sidebar.md @@ -7,14 +7,14 @@ - [快速上手](content_ch/introduction/quickstart.md) - [地面控制站](content_ch/introduction/gcs.md) - [载具/机架](content_ch/introduction/frameref.md) - - [系统配置](content_ch/introduction/configuration/configuration.md) - - [控制台配置](content_ch/introduction/configuration/console_config.md) - - [Mavproxy配置](content_ch/introduction/configuration/mavproxy_config.md) - - [遥控配置](content_ch/introduction/configuration/pilot_cmd_config.md) - - [输出配置](content_ch/introduction/configuration/actuator_config.md) + + - [系统配置](content_ch/introduction/configuration/sysconfiguration.md) + - [控制台配置](content_ch/introduction/configuration/console_config.md) + - [Mavproxy配置](content_ch/introduction/configuration/mavproxy_config.md) + - [遥控配置](content_ch/introduction/configuration/pilot_cmd_config.md) + - [输出配置](content_ch/introduction/configuration/actuator_config.md) - 传感器校准 - - [陀螺仪校准](content_ch/introduction/calibration/gyro_calib.md) - [加速度计校准](content_ch/introduction/calibration/accel_calib.md) - [罗盘校准](content_ch/introduction/calibration/mag_calib.md) diff --git a/docs/content_ch/simulation/HIL.md b/docs/content_ch/simulation/HIL.md index 5c2e89c..6a10368 100644 --- a/docs/content_ch/simulation/HIL.md +++ b/docs/content_ch/simulation/HIL.md @@ -6,7 +6,7 @@ FMT支持带有HIL消息的标准Mavlink协议。因此,FMT可以支持任何支持Mavlink协议的HIL模拟器。

- +

### 设置HIL仿真 @@ -14,13 +14,13 @@ FMT支持带有HIL消息的标准Mavlink协议。因此,FMT可以支持任何 通过在BSP文件夹中的*fmtconfig.h*文件中添加`#define FMT_USING_HIL`来启用HIL仿真。然后重新构建系统。

- +

当系统上电后,在控制台中输入`mcn list`命令。您会发现传感器主题的发布频率都是0,这是正常的,因为HIL模拟器(例如AirSim、Gazebo等)尚未连接,HIL仿真模式下的传感器数据来自外部。

- +

### AirSim仿真 @@ -30,7 +30,7 @@ FMT支持与AirSim进行仿真。您需要首先下载AirSim,可以选择二 安装AirSim后,*User/Documents*目录下会创建一个AirSim文件夹。

- +

@@ -64,16 +64,16 @@ FMT支持与AirSim进行仿真。您需要首先下载AirSim,可以选择二 然后启动AirSim。左上角会显示您已连接到飞行控制器,然后您可以进行控制。

- +

### FMT-Sim Simulation 待补充

- +

- +

\ No newline at end of file diff --git a/docs/content_ch/simulation/MIL.md b/docs/content_ch/simulation/MIL.md index d46075e..abb58fb 100644 --- a/docs/content_ch/simulation/MIL.md +++ b/docs/content_ch/simulation/MIL.md @@ -5,7 +5,7 @@ 模型在环仿真是一种在仿真环境(如 Simulink)中开发和运行仿真模型的方法。 一个典型的自驾仪系统模型结构如图所示:

- +

### 设置 MIL 仿真 @@ -14,7 +14,7 @@ 2. 双击 **FMT_Model.prj** 打开和初始化工程。 3. 打开仿真模型 `simulation/MILSIM.slx`.

- +

@@ -42,17 +42,17 @@ 默认的可视化工具是MATLAB 3D。双击Simulink可视化模块`MILSIM/Virtualization/3D_Visualization/Matlab_3D/Visualization/VR Sink`。将视点设置为*Isometric - No Rotation*。

- +

- +

对象模型生成车辆状态,例如姿态、位置等。这些信息可以发送到任何可视化软件,如Flightgear、Gazebo、Webots等。

- +

### Run Simulation diff --git a/docs/content_ch/simulation/SIH.md b/docs/content_ch/simulation/SIH.md index 06e73c2..542736a 100644 --- a/docs/content_ch/simulation/SIH.md +++ b/docs/content_ch/simulation/SIH.md @@ -10,7 +10,7 @@ SIH 相比 HIL 有以下两个优点: - 整个仿真运行在 FMT 环境中。开发人员可以更轻松地将他们自己的数学模型整合到仿真器中。例如,他们可以修改空气动力学模型或传感器的噪声水平,甚至可以添加新的要模拟的传感器。

- +

## 设置 SIH @@ -18,7 +18,7 @@ SIH 相比 HIL 有以下两个优点: SIH 仿真可以通过在 *fmtconfig.h* 中添加 `#define FMT_USING_SIH` 来开启。然后重新编译系统。

- +

当系统上电时,系统横幅会输出**Plant Model**信息,这表示SIH仿真模式已激活。然后,您可以连接GCS和RC来操作SIH仿真,就像操作真实飞行器一样。 diff --git a/docs/content_ch/simulation/SIL.md b/docs/content_ch/simulation/SIL.md index 8736349..1d10957 100644 --- a/docs/content_ch/simulation/SIL.md +++ b/docs/content_ch/simulation/SIL.md @@ -60,7 +60,7 @@ msh /> 如果您需要连接QGC,请在运行QEMU命令之前打开它。当QEMU启动并运行时,QGC会自动连接。

- +

### 多机仿真 @@ -79,5 +79,5 @@ parameter save to /sys/sih_param.xml 当MAV_SYS_ID设置正确并且FMT系统正常运行时,您将在QGC中看到多个车辆。

- +

\ No newline at end of file diff --git a/docs/content_ch/simulation/openloop.md b/docs/content_ch/simulation/openloop.md index 75ab467..791f742 100644 --- a/docs/content_ch/simulation/openloop.md +++ b/docs/content_ch/simulation/openloop.md @@ -4,7 +4,7 @@ 开环仿真是一种在基于模型设计领域分析软件性能的十分有效的方法。*Mlog* 模块记录必要的模型输入数据,其功能类似于黑匣子。将日志解析并喂给仿真模型进行开环仿真,我们可以获得模型的输出数据和所有的内部信号。

- +

@@ -40,13 +40,13 @@ reboot 要检查当前会话ID,您可以输入boot_log命令。

- +

然后,您可以通过QGC的Component->Onboard Files(仅限QGC 3.5.6)或使用SD卡读取器下载日志。

- +

### 解析日志数据。 @@ -54,7 +54,7 @@ reboot FMT-Model提供了一个Matlab [脚本](https://github.com/Firmament-Autopilot/FMT-Model/blob/master/utils/log_parser/parse_mlog.m)用于解析日志数据。在Matlab中运行该脚本并选择日志文件,脚本将解析日志数据并生成*.mat*文件。

- +

### 加载日志数据 @@ -66,7 +66,7 @@ FMT-Model提供了一个Matlab [脚本](https://github.com/Firmament-Autopilot/F 打开数据仿真模型`simulation/DataSIM.slx`,然后点击**运行**按钮开始仿真。

- +

### 数据检查 From f928111704acc279e43c0409b503ee3060de6867 Mon Sep 17 00:00:00 2001 From: Steven Ajex Date: Wed, 17 Jul 2024 09:23:26 +0800 Subject: [PATCH 2/2] modified some details --- docs/content_ch/README.md | 2 +- docs/content_ch/introduction/configuration/actuator_config.md | 2 +- docs/content_ch/introduction/configuration/console_config.md | 2 +- .../content_ch/introduction/configuration/pilot_cmd_config.md | 2 +- .../content_ch/introduction/configuration/sysconfiguration.md | 2 +- docs/content_ch/introduction/quickstart.md | 4 ++-- 6 files changed, 7 insertions(+), 7 deletions(-) diff --git a/docs/content_ch/README.md b/docs/content_ch/README.md index 615f7e2..92ced72 100644 --- a/docs/content_ch/README.md +++ b/docs/content_ch/README.md @@ -4,7 +4,7 @@ ## 什么是Firmament? -Firmament (FMT) 是一款基于模型设计 (Model Based Design, MBD) 的开源自驾仪,可被用来快速构建无人机、车辆、船舶、机器人等的无人控制系统。基于模型设计 (MBD) 方法允许高效快速地开发高质量的控制系统,适用于各种无人车辆,包括航空器、地面车辆、船舶和机器人。基于模型设计已经被广泛应用于汽车制造、航空航天等行业,当前采用基于模型设计模式开发的飞控系统凤毛菱角,而 FMT 就是为此而诞生。借助其直观的图形界面和丰富的预构建模块库,FMT 为用户提供了一个强大的工具集,用于构建和测试复杂的控制算法,以及生成高度优化的代码以部署在嵌入式系统上。此外,FMT 具有高度的灵活性和可定制性,允许用户根据特定的应用需求对系统进行调整,并轻松与其他硬件和软件平台集成。因此,FMT 是研究人员、开发人员和工程师快速有效地构建和测试各种无人平台控制系统的理想选择。 +Firmament (FMT) 是一款基于模型设计 (Model Based Design, MBD) 的开源自驾仪,可被用来快速构建无人机、车辆、船舶、机器人等的无人控制系统。基于模型设计 (MBD) 方法允许高效快速地开发高质量的控制系统,适用于各种无人控制平台,包括航空器、地面车辆、船舶和机器人。基于模型设计已经被广泛应用于汽车制造、航空航天等行业,当前采用基于模型设计模式开发的飞控系统凤毛菱角,而 FMT 就是为此而诞生。借助其直观的图形界面和丰富的预构建模块库,FMT 为用户提供了一个强大的工具集,用于构建和测试复杂的控制算法,以及生成高度优化的代码以部署在嵌入式系统上。此外,FMT 具有高度的灵活性和可定制性,允许用户根据特定的应用需求对系统进行调整,并轻松与其他硬件和软件平台集成。因此,FMT 是研究人员、开发人员和工程师快速有效地构建和测试各种无人平台控制系统的理想选择。 这个系统是一个全面且先进的自动驾驶解决方案,主要由两个不同的部分组成:FMT-Firmware 和 FMT-Model。 diff --git a/docs/content_ch/introduction/configuration/actuator_config.md b/docs/content_ch/introduction/configuration/actuator_config.md index bd0a886..46d5549 100644 --- a/docs/content_ch/introduction/configuration/actuator_config.md +++ b/docs/content_ch/introduction/configuration/actuator_config.md @@ -1,6 +1,6 @@ ## 输出配置 -`[actuator]`可以被用来配置actuator输出模块,它包含了一个或多个`[[actuator.devices]]`。如下是一个包含了两个输出设备*main_out*和*aux_out*的配置。对于像Pixhawk标准的硬件,包含了2个pwm输出端口(8个主输出口,8个辅助输出口)。不同的输出设备可以分别设置PWM的输出频率。 +`[actuator]`可以被用来配置actuator输出模块,它包含了一个或多个`[[actuator.devices]]`。如下是一个包含了两个输出设备 *main_out* 和 *aux_out* 的配置。对于像Pixhawk标准的硬件,包含了2个pwm输出端口(8个主输出口,8个辅助输出口)。不同的输出设备可以分别设置PWM的输出频率。 ``` [[actuator.devices]] diff --git a/docs/content_ch/introduction/configuration/console_config.md b/docs/content_ch/introduction/configuration/console_config.md index 9226384..99e0015 100644 --- a/docs/content_ch/introduction/configuration/console_config.md +++ b/docs/content_ch/introduction/configuration/console_config.md @@ -3,7 +3,7 @@ 控制台可以用来打印系统信息和提供命令交互,其可以被重定向到不同的设备上。 -`[console]`可以被用来配置控制台设备,它包含了一个或者多个`[[console.devices]]`控制台可以使用的设备。如下所示的配置定义了三个控制台可以使用的设备,分别是*serial0*,*serial1*和*mav_console*,他们分别使用`[[console.devices]]`来定义。其中前两个是通用的串口设备,*mav_console*是一个比较特殊的设备(虚拟设备),它提供了和QGC的Mavlink Console接口的读写能力。 +`[console]`可以被用来配置控制台设备,它包含了一个或者多个`[[console.devices]]`控制台可以使用的设备。如下所示的配置定义了三个控制台可以使用的设备,分别是*serial0*,*serial1*和*mav_console*,他们分别使用`[[console.devices]]`来定义。其中前两个是通用的串口设备,*mav_console* 是一个比较特殊的设备(虚拟设备),它提供了和QGC的Mavlink Console接口的读写能力。 系统默认使用第一个设备(在这里是serial0)。如果其它设备设置了`auto-switch`未true,那么当对应设备收到数据后,控制台将自动切换到对应设备上。 diff --git a/docs/content_ch/introduction/configuration/pilot_cmd_config.md b/docs/content_ch/introduction/configuration/pilot_cmd_config.md index f19c3bf..933b19b 100644 --- a/docs/content_ch/introduction/configuration/pilot_cmd_config.md +++ b/docs/content_ch/introduction/configuration/pilot_cmd_config.md @@ -1,6 +1,6 @@ ## 遥控配置 -`[pilot-cmd]`用来对遥控模块进行配置。您可以在`[pilot-cmd.device]`配置遥控的协议,通道数,采样时间,通道数值范围等。摇杆通道可以通过`stick-channel`进行配置,它定义了*yaw*, *throttle*, *roll* and *pitch*对应的遥控通道。一个典型的遥控设备配置如下: +`[pilot-cmd]`用来对遥控模块进行配置。您可以在`[pilot-cmd.device]`配置遥控的协议,通道数,采样时间,通道数值范围等。摇杆通道可以通过`stick-channel`进行配置,它定义了*yaw*, *throttle*, *roll* and *pitch* 对应的遥控通道。一个典型的遥控设备配置如下: ``` # channel mapping for [yaw, throttle, roll, pitch] diff --git a/docs/content_ch/introduction/configuration/sysconfiguration.md b/docs/content_ch/introduction/configuration/sysconfiguration.md index a699c7d..d743252 100644 --- a/docs/content_ch/introduction/configuration/sysconfiguration.md +++ b/docs/content_ch/introduction/configuration/sysconfiguration.md @@ -5,7 +5,7 @@ 当FMT系统运行起来的时候,它会去自动寻找板载文件系统上的`/sys/sysconfig.toml`配置文件。如果这个文件存在,则会加载里面的配置项。如果这个文件不存在,则会使用`default_config.h`中固化的默认系统配置。注意,默认配置只开启了有限的功能,遥控和电机输出功能都未开启。 -每个BSP下的config目录都包含一个默认的配置文件*sysconfig.toml*。为了开启FMT的所有功能,用户需要将*sysconfig.toml*配置文件上传到板子的*/sys*目录。这个文件包含了模块功能需要的配置信息。 +每个BSP下的config目录都包含一个默认的配置文件 *sysconfig.toml* 。为了开启FMT的所有功能,用户需要将 *sysconfig.toml* 配置文件上传到板子的 */sys* 目录。这个文件包含了模块功能需要的配置信息。 - [Amov ICF5 Configuration](https://github.com/Firmament-Autopilot/FMT-Firmware/blob/master/target/amov/icf5/config/sysconfig.toml) - [CUAV V5+ Configuration](https://github.com/Firmament-Autopilot/FMT-Firmware/blob/master/target/amov/icf5/config/sysconfig.toml) diff --git a/docs/content_ch/introduction/quickstart.md b/docs/content_ch/introduction/quickstart.md index 7833895..3b23620 100644 --- a/docs/content_ch/introduction/quickstart.md +++ b/docs/content_ch/introduction/quickstart.md @@ -13,7 +13,7 @@ git clone https://github.com/Firmament-Autopilot/FMT-Firmware.git --recursive -- FMT 利用跨平台工具链,支持在各种操作系统上开发,例如 Windows、Linux 和 Mac。这种灵活性确保了开发人员无论使用何种平台都能自由地进行项目开发。 ### 编译器 -FMT使用arm-none-eabi- toolchain *7-2018-q2-update*版本,可上其[官网](https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads)进行下载安装,在开发过程中,务必要使用指定的编译器版本,以防止出现意外错误或不可预见的行为。不推荐使用其他编译器版本,以保持项目的稳定性和一致性。 +FMT使用arm-none-eabi- toolchain *7-2018-q2-update* 版本,可上其 [官网](https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads) 进行下载安装,在开发过程中,务必要使用指定的编译器版本,以防止出现意外错误或不可预见的行为。不推荐使用其他编译器版本,以保持项目的稳定性和一致性。 编译器下载完成后,下一步是创建一个名为`RTT_EXEC_PATH`的新环境变量,并该变量应指向编译器 bin 目录的完整路径。以下是设置环境变量的方法: @@ -46,7 +46,7 @@ FMT使用arm-none-eabi- toolchain *7-2018-q2-update*版本,可上其[官网](h FMT 采用 [SCons](https://scons.org/) 作为其构建工具,SCons是传统 Make 工具的增强版,是一个有效的跨平台的替代方案。SCons 配置文件使用 Python 编写,提供了一种用户友好且强大的方法来解决与构建相关的挑战。Python 的灵活性和易用性使配置构建过程更加直观和高效。使用 SCons,开发人员可以享受到一个能够适应不同平台并且简化以及高效的构建系统。 -在安装 SCons 之前,确保系统已经安装了 Python 3 是至关重要的。如果您的系统尚未安装 Python 3,您可以从[这里](https://www.python.org/downloads/)下载。Python 是 SCons 的先决条件,因为 SCons 的配置文件是用 Python 脚本编写的。安装完 Python 3 后,您可以继续安装 SCons,以便为项目启用更顺畅和高效的构建过程。 +在安装 SCons 之前,确保系统已经安装了 Python 3 是至关重要的。如果您的系统尚未安装 Python 3,您可以从 [这里](https://www.python.org/downloads/) 下载。Python 是 SCons 的先决条件,因为 SCons 的配置文件是用 Python 脚本编写的。安装完 Python 3 后,您可以继续安装 SCons,以便为项目启用更顺畅和高效的构建过程。 确保您的系统已经安装了Python 3后,在终端中按照以下步骤操作: