From 202bf64cbae0b53d6ea97d1017ce2268d04976a6 Mon Sep 17 00:00:00 2001 From: aanper Date: Tue, 18 Aug 2020 20:18:09 +0300 Subject: [PATCH] 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