ESPlane
  • Introduction
  • 语言/language
    • 中文
    • English
  • Operater Guide
    • 01 ESPlane Operater Get Started
    • 02 CFclient User Guid
    • 03 Calibration And Commissioning Methods
    • 04 Flight Mode Introduction
    • 05 Pid Tuning
    • 06 Multi-user Mode
    • 07 Load And Endurance Test
  • Developer Guide
    • 01 ESPlane Developer Get Started
    • 02 Code Architecture And Startup Process
    • 03 Sensor Angle Fusion
    • 04 Sensor Calibration
    • 05 Control System
    • 06 Gyro and Accelerometer MPU6050 Driver
    • 07 Laser Sensor Vl53l1x Driver
    • 08 Barometer MS5611 Driver
    • 09 Magnetic Compass HMC5883l Driver
    • 10 Brushed Motor Driver
    • 11 Optical Flow Sensor Pmw3901 Driver
    • 12 Variable Unified Management
    • 13 Crtp Protocol Introduction
    • 14 Crtp Protocol Library - Cflib
    • 15 Compatible With ESPilot APP
    • 16 Height-hold Mode Development
    • 17 Positon-hold Mode Development
  • Research on Crazyflie
    • 01 Crazyflie Project Preview
    • 02 Crazyflie Source Preview
    • 03 Crazyflie Code Modularization Method
    • Discussion On Private-Improvement Scheme
    • Private-1.0 Code Debug Record
    • Private-Research On Commercial Micro Drone Products
    • Well-Known Drone Open Source Solutions
  • ESP32 Development notes
    • ESP32 Chip Naming Rules
    • ESP32 Pin Resource Allocation And Usage Recommendations
    • 01 ESP32-Hardware Preparation-ESP32-DevKitC V2 board
    • 02 ESP32-Environment Setup-Compilation And Programming
    • 03 ESP-IDF-Directory Structure-Template Engineering Analysis Notes
    • 04 ESP32-Code Debugging-Summary Of Several Debugging Methods
    • 05 ESP32 Event Loop
    • 14 ESP32 SPI Use Memo
    • 15 ESP32 GPIO Use Memo
  • Reference
    • bitcraze.io
    • esp-idf-release-v3.3
由 GitBook 提供支持
在本页
  • 一、工程目录结构
  • 1. 总目录结构
  • 2. 驱动层
  • 3. 硬件抽象层
  • 4. 飞控程序层
  • 5. 扩展层
  • 二、代码启动过程
  • 1. 系统启动过程
  • 2. 关键TASK-自稳模式
  • 3. 关键数据结构

这有帮助吗?

  1. Developer Guide

02 Code Architecture And Startup Process

上一页01 ESPlane Developer Get Started下一页03 Sensor Angle Fusion

最后更新于5年前

这有帮助吗?

文章更新版本

时间

备注

V1.0

发布于2019-10-30 17:30:53

初始版本

V1.1

更新于2020-01-13 11:10:16

修改app_main结构图

一、工程目录结构

1. 总目录结构

ESPlane2.0基于esp_idf release/v3.3 和Crazyfliemaster:commit 13aa1372bc3ba5b14922fc2f9d8999270882021a ([https://github.com/qljz1993/crazyflie-firmware.git).按照IDF编写风格,以组件的形式组织整个代码工程,其中main中包含app_main函数,用于启动整个工程.components文件夹包含工程中修改的一些esp_idf组件(未修改的组件默认从IDF_PATH查找),各个传感器驱动,硬件抽象层(hal),飞控程序模块(modules)等:](https://github.com/qljz1993/crazyflie-firmware.git%29.按照IDF编写风格,以组件的形式组织整个代码工程,其中main中包含app_main函数,用于启动整个工程.components文件夹包含工程中修改的一些esp_idf组件%28未修改的组件默认从IDF_PATH查找%29,各个传感器驱动,硬件抽象层(hal),飞控程序模块(modules)等:)

在这里插入图片描述

2. 驱动层

3. 硬件抽象层

硬件抽象层作为传感器驱动层与飞控程序层中间的桥梁,是该工程能够实现移植的关键,硬件抽象层包含以下文件:

4. 飞控程序层

飞控程序层是该工程的核心代码层,用于姿态计算,控制量计算,协议通信等,该层包含以下文件:

5. 扩展层

参见 03-Crazyflie代码模块化实现方法,Crazyflie工程挂载自定义驱动方法 -Deck drivers(esplane未完成该部分移植20191028)

二、代码启动过程

1. 系统启动过程

2. 关键TASK-自稳模式

3. 关键数据结构

hal
modules
系统启动过程
自稳模式
在这里插入图片描述