fix macOS builds & update changelog

This commit is contained in:
Eng1n33r 2022-06-14 02:45:06 +03:00
parent f08630849b
commit 056e5f2c47
6 changed files with 90 additions and 127 deletions

View File

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

View File

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

View File

@ -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:.

View File

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

View File

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

View 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