Skip to content

Commit

Permalink
Initial Changes
Browse files Browse the repository at this point in the history
  • Loading branch information
RogueMaster committed May 24, 2023
1 parent 3217f28 commit 37b3a04
Show file tree
Hide file tree
Showing 156 changed files with 4,866 additions and 511 deletions.
73 changes: 1 addition & 72 deletions .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
@@ -1,72 +1 @@
# Who owns all the fish by default
* @skotopes @DrZlo13 @hedger

# Apps
/applications/debug/bt_debug_app/ @skotopes @DrZlo13 @hedger @gornekich
/applications/debug/accessor/ @skotopes @DrZlo13 @hedger @nminaylov
/applications/debug/battery_test_app/ @skotopes @DrZlo13 @hedger @gornekich
/applications/debug/bt_debug_app/ @skotopes @DrZlo13 @hedger @gornekich
/applications/debug/file_browser_test/ @skotopes @DrZlo13 @hedger @nminaylov
/applications/debug/lfrfid_debug/ @skotopes @DrZlo13 @hedger @nminaylov
/applications/debug/text_box_test/ @skotopes @DrZlo13 @hedger @nminaylov
/applications/debug/uart_echo/ @skotopes @DrZlo13 @hedger @nminaylov
/applications/debug/usb_mouse/ @skotopes @DrZlo13 @hedger @nminaylov
/applications/debug/usb_test/ @skotopes @DrZlo13 @hedger @nminaylov

/applications/main/archive/ @skotopes @DrZlo13 @hedger @nminaylov
/applications/main/bad_usb/ @skotopes @DrZlo13 @hedger @nminaylov
/applications/main/gpio/ @skotopes @DrZlo13 @hedger @nminaylov
/applications/main/ibutton/ @skotopes @DrZlo13 @hedger @gsurkov
/applications/main/infrared/ @skotopes @DrZlo13 @hedger @gsurkov
/applications/main/nfc/ @skotopes @DrZlo13 @hedger @gornekich @Astrrra
/applications/main/subghz/ @skotopes @DrZlo13 @hedger @Skorpionm
/applications/main/u2f/ @skotopes @DrZlo13 @hedger @nminaylov

/applications/external/bt_hid_app/ @skotopes @DrZlo13 @hedger @gornekich
/applications/external/picopass/ @skotopes @DrZlo13 @hedger @gornekich

/applications/services/bt/ @skotopes @DrZlo13 @hedger @gornekich
/applications/services/cli/ @skotopes @DrZlo13 @hedger @nminaylov
/applications/services/crypto/ @skotopes @DrZlo13 @hedger @nminaylov
/applications/services/desktop/ @skotopes @DrZlo13 @hedger @nminaylov
/applications/services/dolphin/ @skotopes @DrZlo13 @hedger @nminaylov
/applications/services/power/ @skotopes @DrZlo13 @hedger @gornekich
/applications/services/rpc/ @skotopes @DrZlo13 @hedger @nminaylov

/applications/services/bt_settings_app/ @skotopes @DrZlo13 @hedger @gornekich
/applications/services/desktop_settings/ @skotopes @DrZlo13 @hedger @nminaylov
/applications/services/dolphin_passport/ @skotopes @DrZlo13 @hedger @nminaylov
/applications/services/power_settings_app/ @skotopes @DrZlo13 @hedger @gornekich

/applications/system/storage_move_to_sd/ @skotopes @DrZlo13 @hedger @nminaylov

/applications/debug/unit_tests/ @skotopes @DrZlo13 @hedger @nminaylov @gornekich @Astrrra @gsurkov @Skorpionm

/applications/examples/example_thermo/ @skotopes @DrZlo13 @hedger @gsurkov

# Firmware targets
/firmware/ @skotopes @DrZlo13 @hedger @nminaylov

# Assets
/assets/resources/infrared/ @skotopes @DrZlo13 @hedger @gsurkov

# Documentation
/documentation/ @skotopes @DrZlo13 @hedger @drunkbatya
/scripts/toolchain/ @skotopes @DrZlo13 @hedger @drunkbatya

# Lib
/lib/ST25RFAL002/ @skotopes @DrZlo13 @hedger @gornekich
/lib/stm32wb_copro/ @skotopes @DrZlo13 @hedger @gornekich
/lib/digital_signal/ @skotopes @DrZlo13 @hedger @gornekich
/lib/infrared/ @skotopes @DrZlo13 @hedger @gsurkov
/lib/lfrfid/ @skotopes @DrZlo13 @hedger @nminaylov
/lib/libusb_stm32/ @skotopes @DrZlo13 @hedger @nminaylov
/lib/mbedtls/ @skotopes @DrZlo13 @hedger @nminaylov
/lib/micro-ecc/ @skotopes @DrZlo13 @hedger @nminaylov
/lib/nanopb/ @skotopes @DrZlo13 @hedger @nminaylov
/lib/nfc/ @skotopes @DrZlo13 @hedger @gornekich @Astrrra
/lib/one_wire/ @skotopes @DrZlo13 @hedger @gsurkov
/lib/subghz/ @skotopes @DrZlo13 @hedger @Skorpionm

# CI/CD
/.github/workflows/ @skotopes @DrZlo13 @hedger @drunkbatya
* @RogueMaster
13 changes: 13 additions & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# These are supported funding model platforms

github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
patreon: RogueMaster
open_collective: # Replace with a single Open Collective username
ko_fi: # Replace with a single Ko-fi username
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
liberapay: # Replace with a single Liberapay username
issuehunt: # Replace with a single IssueHunt username
otechie: # Replace with a single Otechie username
lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry
custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
2 changes: 1 addition & 1 deletion .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,6 @@

# Checklist (For Reviewer)

- [ ] PR has description of feature/bug or link to Confluence/Jira task
- [ ] PR has description of feature/bug
- [ ] Description contains actions to verify feature/bugfix
- [ ] I've built this code, uploaded it to the device and verified feature/bugfix
7 changes: 7 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ dist

# kde
.directory
null.d

# SCons
.sconsign.dblite
Expand All @@ -64,3 +65,9 @@ PVS-Studio.log
*.PVS-Studio.*

.gdbinit

RM*-*.tgz
RM*-*.zip
RM*-*.txt
RM*-*-*/
RM-*.sh
16 changes: 8 additions & 8 deletions .vscode/example/tasks.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
"label": "[Debug] Build",
"group": "build",
"type": "shell",
"command": "./fbt"
"command": "./fbt FIRMWARE_APP_SET=debug_pack"
},
{
"label": "[Release] Flash (ST-Link)",
Expand All @@ -25,7 +25,7 @@
"label": "[Debug] Flash (ST-Link)",
"group": "build",
"type": "shell",
"command": "./fbt FORCE=1 flash"
"command": "./fbt FIRMWARE_APP_SET=debug_pack FORCE=1 flash"
},
{
"label": "[Release] Flash (blackmagic)",
Expand All @@ -37,7 +37,7 @@
"label": "[Debug] Flash (blackmagic)",
"group": "build",
"type": "shell",
"command": "./fbt FORCE=1 flash_blackmagic"
"command": "./fbt FIRMWARE_APP_SET=debug_pack FORCE=1 flash_blackmagic"
},
{
"label": "[Release] Flash (JLink)",
Expand All @@ -49,7 +49,7 @@
"label": "[Debug] Flash (JLink)",
"group": "build",
"type": "shell",
"command": "./fbt FORCE=1 jflash"
"command": "./fbt FIRMWARE_APP_SET=debug_pack FORCE=1 jflash"
},
{
"label": "[Release] Build update bundle",
Expand All @@ -61,7 +61,7 @@
"label": "[Debug] Build update bundle",
"group": "build",
"type": "shell",
"command": "./fbt updater_package"
"command": "./fbt FIRMWARE_APP_SET=debug_pack updater_package"
},
{
"label": "[Release] Build updater",
Expand All @@ -73,13 +73,13 @@
"label": "[Debug] Build updater",
"group": "build",
"type": "shell",
"command": "./fbt updater_all"
"command": "./fbt FIRMWARE_APP_SET=debug_pack updater_all"
},
{
"label": "[Debug] Flash (USB, w/o resources)",
"group": "build",
"type": "shell",
"command": "./fbt FORCE=1 flash_usb"
"command": "./fbt FIRMWARE_APP_SET=debug_pack FORCE=1 flash_usb"
},
{
"label": "[Release] Flash (USB, w/o resources)",
Expand All @@ -97,7 +97,7 @@
"label": "[Debug] Flash (USB, with resources)",
"group": "build",
"type": "shell",
"command": "./fbt FORCE=1 flash_usb_full"
"command": "./fbt FIRMWARE_APP_SET=debug_pack FORCE=1 flash_usb_full"
},
{
"label": "[Release] Flash (USB, with resources)",
Expand Down
7 changes: 7 additions & 0 deletions Brewfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
cask "brew-cask/gcc-arm-embedded.rb"
brew "protobuf"
brew "gdb"
brew "open-ocd"
brew "clang-format"
brew "dfu-util"
brew "protobuf-c"
33 changes: 33 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
### New changes
* SubGHz Remote: Full refactoring, app was re-made from scratch (by @gid9798)
* API: Cleanup, mini refactoring of some apps (+6k of free flash space)
* SubGHz: Various fixes (by @gid9798)
* SubGHz: Fix counter settings in debug
* SubGHz: Move dangerous_settings check (by @gid9798 | PR #475)
* Misc: Name changer code moved to proper place, load after system startup + extra checks
* Plugins: NMEA GPS UART - stability fix
* Plugins: Port XFW keyboard with extra symbols to WiFi Marauder instead of using UART Term keyboard (thanks to @Willy-JL)
* Plugins: Update WiFi Marauder [(by 0xchocolate)](https://github.com/0xchocolate/flipperzero-firmware-with-wifi-marauder-companion)
* OFW: fbt: Use union for old py (Fix builds if using older python versions)
* OFW PR 2682: USB HID report timeout (by nminaylov)

#### [🎲 Download latest extra apps pack](https://github.com/xMasterX/all-the-plugins/archive/refs/heads/main.zip)

[-> How to install firmware](https://github.com/DarkFlippers/unleashed-firmware/blob/dev/documentation/HowToInstall.md)

[-> Download qFlipper (official link)](https://flipperzero.one/update)

### Thanks to our sponsors:
callmezimbra, Quen0n, MERRON, grvpvl (lvpvrg), art_col, ThurstonWaffles, Moneron, UterGrooll, LUCFER, Northpirate, zloepuzo, T.Rat, Alexey B., ionelife, ...
and all other great people who supported our project and me (xMasterX), thanks to you all!

**Note: To avoid issues with .dfu, prefer installing using .tgz with qFlipper, web updater or by self update package, all needed assets will be installed**

**Recommended option - Web Updater**

What means `n` or `e` in - `flipper-z-f7-update-(version)(n / e).tgz` ? - `n` means this build comes without our custom animations, only official flipper animations,
`e` means build has extra apps pack preinstalled

Self-update package (update from microSD) - `flipper-z-f7-update-(version).zip` or download `.tgz` for mobile app / qFlipper


2 changes: 1 addition & 1 deletion CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ representative at an online or offline event.

Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported to the community leaders responsible for enforcement at
hello@flipperdevices.com.
[our Discord](https://discord.gg/gF2bBUzAFe).
All complaints will be reviewed and investigated promptly and fairly.

All community leaders are obligated to respect the privacy and security of the
Expand Down
6 changes: 3 additions & 3 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,8 @@ Before writing code and creating PR make sure that it aligns with our mission an
- 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 compatible with project [LICENSE](LICENSE).
- PR will only be merged if it passes CI/CD.
- PR will only be merged if it passes review by code owner.
- 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.

Expand Down Expand Up @@ -59,7 +59,7 @@ Commit the changes once you are happy with them. Make sure that code compilation
### 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.
- 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.
Expand Down
16 changes: 16 additions & 0 deletions GAMES_ONLY.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
## Settings: Desktop=>Games Only (By RogueMaster)
- - DESKTOP LOOKS THE SAME WITH BATTERY AND IDLE ANIMATION
- - EXIT OF GAMES OR LOCK GOES BACK TO GAMES ONLY MODE
- - RESTARTING REMEMBERS YOU ARE IN GAMES ONLY MODE
- - HOLD BACK TO TURN OFF FLIPPER
- - UP FOR SNAKE
- - LEFT FOR TETRIS
- - CENTER FOR DICE
- - DOWN FOR 2048
- - HOLD UP FOR DOOM
- - HOLD LEFT FOR CLOCK
- - HOLD CENTER TO CHANGE IDLE ANIMATION
- - HOLD DOWN FOR ZOMBIEZ
- - RIGHT ALWAYS WILL GO TO PASSPORT
- - Enter Games Only mode from Settings=>Desktop OR:
### FROM CLOCK: UP UP DOWN DOWN LEFT RIGHT LEFT RIGHT - ENTER/EXIT GAME MODE
103 changes: 103 additions & 0 deletions MACOS_GUIDE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
# **macOS compile guide** by deafbed
### Tested with M1 Macbook Air, macOS Monterey (12.4)

* *(NB: do NOT include the "$ " if copying/pasting any of the below commands)*

## FROM SCRATCH

### Install qFlipper
qFlipper can be found on the App Store or you can download it from [https://flipperzero.one/update](https://flipperzero.one/update)

### Install Brew
Open Terminal.app and run

`$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"`

**IMPORTANT:** once installed, run the two commands given to you ("Next steps")

*(first should begin `$ echo 'eval...'`, second should begin `$ eval "$(/opt/...))`*

Quit and re-open Terminal.app, then run

`$ brew help`

to check if the installation was successful

### Install Docker Desktop
Download the appropriate version (Intel/M1) of Docker Desktop from
[https://docs.docker.com/desktop/mac/install/](https://docs.docker.com/desktop/mac/install/)

*(If the downloaded file has no extension/won't open, simply append .dmg to the filename)*

Open Docker.dmg and drag Docker.app to the Applications folder

Eject Docker.dmg from the sidebar, navigate to your Applications folder and open Docker. Install as prompted and wait a few seconds until Docker is running

Quit and re-open Terminal, and run

`$ docker help`

to check if the install was successful


### Make sure PIP is up-to-date
Still in Terminal, run

`$ python3 -m pip install --upgrade pip`

### Download the firmware
Next, run

`$ git clone --recursive https://github.com/RogueMaster/flipperzero-firmware-wPlugins.git`

This will download the latest build files from the github repository (in this case most likely to your Home folder)

### Install the necessary prerequisites
Navigate to the folder you just downloaded

`$ cd flipperzero-firmware-wPlugins`

Next, we run 2 scripts to download the remaining requirements. First:

`$ brew bundle --verbose`

Then:

`$ pip3 install -r scripts/requirements.txt`

### Compile
Make sure Docker is still open, if not open Docker.app

In Terminal, still in the flipperzero-firmware-wPlugins directory, run

`$ docker-compose up -d`

Then:

`$ docker-compose exec dev ./fbt`

It may take a while and you might see some errors but if all goes well the compiled firmware (DFU) file should now be in **flipperzero-firmware-wPlugins/dist/f7-C/flipper-z-f7-full-local.dfu**

### Put your Flipper into Recovery/DFU mode
Put your flipper into DFU mode by:

1. holding BACK + LEFT until it turns off
2. once turned off, release BACK but keep holding LEFT until the LED flashes blue
3. once the LED flashes blue, release LEFT and your Flipper should be in recovery mode

### Install the firmware
Open qFlipper.app

Connect your Flipper via USB

In qFlipper, click "Install from file" (underneath the big INSTALL button)

Navigate to your DFU file (**flipperzero-firmware-wPlugins/dist/f7-C/flipper-z-f7-full-local.dfu**)

Wait for the process to finish. If your Flipper device is no longer in DFU mode (i.e. shows the normal Desktop), unplug your Flipper and close the qFlipper app

### Post-Install
Open qFlipper.app and connect your Flipper via USB

If everything worked, your Flipper should be recognized and the firmware version should match the github commit shown here:
[https://github.com/RogueMaster/flipperzero-firmware-wPlugins](https://github.com/RogueMaster/flipperzero-firmware-wPlugins)
Loading

0 comments on commit 37b3a04

Please sign in to comment.