The CrazyFlie: Firmware, Source Code, and Software Overview

how the crazyflie works n.w
1 / 10
Embed
Share

Explore the inner workings of the CrazyFlie drone, focusing on its source firmware, low-level C code, Python library, and software components. Dive into the different folders and files that make up the source firmware, including configurations, library settings, deck drivers, and sensor interfaces.

  • CrazyFlie
  • Firmware
  • Source Code
  • Python Library
  • Drone

Uploaded on | 0 Views


Download Presentation

Please find below an Image/Link to download the presentation.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.

You are allowed to download the files provided on this website for personal or commercial use, subject to the condition that they are used lawfully. All files are the property of their respective owners.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.

E N D

Presentation Transcript


  1. How The CrazyFlie Works

  2. two parts that we will focus on Source Firmware Source code for CrazyFlie Low level C code Python Library Software used to communicate and control CrazyFlie

  3. Source Firmware Folders app_api document which functions that are part of the app API. This is not an example app with useful code The app is built by CI servers to make sure we do not modify functions that is part of the official app API by mistake api_app.c - App layer application that calls app API functions to make sure they are compiled in CI.

  4. Source Firmware Continued Folders src config FreeRTOSConfig.h Defines constants config.h Defines the default configuration of the copter ffconf.h Contains definitions for Function Configurations, locale/namespace configurations, drive/volume configurations and system configurations nvicconf.h Interrupt priority configuration, 4 different interrupt levels

  5. Source Firmware Continued Folders src config stm32f4xx_conf.h Library configuration file stm32fxxx.h Correct stm32 include file for what is defined trace.h ITM trace implementation and definitions deck I/O and api for deck expansion port I/Os inspired by arduino api

  6. Source Firmware Continued Folders src deck api deck_analog.c GPIO and ADC setup for arduino compatible analog input deck_constants.c Constants for deck deck_digital.c Digital I/O implementation deck_spi.c Api spi communication deck_spi3.c Api communication

  7. Source Firmware Continued Folders src deck core deck.c deck_drivers.c Deck driver initialization deck_info.c Functions to decode the decks oneWire memory content deck_memory.c implements functionality for reading and writing deck memory using the memory subsystem Deck subsystem main entry points, initialization

  8. Source Firmware Continued Folders src deck drivers interface src Has interface files for src Contains mostly drivers for certain things To note: obstacle avoidance driver, time if flight distance sensor driver drivers bosch Src Includes mostly sensor drivers Motor driver

  9. Source Firmware Continued Folders src drivers hal init lib modules UART driver Proximity sensor Includes other sensor code Contains main, initializes everything Include peripheral driver along with bunch of other random stuff Collision avoidance

  10. Python library Folders Cflib Bootloader Crazyflie Crtp Drivers Positioning Motion_commander Position_hl_commander

More Related Content