942bbfaefe
* add input debounce code from old fw * exampl of input api * change input API to get/release * revert input API to read * pointer instead of instance * add input API description * add display API * rewrite display names * migrate to valuemanager * add LED API * add closing brakets * add sound api * fix led api * basic api * rename API pages * change pubsub implementation * move FURI AC -> flapp, add valuemutex example, add valuemanager implementation * pubsub usage example * user led example * update example * simplify input * add composed display * add SPI/GPIO and CC1101 bus * change cc1101 api * spi api and devices * spi api and devices * move SPI to page, add GPIO * not block pin open * backlight API and more * add minunit tests * fix logging * ignore unexisting time service on embedded targets * fix warning, issue with printf * Deprecate furi_open and furi_close (#167) Rename existing furi_open and furi_close to deprecated version * add exitcode * migrate to printf * indicate test by leds * add testing description * rename furi.h * wip basic api * add valuemutex, pubsub, split files * add value expanders * value mutex realization and tests * valuemutex test added to makefile * do not build unimplemented files * fix build furmware target f2 * redesigned minunit tests to allow testing in separate files * test file for valuemutex minunit testing * minunit partial test valuemutex * local cmsis_os2 mutex bindings * implement furi open/create, tests * migrate concurrent_access to ValueMutex * add spi header * Lib: add mlib submodule. Co-authored-by: rusdacent <rusdacentx0x08@gmail.com> Co-authored-by: DrZlo13 <who.just.the.doctor@gmail.com> |
||
---|---|---|
.github | ||
applications | ||
bootloader | ||
core | ||
core-rs | ||
docker | ||
firmware | ||
lib | ||
make | ||
wiki | ||
wiki_static | ||
.clang-format | ||
.gitattributes | ||
.gitignore | ||
.gitmodules | ||
docker-compose.yml | ||
flipper-zero-cla.md | ||
README.md | ||
syntax_check.sh | ||
wiki-deploy.sh |
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
- SD-card
- 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