Commit Graph

238 Commits

Author SHA1 Message Date
Willy-JL b8a6579379 Merge remote-tracking branch 'ofw/dev' into mntm-dev 2024-08-05 20:05:13 +02:00
あく 4d985ba8f8 Storage: remove LFS (#3577)
* Storage: drop internal storage

* Storage: rollback some unnecessary changes

* Storage: rollback some unnecessary changes part 2

* Storage: cleanup various defines and int handling. Ble: allow short connection interval if internal flash is not used.

* Storage: do not return storage if it is not ready

* Save PIN code to RTC, update settings

* Simplify the code, clean up includes

* Rearrange some code

* apps: storage_move_to_sd: conditionally enable with --extra-define=STORAGE_INT_ON_LFS

* Load Desktop settings automatically

* Redirect /any to /ext

* Abolish storage_move_to_sd app

* Remove as many mentions of ANY_PATH as possible

* Fix desktop settings wrongly not loading

* Improve desktop settings handling and strings

* Load BLE settings and keys automatically

* Improve BLE configuration procedure

* Do not load bluetooth keys twice if they were already loaded

* Load dolphin state automatically

* Fix merge artifact

* Load notification settings automatically

* Update desktop settings strings

* Load expansion settings automatically

* Do not use thread signals to reload desktop settings

* Load region data automatically, separate to its own hook

* Improve ble behaviour with no keys

* Fix Dolphin state not resetting correctly

* Add a status check

* Make Desktop save its own settings

* Check result when taking and releasing mutex

* Improve default thread signal handling in FuriEventLoop

* Make bt service in charge of saving settings, add settings api

* Fix a deadlock due to timer thread not receiving time

* Lock core2 when reinitialising bt

* Update clang-format

* Revert "Update clang-format"

This reverts commit d61295ac063c6ec879375ceeab54d6ff2c90a9a1.

* Format sources with clang-format

* Revert old stack size for desktop settings

* Allocate big struct dynamically

* Simplify PIN comparison

* Save pointer to storage in Desktop object

* Fix region provisioning for hardware regions

* Remove stale TODO + siimplify code

* Clean up region.c

* Use sizeof instead of macro define

* Limit PIN length to 10 for consistency

* Emit a warning upon usage of /any

* Add delay after finding flipper

* Remove unnecessary delay

* Remove all mentions of STORAGE_INT_ON_LFS

* Remove littlefs and internal storage

* Remove all possible LittleFS mentions

* Fix browser tab in Archive

* Ble: fix connection interval explanation

* Bump API Symbols

* BLE: Update comments interval connection comments

* Storage: clear FuriHalRtcFlagStorageFormatInternal if set

---------

Co-authored-by: Georgii Surkov <georgii.surkov@outlook.com>
Co-authored-by: hedger <hedger@nanode.su>
Co-authored-by: Georgii Surkov <37121527+gsurkov@users.noreply.github.com>
2024-08-04 10:54:02 +01:00
Willy-JL e5ccb3821e Merge remote-tracking branch 'ofw/dev' into mntm-dev 2024-08-01 00:05:36 +02:00
Astra f73d60cba8 [FL-3766] Refactor detected protocols list (#3809)
* Refactor detected protocols list
* nfc app: fix detect protocols file name
* nfc app: fix function naming
* nfc app: fix detected protocol menu selection

Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: あく <alleteam@gmail.com>
Co-authored-by: gornekich <n.gorbadey@gmail.com>
2024-08-01 06:37:37 +09:00
Willy-JL 2eaf1ffc95 New formatting 2024-07-15 22:32:17 +01:00
Willy-JL 02f7207d28 Merge remote-tracking branch 'ofw/dev' into mntm-dev 2024-07-15 22:18:35 +01:00
hedger ffa3996a5e [FL-3867] Code formatting update (#3765)
* clang-format: AllowShortEnumsOnASingleLine: false
* clang-format: InsertNewlineAtEOF: true
* clang-format: Standard:        c++20
* clang-format: AlignConsecutiveBitFields
* clang-format: AlignConsecutiveMacros
* clang-format: RemoveParentheses: ReturnStatement
* clang-format: RemoveSemicolon: true
* Restored RemoveParentheses: Leave, retained general changes for it
* formatting: fixed logging TAGs
* Formatting update for dev

Co-authored-by: あく <alleteam@gmail.com>
2024-07-15 13:38:49 +09:00
Willy-JL fa06d15612 Merge remote-tracking branch 'ofw/dev' into mntm-dev 2024-07-13 23:55:10 +01:00
Zinong Li 5f9d68f3ad NFC: ISO15693 Render Typo Fix (#3784)
* Fixed the bug showing IC reference value as DSFID.
2024-07-14 00:05:54 +04:00
Willy-JL 9f03cdb721 Merge branch 'dev' of https://github.com/flipperdevices/flipperzero-firmware into mntm-dev 2024-07-06 19:44:49 +02:00
あく d39c3b3776 Fix PVS Warnings (#3760) 2024-07-06 15:05:29 +01:00
WillyJL a0eab5a371 NFC: Cache plugin name not full path, saves some RAM (#3737)
* NFC: Cache plugin name not full path, saves some RAM
* Remove file_path FuriString from context

Co-authored-by: あく <alleteam@gmail.com>
Co-authored-by: gornekich <gornekich@users.noreply.github.com>
2024-07-06 13:18:48 +01:00
Willy-JL 0f4f844ff1 Format for toolchain 37, update changelog 2024-07-05 20:07:11 +02:00
Willy-JL 57f377af58 Merge remote-tracking branch 'fork-ofw/nfc-plugin-cache-names' into mntm-dev 2024-07-05 17:54:14 +02:00
Willy-JL 7ef699d9f6 Merge branch 'dev' of https://github.com/flipperdevices/flipperzero-firmware into mntm-dev 2024-07-04 00:08:00 +02:00
WillyJL 1abd374aa1 Merge branch 'dev' into nfc-plugin-cache-names 2024-07-03 23:13:05 +02:00
Willy-JL 7afe6906d0 Remove file_path FuriString from context
Co-authored-by: gornekich <gornekich@users.noreply.github.com>
2024-07-03 23:11:33 +02:00
RebornedBrain 3224401479 [FL-3835] Ultralight C authentication with des key (#3720)
* Update api_symbols.csv
* Ultralight C 3des implementation added
* Access check for Ultralight cards is now splitted into 2 functions one for ULC card and another for common
* Ultralight C authentication command handlers added
* Update api_symbols.csv and api_symbols.csv
* Length added to ultralight encrypt function
* New structure for storing 3des key added
* Reseting of 3des_key added
* des_context init/deinit added to poller
* New poller step for ultralight c auth added
* Added ultralight c des key to application
* Renamed felica unlock scenes to more generic des auth scenes, because they are now used also for ultralight c
* Show different menus for different ultralight card types
* Update api_symbols.csv and api_symbols.csv
* Some macro defines added
* Different amount of pages will be now read for ultralight C and others
* New unit test for ultralight C
* Some comments and macro replacements
* New function added to api
* Now all data read checks mfulC separately
* Adjusted listener to handle missing 3des_key properly
* Now poller populates 3des_key after reading with auth to card data
* Nfc: rename _3des_key to tdes_key
* Bump API Symbols
* Mute PVS Warnings

Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: gornekich <n.gorbadey@gmail.com>
Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2024-07-03 12:38:30 +01:00
Willy-JL 91e44d5b2f NFC: Cache plugin name not full path, saves some RAM 2024-06-26 21:20:36 +02:00
Willy-JL 5f2923780b NFC: Cache plugin name not full path, saves some RAM 2024-06-26 21:11:01 +02:00
Willy-JL 56ba3b3fb8 Merge branch 'dev' of https://github.com/flipperdevices/flipperzero-firmware into mntm-dev --nobuild
IR univeral not merged as commands are all already present here
2024-06-25 19:16:11 +02:00
Zinong Li a881816673 NFC: Desfire Renderer Minor Debug (#3731)
* Update mf_desfire_render.c

Co-authored-by: あく <alleteam@gmail.com>
2024-06-25 14:37:50 +01:00
Willy-JL 0660cde8de NFC: EMV Transactions less nested, hide if unavailable 2024-06-25 04:35:07 +02:00
Willy-JL ea63af1863 Merge branch 'dev' of https://github.com/flipperdevices/flipperzero-firmware into mntm-dev 2024-06-17 21:47:13 +02:00
gornekich 729db7fa98 [FL-3857] NFC Ultralight Original write support (#3718)
* mf ultralight: rename ultralight unknown to origin
* nfc app: add write to origin support for origin ultralights
* mf ultralight: add orig write support on lib level
* targets: bump major API version
2024-06-17 15:20:35 +01:00
Astra ecd324dd1c [FL-3856] Don't crash on reading weird cards (#3717)
* Don't crash on reading weird cards
* mf plus: fix incorrect read fail event handler

Co-authored-by: gornekich <n.gorbadey@gmail.com>
2024-06-17 14:18:53 +01:00
Willy-JL a92386c467 Merge branch 'dev' of https://github.com/DarkFlippers/unleashed-firmware into mntm-dev 2024-06-14 22:26:01 +02:00
MX f6e9dcbc01 load plugins only when needed, show loading anim 2024-06-14 16:49:09 +03:00
MX f0a56af7fa Revert "make NFC emulation loading from favourites faster"
This reverts commit 2cbd058dc2.
2024-06-14 14:15:49 +03:00
MX 2cbd058dc2 make NFC emulation loading from favourites faster 2024-06-14 03:48:39 +03:00
Willy-JL a5c6bb6e08 Merge branch 'dev' of https://github.com/flipperdevices/flipperzero-firmware into mntm-dev 2024-06-11 23:09:37 +02:00
MX 181c59b30f Merge remote-tracking branch 'OFW/dev' into dev 2024-06-10 22:55:02 +03:00
Astra cf8c82c451 [FL-3746] Mifare Plus detection support (#3607)
* Initial MFPlus draft
* Proper detection (WIP)
* Mifare Plus detection done
* Bump F18 API
* Alloc takes no arguments
* Fixes from code review
* Remove leftover logging
* Remove stray reminder comment
* Review changes and extra logging
* Fix atqa detection
* Fix incorrect comparison
* ATQA byte swap fix
* mf plus: code clean up
* mf plus: remove unused code
* mf plus: fix read fail event handling
* mf plus: fix return error codes
* mf plus: handle load and save errors
* mf plus: assert -> check in public API funxtion
* Bump API Symbols version
* Fix wrong feature mask
* Skylanders plugin separation
* Fix navigation
* Fix info box size

Co-authored-by: gornekich <n.gorbadey@gmail.com>
Co-authored-by: あく <alleteam@gmail.com>
2024-06-10 20:36:46 +01:00
あく 0bc400a3ae Code Cleanup: unused includes, useless checks, unused variables, etc... (#3696)
* Remove unnecessary checks
* Sublime: never insert missing headers
* Cleanup furi defines use
* Cleanup startup. Cleanup linker scripts. Explicitly define all interrupts hadlers, including uninmplemented one.
* Startup routine in C
* Drop assembler startup
* Move linker defines to stm32wb55_linker.h, cleanup naming, unify usage. Mpu: protect last 32b of main stack. Document various obscure things.
* Move furi_hal_switch documentation to appropriate place, use 0x0 for updater jump.
* UnitTests: move all temporary test files into tmp folder

---------

Co-authored-by: SG <who.just.the.doctor@gmail.com>
2024-06-11 03:04:29 +10:00
MX 7f05a224be Merge remote-tracking branch 'OFW/dev' into dev 2024-06-09 16:05:06 +03:00
Willy-JL 468f870729 Merge branch 'dev' of https://github.com/flipperdevices/flipperzero-firmware into mntm-dev 2024-06-08 19:09:37 +02:00
RebornedBrain 467e973da2 [FL-3810] Felica emulation (#3673)
* Moved some structs and defs from poller to generic felica
* Buffer size increased for transferring more data
* Felica HAL Tx function implemented
* Some structs and fields for listener
* Raw listener implementation
* Added new event for felica activation
* Proper config fot listener added
* Moved some structs from poller in order to use them in listener too
* New function for calculating MAC
* Listener data structures and function definitions
* Private listener functions implementation added
* Raw felica listener logic implementation added
* Fix total sector count both for poller and listener
* Defined type for write handlers
* New logic for write operations added
* Removed old commented code
* Splitted read logic into several separate functions
* New type added and some fields to instance
* New logic of read command implemented
* Defines added for response codes
* Functions moved to private namespace
* Function visibility changed and some cleanups
* Update felica_listener.c, felica_listener_i.c, and felica_listener_i.h
* Some type adjustments
* Moved frame_exchange function to private namespace
* Error handling added
* Function to get data_ptr for write request added
* Missing declaration added
* Add processing of nfc errors
* write_with_mac is a local variable now
* Adjustments to MAC calculation logic
* Values replaced with defines
* Update nfc_transport.c with felica logic
* Sync felica poller added for unit tests
* Felica unit_tests and data dump added
* Fixed proper reading of MAC_A block when it is 1st
* Macro definitions for MC added
* Function simplified
* More defines
* CRC check for incomming packets added
* Readonly logic adjusted
* Block write validation adjusted
* New logic for ID block writing
* Some cleanups
* New logic of moving across the block list with different element length
* Some cleanups
* Adjusted requires_mac logic to cover all blocks needed
* Cleanups and renaming
* New block list validation logic
* Block list logic iteration simplified
* Some asserts and checks added
* Replaced MC[2] checks with macros
* Marked def values as unsigned
* Removed old code
* Removed commented function declarations
* Changed protected block in felica test card dump and adjusted tests
* Fixes after merge
* Moved defines to header
* Now we allocate memory for max possible response pack in any case
* Some renaming and documentation
* Bump api symbols
* Set feature to emulate full for felica
* Removed 'More' button and added MoreInfo feature which adds this button back
* Types renamed
* Removed unnecessary code
* Reformat comments
* Fixing missing signatures
* Replaced crash with error log and return value
* Format doxygen comments

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2024-06-08 15:24:51 +01:00
RebornedBrain ba3beeddeb [FL-3811] Write to ultralight cards is now possible (#3684)
* Added new function which returns end block for write operation
* Enabled write menu item also for Ultralight 11 and 21
* Fix api_symbols.csv for f18
* Bump Api Symbols

Co-authored-by: あく <alleteam@gmail.com>
2024-06-08 14:38:02 +01:00
RebornedBrain 7ff785d71f [FL-3786] Fixed infinite loop in dictionary attack scene (#3686)
Co-authored-by: あく <alleteam@gmail.com>
2024-06-08 12:51:54 +01:00
Willy-JL aa3db97e9d Merge branch 'dev' of https://github.com/DarkFlippers/unleashed-firmware into mntm-dev 2024-06-06 02:19:54 +01:00
MX 05457b41e4 Merge remote-tracking branch 'OFW/astra/3746-mfp-detect' into nfc_mfplus 2024-06-06 01:12:34 +03:00
MX bde889c338 Reapply "Merge remote-tracking branch 'OFW/astra/3746-mfp-detect' into dev"
This reverts commit 6bfa383cea.
2024-06-06 00:55:29 +03:00
MX 528636c814 Merge remote-tracking branch 'RebornedBrain/reborned/infinite_dict_attack_fix' into dev 2024-06-06 00:49:26 +03:00
MX 373f61459a Merge remote-tracking branch 'RebornedBrain/reborned/ultralight_write' into dev 2024-06-06 00:48:46 +03:00
MX 17dbb4105d Merge remote-tracking branch 'OFW/dev' into dev 2024-06-06 00:35:40 +03:00
Astra 6db3c0c6bc Merge branch 'dev' into astra/3746-mfp-detect 2024-06-05 18:55:41 +09:00
RebornedBrain bbece015e0 Fixed infinite loop in dictionary attack scene 2024-06-04 15:37:31 +03:00
Willy-JL 23da827361 Merge branch 'dev' of https://github.com/flipperdevices/flipperzero-firmware into mntm-dev 2024-06-04 03:03:23 +01:00
RebornedBrain 78f8835cac Merge branch 'dev' into reborned/ultralight_write 2024-06-03 19:38:15 +03:00
hedger 03196fa110 cleanup of various warnings from clangd (#3682)
* cleanup of various warnings from clangs
* lfrfid_debug: cast fixes
* subghz: binraw: round->roundf
* furi: thread: updated internal stack size variable to size_t
* github: fail faster on unsuccessful build
* unit_tests: double trouble
2024-06-03 14:43:23 +01:00