mirror of
https://github.com/DarkFlippers/unleashed-firmware.git
synced 2024-11-27 05:42:16 +03:00
fix macOS builds & update changelog
This commit is contained in:
parent
f08630849b
commit
056e5f2c47
3
Brewfile
3
Brewfile
@ -1,4 +1,4 @@
|
||||
cask "gcc-arm-embedded"
|
||||
cask "brew-cask/gcc-arm-embedded.rb"
|
||||
brew "protobuf"
|
||||
brew "gdb"
|
||||
brew "heatshrink"
|
||||
@ -6,3 +6,4 @@ brew "open-ocd"
|
||||
brew "clang-format"
|
||||
brew "dfu-util"
|
||||
brew "imagemagick"
|
||||
brew "protobuf-c"
|
||||
|
@ -1,11 +1,13 @@
|
||||
### New Update
|
||||
* Updated UniRF Remix app
|
||||
* Fixed macOS Brewfile, so compiling on macOS now works
|
||||
#### Previous changes
|
||||
* KeeLoq protocol rework.
|
||||
* Came Atomo emulation beta-test.
|
||||
* Fix critical issue with keeloq manufacturer name random change:
|
||||
* now you can emulate any manufacturer system with proper key handling.
|
||||
now you can emulate any manufacturer system with proper key handling.
|
||||
* Came Atomo parcel counter increasing and emulation. Beta test:
|
||||
* (need rework signal header and make button counter cycle array for encoder).
|
||||
#### Previous changes
|
||||
(need rework signal header and make button counter cycle array for encoder).
|
||||
* Added Spectrum analyzer.
|
||||
* CAME Atomo - Save & Send - beta test, proper work is not guaranteed.
|
||||
* Removed similar frequencies.
|
||||
|
@ -1,72 +0,0 @@
|
||||
# Welcome to FlipperZero contributing guide <!-- omit in toc -->
|
||||
|
||||
Thank you for investing your time in contributing to our project!
|
||||
|
||||
Read our [Code of Coduct](CODE_OF_CONDUCT.md) to keep our community approachable and respectable.
|
||||
|
||||
In this guide you will get an overview of the contribution workflow from opening an issue, creating a PR, reviewing, and merging the PR.
|
||||
|
||||
## New contributor guide
|
||||
|
||||
See the [ReadMe](ReadMe.md) to get an overview of the project. Here are some helpful resources to get you comfortable with open source contribution:
|
||||
|
||||
- [Finding ways to contribute to open source on GitHub](https://docs.github.com/en/get-started/exploring-projects-on-github/finding-ways-to-contribute-to-open-source-on-github)
|
||||
- [Set up Git](https://docs.github.com/en/get-started/quickstart/set-up-git)
|
||||
- [GitHub flow](https://docs.github.com/en/get-started/quickstart/github-flow)
|
||||
- [Collaborating with pull requests](https://docs.github.com/en/github/collaborating-with-pull-requests)
|
||||
|
||||
## Getting started
|
||||
|
||||
Before writing code and creating PR make sure that it aligns with our mission and guidlines:
|
||||
|
||||
- All our devices are intended for research and education.
|
||||
- PR that contains code intended to commit crimes is not going to be accepted.
|
||||
- Your PR must comply with our [Coding Style](CODING_STYLE.md)
|
||||
- Your PR must contain code compatiable with project [LICENSE](LICENSE).
|
||||
- PR will only be merged if it pass CI/CD.
|
||||
- PR will only be merged if it pass review by code owner.
|
||||
|
||||
Feel free to ask questions in issues if you're not sure.
|
||||
|
||||
### Issues
|
||||
|
||||
#### Create a new issue
|
||||
|
||||
If you found a problem, [search if an issue already exists](https://docs.github.com/en/github/searching-for-information-on-github/searching-on-github/searching-issues-and-pull-requests#search-by-the-title-body-or-comments). If a related issue doesn't exist, you can open a new issue using a relevant [issue form](https://github.com/flipperdevices/flipperzero-firmware/issues/new/choose).
|
||||
|
||||
#### Solve an issue
|
||||
|
||||
Scan through our [existing issues](https://github.com/flipperdevices/flipperzero-firmware/issues) to find one that interests you.
|
||||
|
||||
### Make Changes
|
||||
|
||||
1. Fork the repository.
|
||||
- Using GitHub Desktop:
|
||||
- [Getting started with GitHub Desktop](https://docs.github.com/en/desktop/installing-and-configuring-github-desktop/getting-started-with-github-desktop) will guide you through setting up Desktop.
|
||||
- Once Desktop is set up, you can use it to [fork the repo](https://docs.github.com/en/desktop/contributing-and-collaborating-using-github-desktop/cloning-and-forking-repositories-from-github-desktop)!
|
||||
|
||||
- Using the command line:
|
||||
- [Fork the repo](https://docs.github.com/en/github/getting-started-with-github/fork-a-repo#fork-an-example-repository) so that you can make your changes without affecting the original project until you're ready to merge them.
|
||||
|
||||
2. Install build requirements
|
||||
|
||||
3. Create a working branch and start with your changes!
|
||||
|
||||
### Commit your update
|
||||
|
||||
Commit the changes once you are happy with them. Make sure that code compilation is not broken and passes tests. Check syntax and formatting.
|
||||
|
||||
### Pull Request
|
||||
|
||||
When you're done making the changes, open a pull request, often referred to as a PR.
|
||||
- Fill out the "Ready for review" template so we can review your PR. This template helps reviewers understand your changes and the purpose of your pull request.
|
||||
- Don't forget to [link PR to issue](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue) if you are solving one.
|
||||
- Enable the checkbox to [allow maintainer edits](https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/allowing-changes-to-a-pull-request-branch-created-from-a-fork) so the branch can be updated for a merge.
|
||||
Once you submit your PR, a Docs team member will review your proposal. We may ask questions or request for additional information.
|
||||
- We may ask for changes to be made before a PR can be merged, either using [suggested changes](https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/incorporating-feedback-in-your-pull-request) or pull request comments. You can apply suggested changes directly through the UI. You can make any other changes in your fork, then commit them to your branch.
|
||||
- As you update your PR and apply changes, mark each conversation as [resolved](https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/commenting-on-a-pull-request#resolving-conversations).
|
||||
- If you run into any merge issues, checkout this [git tutorial](https://lab.github.com/githubtraining/managing-merge-conflicts) to help you resolve merge conflicts and other issues.
|
||||
|
||||
### Your PR is merged!
|
||||
|
||||
Congratulations :tada::tada: The FlipperDevices team thanks you :sparkles:.
|
27
ReadMe.md
27
ReadMe.md
@ -143,6 +143,33 @@ Use **`flipper-z-{target}-full-{suffix}.dfu`** to flash your device.
|
||||
|
||||
If compilation fails, make sure all submodules are all initialized. Either clone with `--recursive` or use `git submodule update --init --recursive`.
|
||||
|
||||
# Build on macOS
|
||||
|
||||
## macOS Prerequisites
|
||||
|
||||
Make sure you have [brew](https://brew.sh) and install all the dependencies:
|
||||
```sh
|
||||
brew bundle --verbose
|
||||
```
|
||||
|
||||
**P.S. Brewfile has been fixed, so build works now**
|
||||
|
||||
### Compile everything for development
|
||||
|
||||
```sh
|
||||
make
|
||||
```
|
||||
|
||||
### Compile everything for release + get updater package to update from microSD card
|
||||
|
||||
```sh
|
||||
make updater_package TARGET=f7 DEBUG=0 COMPACT=1
|
||||
```
|
||||
|
||||
Check `dist/` for build outputs.
|
||||
|
||||
Use **`flipper-z-{target}-full-{suffix}.dfu`** to flash your device.
|
||||
|
||||
# Apps included
|
||||
|
||||
- [Clock/Stopwatch (By CompaqDisc, Stopwatch & Sound Alert By RogueMaster)](https://github.com/RogueMaster/flipperzero-firmware-wPlugins/blob/unleashed/applications/clock_app/clock_app.c)
|
||||
|
51
RoadMap.md
51
RoadMap.md
@ -1,51 +0,0 @@
|
||||
# RoadMap
|
||||
|
||||
# Where we are (0.x.x branch)
|
||||
|
||||
Our goal for 0.x.x branch is to build stable usable apps and API.
|
||||
First public release that we support in this branch is 0.43.1. Your device most likely came with this version.
|
||||
You can develop applications but keep in mind that API is not final yet.
|
||||
|
||||
## What's already implemented
|
||||
|
||||
**Applications**
|
||||
|
||||
- SubGhz: all most common protocols, reading RAW for everything else
|
||||
- 125kHz RFID: all most common protocols
|
||||
- NFC: reading/emulating Mifare Ultralight, reading MiFare Classic and DESFire, basic EMV, basic NFC-B,F,V
|
||||
- Infrared: all most common RC protocols, RAW format for everything else
|
||||
- GPIO: UART bridge, basic GPIO controls
|
||||
- iButton: DS1990, Cyfral, Metacom
|
||||
- Bad USB: Full USB Rubber Ducky support, some extras for windows alt codes
|
||||
- U2F: Full U2F specification support
|
||||
|
||||
**Extras**
|
||||
|
||||
- BLE Keyboard
|
||||
- Snake game
|
||||
|
||||
**System and HAL**
|
||||
|
||||
- Furi Core
|
||||
- Furi HAL
|
||||
|
||||
# Where we're going (Version 1)
|
||||
|
||||
Main goal for 1.0.0 is to provide first stable version for both Users and Developers.
|
||||
|
||||
## What we're planning to implement in 1.0.0
|
||||
|
||||
- Loading applications from SD (tested as PoC, work scheduled for Q2)
|
||||
- More protocols (gathering feedback)
|
||||
- User documentation (work in progress)
|
||||
- FuriCore: get rid of CMSIS API, replace hard real time timers, improve stability and performance (work in progress)
|
||||
- FuriHal: deep sleep mode, stable API, examples, documentation (work in progress)
|
||||
- Application improvements (a ton of things that we want to add and improve that are too numerous to list here)
|
||||
|
||||
## When will it happen and where I can see the progress?
|
||||
|
||||
Release 1.0.0 will most likely happen around the end of Q3
|
||||
|
||||
Development progress can be tracked in our public Miro board:
|
||||
|
||||
https://miro.com/app/board/uXjVO_3D6xU=/?moveToWidget=3458764522498020058&cot=14
|
56
brew-cask/gcc-arm-embedded.rb
Normal file
56
brew-cask/gcc-arm-embedded.rb
Normal file
@ -0,0 +1,56 @@
|
||||
cask "gcc-arm-embedded" do
|
||||
# Exists as a cask because it is impractical as a formula:
|
||||
# https://github.com/Homebrew/homebrew-core/pull/45780#issuecomment-569246452
|
||||
version "10.3-2021.07,10.14.6"
|
||||
sha256 "cae8b168ad16556ca204c0b441f9fb2c05be85362fe10e3b210be6b7177ef2d7"
|
||||
|
||||
url "https://developer.arm.com/-/media/Files/downloads/gnu-rm/#{version.before_comma}/gcc-arm-none-eabi-#{version.before_comma}-mac-#{version.after_comma}-sha1.pkg"
|
||||
name "GCC ARM Embedded"
|
||||
desc "Pre-built GNU bare-metal toolchain for 32-bit Arm processors"
|
||||
homepage "https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm"
|
||||
|
||||
livecheck do
|
||||
url "https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads"
|
||||
strategy :page_match do |page|
|
||||
match = page.match(/href=.*?gcc-arm-none-eabi-(\d+\.\d+-\d+\.\d+)-mac-(\d+\.\d+\.\d+)-sha1.pkg/i)
|
||||
"#{match[1]},#{match[2]}"
|
||||
end
|
||||
end
|
||||
|
||||
pkg "gcc-arm-none-eabi-#{version.before_comma}-mac-#{version.after_comma}-sha1.pkg"
|
||||
binary "#{appdir}/ARM/bin/arm-none-eabi-addr2line"
|
||||
binary "#{appdir}/ARM/bin/arm-none-eabi-ar"
|
||||
binary "#{appdir}/ARM/bin/arm-none-eabi-as"
|
||||
binary "#{appdir}/ARM/bin/arm-none-eabi-c++"
|
||||
binary "#{appdir}/ARM/bin/arm-none-eabi-c++filt"
|
||||
binary "#{appdir}/ARM/bin/arm-none-eabi-cpp"
|
||||
binary "#{appdir}/ARM/bin/arm-none-eabi-elfedit"
|
||||
binary "#{appdir}/ARM/bin/arm-none-eabi-g++"
|
||||
binary "#{appdir}/ARM/bin/arm-none-eabi-gcc"
|
||||
binary "#{appdir}/ARM/bin/arm-none-eabi-gcc-10.3.1"
|
||||
binary "#{appdir}/ARM/bin/arm-none-eabi-gcc-ar"
|
||||
binary "#{appdir}/ARM/bin/arm-none-eabi-gcc-nm"
|
||||
binary "#{appdir}/ARM/bin/arm-none-eabi-gcc-ranlib"
|
||||
binary "#{appdir}/ARM/bin/arm-none-eabi-gcov"
|
||||
binary "#{appdir}/ARM/bin/arm-none-eabi-gcov-dump"
|
||||
binary "#{appdir}/ARM/bin/arm-none-eabi-gcov-tool"
|
||||
binary "#{appdir}/ARM/bin/arm-none-eabi-gdb"
|
||||
binary "#{appdir}/ARM/bin/arm-none-eabi-gdb-add-index"
|
||||
binary "#{appdir}/ARM/bin/arm-none-eabi-gdb-add-index-py"
|
||||
binary "#{appdir}/ARM/bin/arm-none-eabi-gdb-py"
|
||||
binary "#{appdir}/ARM/bin/arm-none-eabi-gprof"
|
||||
binary "#{appdir}/ARM/bin/arm-none-eabi-ld"
|
||||
binary "#{appdir}/ARM/bin/arm-none-eabi-ld.bfd"
|
||||
binary "#{appdir}/ARM/bin/arm-none-eabi-lto-dump"
|
||||
binary "#{appdir}/ARM/bin/arm-none-eabi-nm"
|
||||
binary "#{appdir}/ARM/bin/arm-none-eabi-objcopy"
|
||||
binary "#{appdir}/ARM/bin/arm-none-eabi-objdump"
|
||||
binary "#{appdir}/ARM/bin/arm-none-eabi-ranlib"
|
||||
binary "#{appdir}/ARM/bin/arm-none-eabi-readelf"
|
||||
binary "#{appdir}/ARM/bin/arm-none-eabi-size"
|
||||
binary "#{appdir}/ARM/bin/arm-none-eabi-strings"
|
||||
binary "#{appdir}/ARM/bin/arm-none-eabi-strip"
|
||||
|
||||
uninstall pkgutil: "gcc.arm-none-eabi-#{version[/^(\d{2})/]}",
|
||||
delete: "/Applications/ARM"
|
||||
end
|
Loading…
Reference in New Issue
Block a user