* Lib: move cube to libs. Firmware: prepare for code base refactoring, detach from cube, port to cmsis_os2. * Firmware, target f2: regenerate project with latest cube package, tim17 for os ticks. * Firmware: unified codebase. * Core: do not include semaphore on old targets. Firmware: dfu uplaod target. * CI: submodules, add firmware build. * CI: proper submodule config. * refactor build system * CI: update chain to use new targets. Documentation: update to match current structure. * CI: clean before rebuild. * Add local test docker-compose exec dev make -C firmware TARGET=local TEST=1 run * Makefile: target specific build directory. CI: updated artifacts path. * Makefile: init git submodules if they don't exists. * Makefile: debug rule now doesn't reset MCU, prevent SIGINT propagation to st-util. * Makefile: proper rebuild sequence in zz and zzz * Makefile: timestamp tracking for flash and upload commands. * Apps: modular build. Input: fix flipper hal inline. * Wiki: proper bootloader link. * Applications: fix broken build for local targets. * add st-flash to docker * fix build * force rebuild app * move app force to firmware part * fix build deps * qrcode build ok * fix example display * add testing routine * update build instruction Co-authored-by: Aleksandr Kutuzov <aku@plooks.com> Co-authored-by: aanper <mail@s3f.ru>
3.8 KiB
Flipper Zero Firmware community repo
Welcome to Flipper Zero's Firmware repo! Our goal is to create nice and clean code along with good documentation, to make it a pleasure for everyone to work with. This repo will become completely public closer to the device shipping date.
We are open for changes! You can suggest changes for any part of the code, wiki, guidelines, workflow, automation, etc.
If you are deary to start, please read contribution guide about creating issue, editing wiki, improving codebase and configuring environment.
Developer blog
You can read project updates in our developer blog:
Firmware
Build and run:
You can run firmware locally (with HAL stub):
docker-compose exec dev make -C firmware TARGET=local APP_TEST=1 run
for running testsdocker-compose exec dev make -C firmware TARGET=local APP_*=1 run
for running examples (seeapplications/applications.mk
for list of applications/examples)
Or you can use your dev. board:
docker-compose exec dev make -C firmware TARGET=f2 APP_*=1 flash
for build and flash dev board (see applications/applications.mk
for list of applications/examples)
Architecture and components
Flipper consists of the two main parts:
- Core: OS, HAL, FS, bootloader, FURI
- Applications: features like RFID or Tamagotchi, and also background tasks like button debouncing and backlight control.
User Interface
Features
- Basic Features
- Sub-1 GHz radio (Transceiver Based on CC1101 chip for 315/433/868 MHz)
- 125 kHz RFID
- Infrared
- iButton contact keys
- USB
- Bluetooth
- GPIO/HW Modules
- NFC
- U2F
- Tamagotchi
- Plugins
Hardware
Tools
Links
- Discord server: flipperzero.one/discord
- Project website: flipperzero.one
- Kickstarter page: kickstarter.com
- Forum: forum.flipperzero.one