From 202bf64cbae0b53d6ea97d1017ce2268d04976a6 Mon Sep 17 00:00:00 2001 From: aanper Date: Tue, 18 Aug 2020 20:18:09 +0300 Subject: [PATCH 1/3] fat update for readme --- README.md | 101 +++++++++++++++++++++++--------------------- wiki/fw/Firmware.md | 9 ++++ wiki/hw/Hardware.md | 0 3 files changed, 61 insertions(+), 49 deletions(-) create mode 100644 wiki/hw/Hardware.md diff --git a/README.md b/README.md index 9478af0b..863f5963 100644 --- a/README.md +++ b/README.md @@ -1,36 +1,66 @@ # Flipper Zero Firmware community repo -![](https://github.com/Flipper-Zero/wiki/blob/master/images/firmware-wiki-header.gif) -This repo contains [Flipper Zero](https://flipperzero.one/zero)'s Firmware core, cleaned from all dirty demos, and prepared for contributors. 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. +![](https://github.com/Flipper-Zero/wiki/blob/master/images/firmware-wiki-header.gif) +Welcome to [Flipper Zero](https://flipperzero.one/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. -# Building +# Current state of Flipper developement -See [Building instructions](https://github.com/Flipper-Zero/flipperzero-firmware-community/wiki/Firmware#building) +## Hardware -# How to contribute +У нас есть плата версии [Version 0 (F1B1C0)](https://github.com/Flipper-Zero/flipperzero-firmware-community/wiki/Hardware-version-F1B1C0.0) с кучей багов -To contribute to code or to wiki make the following steps: +(тут фотка платы и мб фотки костылей). -1. Read this wiki -2. Read [contribution guide](https://github.com/Flipper-Zero/flipperzero-firmware-community/wiki/Contributing) -3. Ensure you read and sign [Flipper CLA](https://cla-assistant.io/glitchcore/flipper-cla-host) -4. Read Flipper [Roadmap](https://github.com/Flipper-Zero/flipperzero-firmware-community/wiki/Flipper-roadmap) +## Firmware -# Project structure -``` -├── app # App -├── target_f1 # target f1 -├── target_lo # local target (for linux) -├── wiki # Documentation (wiki) generates from this files -└── wiki-deploy.sh # Script to generate Wiki from local .md files -``` +В процессе подготовки к кампании мы прототипировали работу с разными протоколами, графический интерфейс. Весь этот код вскоре будет опубликован здесь. Current code cleaned from all dirty demos and prepared for contributors. -# UI +Сейчас мы проектируем архитектуру. You can run firmware locally (with HAL stub). -Common UI feature (menu, screens, features) at [UI page](https://github.com/Flipper-Zero/flipperzero-firmware-community/wiki/UI) +* `docker-compose exec dev make -C target_lo` for build +* `docker-compose exec dev target_lo/build/target_lo` for run -# Features +(подробнее о сборке смотрите [building instructions](https://github.com/Flipper-Zero/flipperzero-firmware-community/wiki/Firmware#building)). + +# Flipper developement roadmap + +У нас такой план: + +* **Phase 0** Preparing for Kickstarter, prototyping UI, checkng hardware, prototype protocol sniffer, tag readers, etc. (compelete). +* **Phase 1.** Разобраться с процессами, документацией и архитектурой (on now). Сейчас у нас нет железок для всех контрибьюторов, поэтому важно сделать стенд для удаленного запуска тестов и сделать эмулятор. +* **Phase 2.** Позвать толпу контрибьюторов, отбирать тех, кому высылать комплект железа +* **Phase 3.** Сделать плату [Version 1 (F2B0C1)](https://github.com/Flipper-Zero/flipperzero-firmware-community/wiki/Hardware-version-F2B0C1.1) и разослать ее контрибьюторам. Начать отлаживать на железе. +* **Phase 4.** Сделать плату с блютузом на основе STM32WB55RB и разослать ее контрибьюторам. + +# Task for phase 1: что нужно делать прямо сейчас + +* Finalize firmware core architecture and document it for contributors onboarding. You can see progress in [Core project](https://github.com/Flipper-Zero/flipperzero-firmware-community/projects/3) +* Set up a test environment and CI. You can see progress in [Environment project](https://github.com/Flipper-Zero/flipperzero-firmware-community/projects/2) +* Create Flipper Zero software emulator with display and buttons [Task #22](https://github.com/Flipper-Zero/flipperzero-firmware-community/issues/22) +* Set up integration between wiki and issues, configure wiki generator from doc files: [Task #16](https://github.com/Flipper-Zero/flipperzero-firmware-community/issues/16) +* Finish the basic wiki pages: create feature description, UI sketches, links to related project/code, documentation for protocols/ +* Make basic code examples [Task #15](https://github.com/Flipper-Zero/flipperzero-firmware-community/issues/15) +* Transfer old code to new architecture + +**We are open to changes.** You can suggest changes to any part of the code, wiki, guidelines, workflow, automation, etc. + +Если вы уже готовы нам помочь — read [contribution guide](https://github.com/Flipper-Zero/flipperzero-firmware-community/wiki/Contributing) about creating issue, editing wiki, improve codebase and configure environment. + +# Firmware + +**[Firmware page](https://github.com/Flipper-Zero/flipperzero-firmware-community/wiki/Firmware)** + +Flipper consists of two main parts: + +* Core: OS, HAL, FS, bootloader, FURI +* Applications: features like RFID or Tamagotchi, and also background tasks like button debouncing and control the backlight. + +## UI + +Common UI feature (menu, screens...) at [UI page](https://github.com/Flipper-Zero/flipperzero-firmware-community/wiki/UI) + +## Features * [Basic Features](https://github.com/Flipper-Zero/flipperzero-firmware-community/wiki/Basic-features) * [Sub-1 GHz radio](https://github.com/Flipper-Zero/flipperzero-firmware-community/wiki/Sub-1-GHz-radio) (Transceiver Based on CC1101 chip for 315/433/868 MHz) @@ -46,36 +76,9 @@ Common UI feature (menu, screens, features) at [UI page](https://github.com/Flip * [USB](https://github.com/Flipper-Zero/flipperzero-firmware-community/wiki/USB) * [Plugins](https://github.com/Flipper-Zero/flipperzero-firmware-community/wiki/Plugins) -# PlatformIO & Arduino -* Easy IDE deploying -* Cross platform HID device without drivers -* Ready to use library for LCD, Buttons, CC1101, GPIO, Infrared, 125khz, Bluetooth? NFC? - # Hardware -[Hardware specification](https://github.com/Flipper-Zero/flipperzero-firmware-community/wiki/Hardware-specification) - -### Releases - -All PCB releases named according to the following rules: - -* `F` mean fw target. Different F-versions has different firmware. -* `B` mean body. Different B-versions has mechanical incompatibility. If B=0, PCB is not intended for installation in a case. -* `C` mean interConnections. If С=0, device contain single board and no interconnections. Otherwise, different C-versions is incompatible to each other. -* Number afer point mean sequential numbering of release. - -List of releases: - -* [Version 0 (F1B1C0)](https://github.com/Flipper-Zero/flipperzero-firmware-community/wiki/Hardware-version-F1B1C0.0) -* [Version 1 (F2B0C1)](https://github.com/Flipper-Zero/flipperzero-firmware-community/wiki/Hardware-version-F2B0C1.1) - -### Hardware components - -* LCD display [buydisplay.com](https://www.buydisplay.com/1-4-inch-graphic-128x64-lcd-module-serial-spi-st7565-black-on-white) - -# Firmware - -[Firmware description page](https://github.com/Flipper-Zero/flipperzero-firmware-community/wiki/Firmware) +**[Hardware page](https://github.com/Flipper-Zero/flipperzero-firmware-community/wiki/Hardware)** # Links diff --git a/wiki/fw/Firmware.md b/wiki/fw/Firmware.md index 5b7e62e7..7a6676b1 100644 --- a/wiki/fw/Firmware.md +++ b/wiki/fw/Firmware.md @@ -2,6 +2,15 @@ _Overview of Flipper firmware architecture:_ ![FW arch](https://github.com/Flipper-Zero/wiki/raw/master/images/flipper_fw_arch.png) +# Project structure +``` +├── app # App +├── target_f1 # target f1 +├── target_lo # local target (for linux) +├── wiki # Documentation (wiki) generates from this files +└── wiki-deploy.sh # Script to generate Wiki from local .md files +``` + # HAL We use STM32 HAL/LL. Description available here: [dm00105879.pdf](https://github.com/Flipper-Zero/wiki/raw/master/dm00105879-description-of-stm32f4-hal-and-ll-drivers-stmicroelectronics.pdf) diff --git a/wiki/hw/Hardware.md b/wiki/hw/Hardware.md new file mode 100644 index 00000000..e69de29b From 459a00e1e0c0f1e4790aeb99edcf87afae8c0ffd Mon Sep 17 00:00:00 2001 From: aanper Date: Wed, 19 Aug 2020 08:26:44 +0300 Subject: [PATCH 2/3] remove project structure --- wiki/fw/Firmware.md | 9 --------- 1 file changed, 9 deletions(-) diff --git a/wiki/fw/Firmware.md b/wiki/fw/Firmware.md index 7a6676b1..5b7e62e7 100644 --- a/wiki/fw/Firmware.md +++ b/wiki/fw/Firmware.md @@ -2,15 +2,6 @@ _Overview of Flipper firmware architecture:_ ![FW arch](https://github.com/Flipper-Zero/wiki/raw/master/images/flipper_fw_arch.png) -# Project structure -``` -├── app # App -├── target_f1 # target f1 -├── target_lo # local target (for linux) -├── wiki # Documentation (wiki) generates from this files -└── wiki-deploy.sh # Script to generate Wiki from local .md files -``` - # HAL We use STM32 HAL/LL. Description available here: [dm00105879.pdf](https://github.com/Flipper-Zero/wiki/raw/master/dm00105879-description-of-stm32f4-hal-and-ll-drivers-stmicroelectronics.pdf) From 4fa01445b647a12d759a924e210256d8a48b98c0 Mon Sep 17 00:00:00 2001 From: Pavel Zhovner Date: Thu, 20 Aug 2020 18:55:30 +0300 Subject: [PATCH 3/3] Update README.md --- README.md | 28 ++++++++++++---------------- 1 file changed, 12 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index 863f5963..2e5e7582 100644 --- a/README.md +++ b/README.md @@ -8,32 +8,28 @@ Welcome to [Flipper Zero](https://flipperzero.one/zero)'s Firmware repo! Our goa ## Hardware -У нас есть плата версии [Version 0 (F1B1C0)](https://github.com/Flipper-Zero/flipperzero-firmware-community/wiki/Hardware-version-F1B1C0.0) с кучей багов - -(тут фотка платы и мб фотки костылей). +Current Flipper Zero prototype is based on board [Version 0 (F1B1C0.0)](https://github.com/Flipper-Zero/flipperzero-firmware-community/wiki/Hardware-version-F1B1C0.0) that have a lots of bugs. We have finished the next version of PCB, where these bugs fixed, and now waiting for it from manufacturing. This new board will be used as Developer Kit for early firmware development. ## Firmware -В процессе подготовки к кампании мы прототипировали работу с разными протоколами, графический интерфейс. Весь этот код вскоре будет опубликован здесь. Current code cleaned from all dirty demos and prepared for contributors. +While early prototyping of Flipper Zero we have used a lot of 3rd-party code, sketches, and dirty demos just to prove that it can work, don't think too much about architecture. It splited into many incompatible pieces of code, and some of them not even have a UI. This repo is cleaned from all dirty demos and prepared for contributors, so we will start to porting all legacy code here, following new architecture. -Сейчас мы проектируем архитектуру. You can run firmware locally (with HAL stub). +Right now we are working on clean architecture and documentation for contributors. You can run firmware locally (with HAL stub). * `docker-compose exec dev make -C target_lo` for build * `docker-compose exec dev target_lo/build/target_lo` for run -(подробнее о сборке смотрите [building instructions](https://github.com/Flipper-Zero/flipperzero-firmware-community/wiki/Firmware#building)). +Read more in [building instructions](https://github.com/Flipper-Zero/flipperzero-firmware-community/wiki/Firmware#building)). # Flipper developement roadmap -У нас такой план: +* ~~**Phase 0** Preparing for Kickstarter, prototyping UI, checkng hardware, prototype protocol sniffer, tag readers, etc. (compelete).~~ +* **Phase 1.** (Current) Set up developing routines for massive contributors activity, architecture and documentation. Building hardware rig for remote testing. +* **Phase 2.** Start massive contributors program. Preparing Developments Kits for sending to few developers. +* **Phase 3.** Next PCB release [Version 1 (F2B0C1)](https://github.com/Flipper-Zero/flipperzero-firmware-community/wiki/Hardware-version-F2B0C1.1) and sending it to more contributos. +* **Phase 4.** Release PCB based on STM32WB55RB and sending it to developers. -* **Phase 0** Preparing for Kickstarter, prototyping UI, checkng hardware, prototype protocol sniffer, tag readers, etc. (compelete). -* **Phase 1.** Разобраться с процессами, документацией и архитектурой (on now). Сейчас у нас нет железок для всех контрибьюторов, поэтому важно сделать стенд для удаленного запуска тестов и сделать эмулятор. -* **Phase 2.** Позвать толпу контрибьюторов, отбирать тех, кому высылать комплект железа -* **Phase 3.** Сделать плату [Version 1 (F2B0C1)](https://github.com/Flipper-Zero/flipperzero-firmware-community/wiki/Hardware-version-F2B0C1.1) и разослать ее контрибьюторам. Начать отлаживать на железе. -* **Phase 4.** Сделать плату с блютузом на основе STM32WB55RB и разослать ее контрибьюторам. - -# Task for phase 1: что нужно делать прямо сейчас +# Task for phase 1: (Doing right now) * Finalize firmware core architecture and document it for contributors onboarding. You can see progress in [Core project](https://github.com/Flipper-Zero/flipperzero-firmware-community/projects/3) * Set up a test environment and CI. You can see progress in [Environment project](https://github.com/Flipper-Zero/flipperzero-firmware-community/projects/2) @@ -43,9 +39,9 @@ Welcome to [Flipper Zero](https://flipperzero.one/zero)'s Firmware repo! Our goa * Make basic code examples [Task #15](https://github.com/Flipper-Zero/flipperzero-firmware-community/issues/15) * Transfer old code to new architecture -**We are open to changes.** You can suggest changes to any part of the code, wiki, guidelines, workflow, automation, etc. +**We are open for changes!** You can suggest changes to any part of the code, wiki, guidelines, workflow, automation, etc. -Если вы уже готовы нам помочь — read [contribution guide](https://github.com/Flipper-Zero/flipperzero-firmware-community/wiki/Contributing) about creating issue, editing wiki, improve codebase and configure environment. +If you are deary to start, please read [contribution guide](https://github.com/Flipper-Zero/flipperzero-firmware-community/wiki/Contributing) about creating issue, editing wiki, improve codebase and configure environment. # Firmware