## 项目名称

### 姿态传感器

## 运行条件

> 列出运行该项目所必须的条件和相关依赖

* Python==3.14
* OpenOCD
* CLion
* Arm-none-eabi-gcc

## 运行说明

> 说明如何运行和使用你的项目，建议给出具体的步骤说明

* 操作一 `python -m venv .venv`
* 操作二 `.venv\Scripts\activate`
* 操作三 `pip install -r .\requirements.txt`

## 测试说明

> 如果有测试相关内容需要说明，请填写在这里

## 技术架构

## 项目名称

### 姿态传感器

## 运行条件

> 列出运行该项目所必须的条件和相关依赖

* Python==3.14
* OpenOCD
* CLion
* Arm-none-eabi-gcc

## 运行说明

> 说明如何运行和使用你的项目，建议给出具体的步骤说明

1. 下载所有运行条件中提到的文件
2.

## 测试说明

> 如果有测试相关内容需要说明，请填写在这里

## 技术架构

```mermaid
flowchart TB
    subgraph App["用户程序层 src/"]
        direction LR
        CM7["CM7 导航应用\nmain.c"]
        CM4["CM4 采集应用\nmain_CM4.c"]
        AppSupport["应用支撑\nshell / banner / time_base / elog_port"]
    end

    subgraph Service["业务功能层"]
        direction LR
        LCFSM["组合导航状态机\nlc_fsm"]
        SensorTask["传感器采集任务\nIMU / GNSS"]
        ProtoApp["消息协议适配\nproto"]
        LogApp["日志与命令行适配"]
    end

    subgraph Domain["功能模块层"]
        direction LR

        subgraph Nav["loosely_coupled_navigation"]
            direction TB
            LC["LooselyCoupled"]
            Align["Alignment / Attitude"]
            INS["INS / Mechanization"]
            EKF["EKF"]
            EarthMath["Earth / Math"]
        end

        subgraph Sensors["sensors"]
            direction TB
            IMU["IMU 统一接口"]
            IMUDriver["ADIS16488 / STIM300 / SCH1633"]
            GNSS["GNSS 统一接口"]
            GNSSDriver["K922 / libnmea"]
        end

        subgraph Proto["proto"]
            direction TB
            ProtoFile["V0_0_1.proto"]
            NanoPB["nanopb 生成代码"]
        end
    end

    subgraph BSP["BSP 模块 bsp/"]
        direction TB

        subgraph BspService["BSP 服务接口层"]
            direction LR
            OpenAMP["OpenAMP"]
            Stream["STREAM"]
            SPI["SPI"]
            Timer["TIMER"]
            Exti["EXTI"]
            Enter["ENTER"]
        end

        subgraph BspBase["BSP 基础抽象层"]
            direction LR
            IO["IO"]
            RCC["RCC"]
            DMA["DMA"]
            Resource["OpenAMP Resource"]
        end

        subgraph BspPort["STM32H7xx Port 层"]
            direction LR
            StreamPort["stream_port / stream_uart_port"]
            IOPort["io_port"]
            SPIPort["spi_port"]
            TimerPort["timer_port / time_base_port"]
            ExtiPort["exti_port"]
            OpenAMPPort["openamp_port"]
            RCCPort["rcc_port"]
            DMAPort["dma_port"]
        end

        subgraph Chip["芯片启动与片上资源层"]
            direction LR
            ChipInit["init_CM4 / init_CM7"]
            IT["stm32h7xx_it"]
            Memory["MPU / SDRAM / sysmem / syscalls"]
            HAL["STM32H7xx HAL / CMSIS"]
        end
    end

    subgraph Lib["第三方与公共库"]
        direction LR
        ThreadX["ThreadX"]
        CMSISDSP["CMSIS-DSP"]
        Metal["libmetal / open_amp"]
        LwRB["lwrb"]
        ShellLib["microshell"]
        EasyLogger["easylogger"]
        QF["qf-fsm"]
    end

    App --- Service
    Service --- Domain
    Domain --- BSP
    BSP --- Lib
```

## 协作者

> 高效的协作会激发无尽的创造力，将他们的名字记录在这里吧

## 协作者

> 高效的协作会激发无尽的创造力，将他们的名字记录在这里吧
