MCPcopy Index your code
hub / github.com/Firmament-Autopilot/FMT-Firmware

github.com/Firmament-Autopilot/FMT-Firmware @v1.1.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.1.0 ↗ · + Follow
8,193 symbols 21,055 edges 961 files 3,978 documented · 49%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

FMT

GitHub license build status release version

Overview

Firmament (FMT) is an advanced autopilot system which is designed with Model-based design (MBD). It can be used to quickly and easily build the control system for autonomous vehicle, such as uav, car, ship, robot, etc.

The system is mainly composed of two parts.

  • FMT-Firmware: A stable and high performance embedded system designed with C/C++.
  • FMT-Model: A simulation framework with algorithm libraries designed with MATLAB/Simulink.

Documentation

User Guide

Download

git clone https://github.com/Firmament-Autopilot/FMT-Firmware.git --recursive --shallow-submodules

Note that FMT-Firmware contains submodules, use --recursive to download submodule as well.

Feature

  • High development efficency achieved with model-based deisign and debug easier.
  • A stable and high performance embedded system designed with C/C++.
  • A powerful simulation framework with various algorithm library designed with MATLAB/Simulink.
  • Auto code generation from Simulink model adapted to different hardware platforms (ARM, AMD, Intel, etc).
  • Excellent real-time performance based on RT-Thread RTOS with active community and large number of third-party components.
  • Support with most widely used open-source hardware Pixhawk (Both FMUv2 and FMUv5 are supported).
  • Cross-platform toolchain support with Windows/Linux/Mac.
  • Support with Mavlink and QGroundcontrol.

Architecture

FMT Firmware's architecture is shown in the figure below.

Hardware

Current supported hardware: - AMOV ICF5 - CUAV V5+ - Pixhawk4 (FMUv5) - Pixhawk (FMUv2) - HEX Cubeorange - QEMU vexpress-a9

The drone hardware equipped with FMT: - Amovlab MFP450

License

Apache-2.0

Core symbols most depended-on inside this repo

_mav_finalize_message_chan_send
called by 1075
src/lib/mavlink/v2.0/mavlink_helpers.h
mav_array_memcpy
called by 903
src/lib/mavlink/v2.0/protocol.h
param_link_variable
called by 325
src/module/param/param.c
mavlink_finalize_message_chan
called by 216
src/lib/mavlink/v2.0/mavlink_helpers.h
mavlink_msg_to_send_buffer
called by 216
src/lib/mavlink/v2.0/mavlink_helpers.h
sq
called by 216
src/model/ins/px4_ecl/ecl/EKF/utils.hpp
mavlink_finalize_message
called by 215
src/lib/mavlink/v2.0/mavlink_helpers.h
mavlink_msg_get_send_buffer_length
called by 215
src/lib/mavlink/v2.0/protocol.h

Shape

Function 6,314
Class 1,061
Method 670
Enum 148

Languages

C++66%
C34%

Modules by API surface

src/lib/mavlink/v2.0/common/testsuite.h213 symbols
src/lib/micro-xrce-dds-client/src/c/core/serialization/xrce_types.c204 symbols
src/lib/mavlink/v2.0/common/common.h113 symbols
src/lib/micro-xrce-dds-client/include/uxr/client/core/type/xrce_types.h108 symbols
src/model/ins/px4_ecl/ecl/EKF/ekf_helper.cpp88 symbols
src/model/ins/px4_ecl/lib/ecl_wrapper.cpp74 symbols
src/model/ins/px4_ecl/ecl/EKF/ekf.h73 symbols
src/module/toml/toml.c69 symbols
src/model/fms/mc_fms/lib/FMS.c67 symbols
src/driver/imu/icm20948.c57 symbols
src/model/ins/px4_ecl/ecl/matrix/Matrix.hpp48 symbols
src/lib/micro-xrce-dds-client/src/c/core/session/session.c48 symbols

For agents

$ claude mcp add FMT-Firmware \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page