Go to file
coreglitch 942bbfaefe
Core api concept (#144)
* 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>
2020-10-13 11:22:43 +03:00
.github Add minunit test framework (#168) 2020-10-10 13:32:06 +03:00
applications Core api concept (#144) 2020-10-13 11:22:43 +03:00
bootloader Target refactoring and cube update (#161) 2020-10-07 12:37:43 +03:00
core Core api concept (#144) 2020-10-13 11:22:43 +03:00
core-rs Target refactoring and cube update (#161) 2020-10-07 12:37:43 +03:00
docker Fix linter path and lint code (#170) 2020-10-11 17:03:05 +06:00
firmware Core api concept (#144) 2020-10-13 11:22:43 +03:00
lib Core api concept (#144) 2020-10-13 11:22:43 +03:00
make Makefile: build flags as a target. (#163) 2020-10-08 12:47:12 +03:00
wiki Core api concept (#144) 2020-10-13 11:22:43 +03:00
wiki_static USB, SD-card wiki updates (#172) 2020-10-13 03:01:25 +03:00
.clang-format always break rule (#154) 2020-10-02 09:32:11 +03:00
.gitattributes add wiki static as lfs files 2020-08-24 20:17:08 +03:00
.gitignore Target refactoring and cube update (#161) 2020-10-07 12:37:43 +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 Broken link in Readme 2020-10-13 03:03:39 +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 Implement bootloader #137 (#142) 2020-10-01 02:05:04 +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

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 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