Skip to content

Commit

Permalink
Merge branch 'dev' into release
Browse files Browse the repository at this point in the history
  • Loading branch information
xMasterX committed Jun 2, 2023
2 parents ef5f6e2 + 0aba595 commit b0e8e68
Show file tree
Hide file tree
Showing 304 changed files with 9,072 additions and 4,453 deletions.
7 changes: 7 additions & 0 deletions .ci_files/anims_ofw.txt
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,13 @@ Min level: 1
Max level: 3
Weight: 3

Name: L1_Kaiju_128x64
Min butthurt: 0
Max butthurt: 10
Min level: 1
Max level: 3
Weight: 4

Name: L2_Wake_up_128x64
Min butthurt: 0
Max butthurt: 12
Expand Down
22 changes: 11 additions & 11 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -30,28 +30,26 @@ bindings/
.mxproject
Brewfile.lock.json

# Visual Studio Code
/.vscode/

# Kate
.kateproject
.kateconfig

# legendary cmake's
build
CMakeLists.txt

# bundle output
dist

# kde
.directory
null.d

# SCons
.sconsign.dblite


# Visual Studio Code
/.vscode

# bundle output
/dist

# SCons build dir
build/
/build

# Toolchain
/toolchain
Expand All @@ -65,3 +63,5 @@ PVS-Studio.log
*.PVS-Studio.*

.gdbinit

/fbt_options_local.py
59 changes: 25 additions & 34 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,40 +1,31 @@
### New changes
* !!! **Warning! After installing, Desktop settings (Favoutite apps, PIN Code, AutoLock time..) will be resetted to default due to settings changes, Please set your PIN code, Favourite apps again in Settings->Desktop** !!!
* If you have copied any apps manually into `apps` folder - remove `apps` folder or that specific apps you copied on your microSD before installing this release to avoid issues due to OFW API version update! If you using regular builds or extra pack builds (e) without your manually added apps, all included apps will be installed automatically, no extra actions needed!
-----
* Desktop: **Show clock on main screen** (Enable in Settings->Desktop->Show Clock) (by @gid9798 | PR #484)
* SubGHz Remote: New plugin - Configurator (Remote Maker) - Now you can create and edit map files on flipper! (by @gid9798 | PR #487)
* SubGHz Remote: Full refactoring, app was re-made from scratch (by @gid9798)
* Archive: Fix rename, show error message to user
* API: Cleanup, mini refactoring of some apps (+6k of free flash space)
* LFRFID: Debug: Allow PSK RAW emulation in gui
* SubGHz: Security+ 2.0 -> add extra custom button `0x78` - Fixes issue #469
* SubGHz: Various fixes (by @gid9798)
* SubGHz: Fix counter settings in debug
* SubGHz: Move dangerous_settings check (by @gid9798 | PR #475)
* Misc: Move NFC plugins into NFC folder
* Misc: Name changer code moved to proper place, load after system startup + extra checks
* Plugins: Merge tiktok and ytshorts remote into one (by @Willy-JL)
* 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: Moved from extra pack to main FW: Mifare Nested [(by AloneLiberty)](https://github.com/AloneLiberty/FlipperNested) - Works with PC and python app `FlipperNested`
* Plugins: Update TOTP (Authenticator) [(by akopachov)](https://github.com/akopachov/flipper-zero_authenticator) (+ Add option to set custom fonts)
* Plugins: Update NMEA GPS UART [(by ezod)](https://github.com/ezod/flipperzero-gps) (GLL support)
* Plugins: Update WiFi Marauder [(by 0xchocolate)](https://github.com/0xchocolate/flipperzero-firmware-with-wifi-marauder-companion)
* OFW PR 2680: RFID - Add support for Nexkey/Nexwatch (by @mauimauer)
* OFW: nfc: Mifare Ultralight C detection
* OFW: api: added toolbox/api_lock.h
* OFW: NFC: Add support for Gen4 "ultimate card" in Magic app
* OFW: desktop: Refactor favorites settings and allow app browser in selection
* OFW: Infrared: respect carrier frequency and duty cycle settings -> **Breaking API change, API version was changed from 26.x to 27.x**
* OFW: Desktop,Rpc: desktop status subscription
* OFW: Storage, common_rename: check that old path is exists
* OFW: Services: remove deallocator for persistent services
* OFW: Storage: common_rename is now POSIX compliant
* OFW: Removed user-specific data from tar artifacts
* OFW: fbt: Fix tar uid overflow when packaging
* OFW: fbt: Use union for old py (Fix builds if using older python versions)
* OFW: USB HID report timeout
* SubGHz Remote: Fixed BinRAW support, + many other fixes (by @gid9798 | PR #492)
* SubGHz: Keeloq mfname refactoring (by @gid9798 | PR #479)
* Desktop Clock: Some improvements and fixes (by @gid9798 | PR #490)
* LF RFID: Cleanup duplicated code (by @gid9798 | PR #493)
* NFC V: Code review fixes + some GUI rework (by @nvx & @xMasterX)
* NFC V: Fixed crash when exiting emulation and starting it again
* Infrared: Use Universal AC Remote from OFW, same for Audio remote, and rename buttons in OFW naming scheme
* Infrared: Update universal remote assets (by @amec0e)
* GUI Keyboard: Fix crash when renaming files with long file name (Fixed issue #489)
* Misc: Fix APP_IDs to match new regex (regex check will be added in OFW soon)
* Plugins: ESP8266 Deauther - Crash fix (Fixed issue #497)
* Plugins: Update -> Mifare Nested [(by AloneLiberty)](https://github.com/AloneLiberty/FlipperNested)
* Plugins: Update -> TOTP (Authenticator) [(by akopachov)](https://github.com/akopachov/flipper-zero_authenticator)
* Plugins: Update -> ESP32: WiFi Marauder companion plugin [(by 0xchocolate)](https://github.com/0xchocolate/flipperzero-wifi-marauder)
* Plugins: Update -> UART Terminal [(by cool4uma)](https://github.com/cool4uma/UART_Terminal/tree/main)
* OFW: NFC: fix MFC timings -> **Fixes issues with Mifare Classic emulation that could happen after unlshd-049 release**
* OFW: Update dolphin.py
* OFW: NFC Magic: Fix gen1 writing with invalid BCC (lost fix from PR 2511)
* OFW: SubGhz: fix flipper crashes after exiting broadcast blocking message and crash cli
* OFW: Dolphin: new animation
* OFW: fbt: added hooks for build & dist environments; added FW_ORIGIN_* macro for apps & SDK
* OFW: FuriHal: add bus abstraction -> **Breaking API change, API version was changed from 27.x to 28.x**
* OFW: Implement support for reading Opal card (Sydney, Australia)
* OFW: BadUSB: script execution pause
* OFW: IR Universal AC: Add Carrier 42QHB12D8S

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

Expand Down
2 changes: 1 addition & 1 deletion ReadMe.md
Original file line number Diff line number Diff line change
Expand Up @@ -143,7 +143,7 @@ You can support us by using links or addresses below:
- WAV Player [(OFW: DrZlo13)](https://github.com/flipperdevices/flipperzero-firmware/tree/zlo/wav-player) - Fixed and improved by [LTVA1](https://github.com/LTVA1/wav_player) -> Also outputs audio on `PA6` - `3(A6)` pin
- Barcode generator plugin [(original by McAzzaMan)](https://github.com/McAzzaMan/flipperzero-firmware/tree/UPC-A_Barcode_Generator/applications/barcode_generator) - [EAN-8 and refactoring](https://github.com/DarkFlippers/unleashed-firmware/pull/154) by @msvsergey
- GPIO: Sentry Safe plugin [(by H4ckd4ddy)](https://github.com/H4ckd4ddy/flipperzero-sentry-safe-plugin)
- ESP32: WiFi Marauder companion plugin [(by 0xchocolate)](https://github.com/0xchocolate/flipperzero-firmware-with-wifi-marauder-companion) - Saving .pcap on flipper microSD [by tcpassos](https://github.com/tcpassos/flipperzero-firmware-with-wifi-marauder-companion) -> Only with custom marauder build (It is necessary to uncomment "#define WRITE_PACKETS_SERIAL" in configs.h (in marauder fw) and compile the firmware for the wifi board.) Or download precompiled build -> [Download esp32_marauder_ver_flipper_sd_serial.bin](https://github.com/justcallmekoko/ESP32Marauder/releases/latest)
- ESP32: WiFi Marauder companion plugin [(by 0xchocolate)](https://github.com/0xchocolate/flipperzero-wifi-marauder) - Saving .pcap on flipper microSD [by tcpassos](https://github.com/tcpassos/flipperzero-firmware-with-wifi-marauder-companion) -> Only with custom marauder build (It is necessary to uncomment "#define WRITE_PACKETS_SERIAL" in configs.h (in marauder fw) and compile the firmware for the wifi board.) Or download precompiled build -> [Download esp32_marauder_ver_flipper_sd_serial.bin](https://github.com/justcallmekoko/ESP32Marauder/releases/latest)
- NRF24: Sniffer & MouseJacker (with changes) [(by mothball187)](https://github.com/mothball187/flipperzero-nrf24/tree/main/mousejacker)
- Simple Clock (timer by GMMan) [(original by CompaqDisc)](https://gist.github.com/CompaqDisc/4e329c501bd03c1e801849b81f48ea61)
- **Sub-GHz Remote** [(by @gid9798)](https://github.com/gid9798)
Expand Down
4 changes: 2 additions & 2 deletions applications/debug/application.fam
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ App(
"vibro_test",
"keypad_test",
"usb_test",
"USB_Mouse",
"UART_Echo",
"usb_mouse",
"uart_echo",
"display_test",
"text_box_test",
"file_browser_test",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,7 @@ void lfrfid_debug_scene_tune_on_enter(void* context) {
furi_hal_rfid_comp_set_callback(comparator_trigger_callback, app);
furi_hal_rfid_comp_start();

furi_hal_rfid_pins_read();
furi_hal_rfid_tim_read(125000, 0.5);
furi_hal_rfid_tim_read_start();
furi_hal_rfid_tim_read_start(125000, 0.5);

view_dispatcher_switch_to_view(app->view_dispatcher, LfRfidDebugViewTune);
}
Expand All @@ -43,6 +41,5 @@ void lfrfid_debug_scene_tune_on_exit(void* context) {

furi_hal_gpio_init_simple(&gpio_ext_pa7, GpioModeAnalog);
furi_hal_rfid_tim_read_stop();
furi_hal_rfid_tim_reset();
furi_hal_rfid_pins_reset();
}
2 changes: 1 addition & 1 deletion applications/debug/uart_echo/application.fam
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
App(
appid="UART_Echo",
appid="uart_echo",
name="UART Echo",
apptype=FlipperAppType.DEBUG,
entry_point="uart_echo_app",
Expand Down
61 changes: 52 additions & 9 deletions applications/debug/unit_tests/nfc/nfc_test.c
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,12 @@ static const uint32_t nfc_test_file_version = 1;
#define NFC_TEST_DATA_MAX_LEN 18
#define NFC_TETS_TIMINGS_MAX_LEN 1350

// Maximum allowed time for buffer preparation to fit 500us nt message timeout
#define NFC_TEST_4_BYTE_BUILD_BUFFER_TIM_MAX (150)
#define NFC_TEST_16_BYTE_BUILD_BUFFER_TIM_MAX (640)
#define NFC_TEST_4_BYTE_BUILD_SIGNAL_TIM_MAX (110)
#define NFC_TEST_16_BYTE_BUILD_SIGNAL_TIM_MAX (440)

typedef struct {
Storage* storage;
NfcaSignal* signal;
Expand Down Expand Up @@ -89,13 +95,13 @@ static bool nfc_test_read_signal_from_file(const char* file_name) {

static bool nfc_test_digital_signal_test_encode(
const char* file_name,
uint32_t encode_max_time,
uint32_t build_signal_max_time_us,
uint32_t build_buffer_max_time_us,
uint32_t timing_tolerance,
uint32_t timings_sum_tolerance) {
furi_assert(nfc_test);

bool success = false;
uint32_t time = 0;
uint32_t dut_timings_sum = 0;
uint32_t ref_timings_sum = 0;
uint8_t parity[10] = {};
Expand All @@ -109,17 +115,37 @@ static bool nfc_test_digital_signal_test_encode(

// Encode signal
FURI_CRITICAL_ENTER();
time = DWT->CYCCNT;
uint32_t time_start = DWT->CYCCNT;

nfca_signal_encode(
nfc_test->signal, nfc_test->test_data, nfc_test->test_data_len * 8, parity);

uint32_t time_signal =
(DWT->CYCCNT - time_start) / furi_hal_cortex_instructions_per_microsecond();

time_start = DWT->CYCCNT;

digital_signal_prepare_arr(nfc_test->signal->tx_signal);
time = (DWT->CYCCNT - time) / furi_hal_cortex_instructions_per_microsecond();

uint32_t time_buffer =
(DWT->CYCCNT - time_start) / furi_hal_cortex_instructions_per_microsecond();
FURI_CRITICAL_EXIT();

// Check timings
if(time > encode_max_time) {
if(time_signal > build_signal_max_time_us) {
FURI_LOG_E(
TAG, "Encoding time: %ld us while accepted value: %ld us", time, encode_max_time);
TAG,
"Build signal time: %ld us while accepted value: %ld us",
time_signal,
build_signal_max_time_us);
break;
}
if(time_buffer > build_buffer_max_time_us) {
FURI_LOG_E(
TAG,
"Build buffer time: %ld us while accepted value: %ld us",
time_buffer,
build_buffer_max_time_us);
break;
}

Expand Down Expand Up @@ -156,7 +182,16 @@ static bool nfc_test_digital_signal_test_encode(
break;
}

FURI_LOG_I(TAG, "Encoding time: %ld us. Acceptable time: %ld us", time, encode_max_time);
FURI_LOG_I(
TAG,
"Build signal time: %ld us. Acceptable time: %ld us",
time_signal,
build_signal_max_time_us);
FURI_LOG_I(
TAG,
"Build buffer time: %ld us. Acceptable time: %ld us",
time_buffer,
build_buffer_max_time_us);
FURI_LOG_I(
TAG,
"Timings sum difference: %ld [1/64MHZ]. Acceptable difference: %ld [1/64MHz]",
Expand All @@ -171,11 +206,19 @@ static bool nfc_test_digital_signal_test_encode(
MU_TEST(nfc_digital_signal_test) {
mu_assert(
nfc_test_digital_signal_test_encode(
NFC_TEST_RESOURCES_DIR NFC_TEST_SIGNAL_SHORT_FILE, 500, 1, 37),
NFC_TEST_RESOURCES_DIR NFC_TEST_SIGNAL_SHORT_FILE,
NFC_TEST_4_BYTE_BUILD_SIGNAL_TIM_MAX,
NFC_TEST_4_BYTE_BUILD_BUFFER_TIM_MAX,
1,
37),
"NFC short digital signal test failed\r\n");
mu_assert(
nfc_test_digital_signal_test_encode(
NFC_TEST_RESOURCES_DIR NFC_TEST_SIGNAL_LONG_FILE, 2000, 1, 37),
NFC_TEST_RESOURCES_DIR NFC_TEST_SIGNAL_LONG_FILE,
NFC_TEST_16_BYTE_BUILD_SIGNAL_TIM_MAX,
NFC_TEST_16_BYTE_BUILD_BUFFER_TIM_MAX,
1,
37),
"NFC long digital signal test failed\r\n");
}

Expand Down
2 changes: 1 addition & 1 deletion applications/debug/usb_mouse/application.fam
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
App(
appid="USB_Mouse",
appid="usb_mouse",
name="USB Mouse",
apptype=FlipperAppType.DEBUG,
entry_point="usb_mouse_app",
Expand Down
2 changes: 1 addition & 1 deletion applications/external/arkanoid/application.fam
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
App(
appid="Arkanoid",
appid="arkanoid",
name="Arkanoid",
apptype=FlipperAppType.EXTERNAL,
entry_point="arkanoid_game_app",
Expand Down
1 change: 0 additions & 1 deletion applications/external/bad_bt/application.fam
Original file line number Diff line number Diff line change
Expand Up @@ -13,5 +13,4 @@ App(
fap_category="Tools",
fap_icon="images/badbt_10px.png",
fap_icon_assets="images",
fap_icon_assets_symbol="bad_bt",
)
2 changes: 1 addition & 1 deletion applications/external/barcode_generator/application.fam
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
App(
appid="Barcode_Generator",
appid="barcode_generator",
name="Barcode Generator",
apptype=FlipperAppType.EXTERNAL,
entry_point="barcode_generator_app",
Expand Down
2 changes: 1 addition & 1 deletion applications/external/blackjack/application.fam
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
App(
appid="Blackjack",
appid="blackjack",
name="Blackjack",
apptype=FlipperAppType.EXTERNAL,
entry_point="blackjack_app",
Expand Down
2 changes: 1 addition & 1 deletion applications/external/blackjack/blackjack.c
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
#include "util.h"
#include "ui.h"

#include "Blackjack_icons.h"
#include "blackjack_icons.h"

#define DEALER_MAX 17

Expand Down
2 changes: 1 addition & 1 deletion applications/external/doom/application.fam
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
App(
appid="DOOM",
appid="doom",
name="DOOM",
apptype=FlipperAppType.EXTERNAL,
entry_point="doom_app",
Expand Down
2 changes: 1 addition & 1 deletion applications/external/esp8266_deauth/application.fam
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
App(
appid="ESP8266_Deauther",
appid="esp8266_deauther",
name="[ESP8266] Deauther",
apptype=FlipperAppType.EXTERNAL,
entry_point="esp8266_deauth_app",
Expand Down
6 changes: 3 additions & 3 deletions applications/external/esp8266_deauth/esp8266_deauth.c
Original file line number Diff line number Diff line change
Expand Up @@ -371,8 +371,8 @@ int32_t esp8266_deauth_app(void* p) {
view_port_input_callback_set(view_port, esp8266_deauth_module_input_callback, event_queue);

// Open GUI and register view_port
Gui* gui = furi_record_open(RECORD_GUI);
gui_add_view_port(gui, view_port, GuiLayerFullscreen);
app->m_gui = furi_record_open(RECORD_GUI);
gui_add_view_port(app->m_gui, view_port, GuiLayerFullscreen);

//notification_message(app->notification, &sequence_set_only_blue_255);

Expand Down Expand Up @@ -513,7 +513,7 @@ int32_t esp8266_deauth_app(void* p) {

view_port_enabled_set(view_port, false);

gui_remove_view_port(gui, view_port);
gui_remove_view_port(app->m_gui, view_port);

// Close gui record
furi_record_close(RECORD_GUI);
Expand Down
2 changes: 1 addition & 1 deletion applications/external/flappy_bird/application.fam
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
App(
appid="FlappyBird",
appid="flappy_bird",
name="Flappy Bird",
apptype=FlipperAppType.EXTERNAL,
entry_point="flappy_game_app",
Expand Down
2 changes: 1 addition & 1 deletion applications/external/flappy_bird/flappy_bird.c
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#include <stdlib.h>

#include <FlappyBird_icons.h>
#include <flappy_bird_icons.h>
#include <furi.h>
#include <gui/gui.h>
#include <gui/icon_animation_i.h>
Expand Down
2 changes: 1 addition & 1 deletion applications/external/flipfrid/application.fam
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
App(
appid="RFID_Fuzzer",
appid="rfid_fuzzer",
name="RFID Fuzzer",
apptype=FlipperAppType.EXTERNAL,
entry_point="flipfrid_start",
Expand Down
2 changes: 1 addition & 1 deletion applications/external/flipfrid/flipfrid.h
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
#include <toolbox/stream/file_stream.h>
#include <toolbox/stream/buffered_file_stream.h>

#include <RFID_Fuzzer_icons.h>
#include <rfid_fuzzer_icons.h>

#include <lib/lfrfid/lfrfid_worker.h>
#include <lfrfid/protocols/lfrfid_protocols.h>
Expand Down
2 changes: 1 addition & 1 deletion applications/external/flipper_i2ctools/application.fam
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
App(
appid="i2cTools",
appid="i2c_tools",
name="[GPIO] i2c Tools",
apptype=FlipperAppType.EXTERNAL,
entry_point="i2ctools_app",
Expand Down
Loading

0 comments on commit b0e8e68

Please sign in to comment.