Go to file
coreglitch f5b342abbe
Api hw gpio pwm (#199)
* initial gpio layer

* move temlplate.c to template.c.example in preparing to applications.mk rework

* separate arduino layer

* separate flipper_hal.x

* prepare to switch applications on v2 core gpio api

* swithch applications to v2 gpio api

* gpio api for local target

* better gpio_disable handling

* remove pwm functions from local target

* inline gpio funcs

* common function to init all api's

* fix local example blink

* move delay us to hal api folder

* move pwm_set/pwm_stop to hal api folder

* update applications to use hal pwm api

* remove gpio mode case warning

* add speaker demo to build

Co-authored-by: DrZlo13 <who.just.the.doctor@gmail.com>
2020-10-26 10:16:54 +03:00
.github Refactor pylint (#195) 2020-10-26 09:59:16 +03:00
applications Api hw gpio pwm (#199) 2020-10-26 10:16:54 +03:00
bootloader Target refactoring and cube update (#161) 2020-10-07 12:37:43 +03:00
core Api hw gpio pwm (#199) 2020-10-26 10:16:54 +03:00
core-rs Target refactoring and cube update (#161) 2020-10-07 12:37:43 +03:00
debug/FreeRTOS Debug: freertos gdb plugin. 2020-10-17 16:34:16 +03:00
docker refs #146 bump clang-format version to 12 2020-10-20 13:41:00 +03:00
firmware Api hw gpio pwm (#199) 2020-10-26 10:16:54 +03:00
lib RFAL: explicitly configure SPI 2020-10-21 14:44:48 +03:00
make use arm-none-eabi-gdb from ubuntu-docker 2020-10-19 19:31:24 +03:00
wiki [Wiki] Firmware update, fixes 2020-10-23 11:42:53 +03:00
wiki_static USB, SD-card wiki updates (#172) 2020-10-13 03:01:25 +03:00
.clang-format update AllowShortBlocksOnASingleLine param (not work) 2020-10-21 12:08:23 +03:00
.gitattributes add wiki static as lfs files 2020-08-24 20:17:08 +03:00
.gitignore ignore pyc 2020-10-20 09:49:28 +03:00
.gitmodules Core api concept (#144) 2020-10-13 11:22:43 +03:00
docker-compose.yml [WIP] Add syntax check for rust and C\C++ code (#108) 2020-09-30 02:18:30 +03:00
flipper-zero-cla.md Update flipper-zero-cla.md 2020-08-01 19:42:32 +03:00
README.md [Wiki] Update firmware fix 2020-10-23 16:54:16 +03:00
syntax_check.sh [WIP] Add syntax check for rust and C\C++ code (#108) 2020-09-30 02:18:30 +03:00
wiki-deploy.sh Wiki: proper crossplatform symlink dereference while copying. Fixes #191. 2020-10-22 12:25:56 +03:00

Flipper Zero Firmware community repo

Discord

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:

Developer blog index

Firmware

Firmware page

Update firmware

Flipper Zero's firmware consists of two components: Bootloader and main firmware. Bootloader controls firmware update process over USB. You need working bootloader installed before update firmware over USB.

  1. Download latest Firmware ⚠️ TODO permanent link to latest firmware from master ⚠️

  2. Reboot Flipper to Firmware update mode

  3. Run dfu-util -D firmware.bin -a 0 -s 0x08008000:leave

Build from source

You can run firmware locally (with HAL stub):

  • docker-compose exec dev make -C firmware TARGET=local APP_TEST=1 run for running tests
  • docker-compose exec dev make -C firmware TARGET=local APP_*=1 run for running examples (see applications/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

User Interface

Features

Hardware

Hardware page

Tools

Links