Vadim Kaushan bb68fca20b
Implement ValueManager and ValueComposer (#183)
* Fix ValueManager implementation
* Implement ValueComposer
* Add constructor for ValueManager
* Add value-expanders.h to flipper_v2.h set
* Move COPY_COMPOSE body into a .c file
* Add test for ValueManager
* Add destructors for ValueMutex, ValueManager and ValueComposer
* Use destructors in tests
* Move composition logic into perform_compose()
* Add docs for perform_compose()
* Add test for ValueComposer
* Replace atomic_bool with bool as g++ compiler doesn't support C11 atomics
* Add Event type
* Add semaphore support to the local target
* Add test for Event
* Update input records and relevant examples
* Rename Event to AppEvent in the cc1101-workaround example
* Rename Event to AppEvent in the irda example
* Use Event in ValueComposer to wait for update request
* Add perform_compose_internal() function
* fix Event/AppEvent

Co-authored-by: aanper <mail@s3f.ru>
2020-10-26 12:26:15 +03:00
2020-10-26 09:59:16 +03:00
2020-10-21 14:44:48 +03:00
2020-10-23 11:42:53 +03:00
2020-08-24 20:17:08 +03:00
2020-10-20 09:49:28 +03:00
2020-10-13 11:22:43 +03:00
2020-08-01 19:42:32 +03:00
2020-10-23 16:54:16 +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

Description
No description provided
Readme GPL-3.0 60 MiB
Languages
C 97.3%
Python 1.1%
HTML 0.9%
PHP 0.3%
C++ 0.3%