Commit graph

135 commits

Author SHA1 Message Date
MX
b958bfd5c9
Merge branch 'ofw_dev' into nfcrefactoring 2023-11-11 20:18:55 +04:00
Georgii Surkov
49dcf81743
[FL-3618] Infrared remote button index support (#3180)
* Do not load all signals at once (Draft)
* Minor cleanup
* Refactor remote renaming
* Improve function signatures
* Rename infrared_remote functions
* Optimise signal loading
* Implement adding signals to remote
* Add read_name() method
* Deprecate a function
* Partially implement deleting signals (draft)
* Use m-array instead of m-list for signal name directory
* Use plain C strings instead of furi_string
* Implement deleting signals
* Implement deleting signals via generalised callback
* Implement renaming signals
* Rename some types
* Some more renaming
* Remove unused type
* Implement inserting signals (internal use)
* Improve InfraredMoveView
* Send an event to move a signal
* Remove unused type
* Implement moving signals
* Implement creating new remotes with one signal
* Un-deprecate and rename a function
* Add InfraredRemote API docs
* Add InfraredSignal API docs
* Better error messages
* Show progress pop-up when moving buttons in a remote
* Copy labels to the InfraredMoveView to avoid pointer invalidation
* Improve file selection scene
* Show progress pop-up when renaming buttons in a remote
* Refactor a scene
* Show progress when deleting a button from remote
* Use a random name for temp files
* Add docs to infrared_brute_force.h
* Rename Infrared type to InfraredApp
* Add docs to infrared_app_i.h
* Deliver event data via a callback
* Bundle event data together with event type
* Change DataExchange behaviour
* Adapt RPC debug app to new API
* Remove rogue output
* Add Doxygen comments to rpc_app.h
* Simplify rpc_app.c code
* Remove superflous parameter
* Do not allocate protobuf messages on the stack
* Fix GetError response
* Support for button indices
* Comment out shallow submodules
* Fix F18 api
* Fix logical error and add more debug output
* fbt: testing unshallow for protobuf
* github: lint&checks: unshallow prior to checks
* Fix a TODO
* github: do not unshallow the unshallowed
* fbt: assets: only attempt to unshallow if cannot describe
* Do not use the name when loading a signal by index (duh)
* Simplify loading infrared signals by name
* Sync with protobuf release
* Infrared: use compact furi_crash macros

Co-authored-by: hedger <hedger@nanode.su>
Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2023-11-10 16:22:34 +09:00
MX
bee48f483c
Merge branch 'ofw_dev' into nfcrefactoring 2023-11-01 21:07:33 +03:00
あく
aa06328516
Furi, FuriHal: remove FreeRTOS headers leaks (#3179)
* Furi: remove direct FreeRTOS timers use
* Furi: eliminate FreeRTOS headers leak. What did it cost? Everything...
* SubGhz: proper public api for protocols. Format Sources.
* Furi: slightly less redundant declarations
* Desktop: proper types in printf
* Sync API Symbols
* Furi: add timer reset and fix dolphin service, fix unit tests
* Furi: proper timer restart method naming and correct behavior in timer stopped state.

---------

Co-authored-by: hedger <hedger@nanode.su>
2023-11-01 11:24:11 +04:00
hedger
7bd3bd7ea4
fbt: source collection improvements (#3181)
* fbt: reduced amount of redundant compilation units
* fbt: added GatherSources() method which can reject source paths starting with "!" in sources list; optimized apps' source lists
* docs: updated on path exclusion for `sources`
* apps: examples: fixed example_advanced_plugins source list
* docs: more details on `sources`; apps: narrower sources lists
2023-11-01 13:21:31 +09:00
hedger
917410a0a8
[FL-3629] fbt: reworked assets & resources handling (#3160)
* fbt: reworking targets & assets handling WIP
* fbt: dist fixes
* fbt: moved SD card resources to owning apps
* unit_tests: moved resources to app folder
* github: updated unit_tests paths
* github: packaging fixes
* unit_tests: fixes
* fbt: assets: internal cleanup
* fbt: reworked assets handling
* github: unit_tests: reintroducing fixes
* minor cleanup
* fbt: naming changes to reflect private nature of scons tools
* fbt: resources: fixed dist archive paths
* docs: updated paths
* docs: updated more paths
* docs: included "resources" parameter in app manifest docs; updated assets readme
* updated gitignore for assets
* github: updated action versions
* unit_tests: restored timeout; scripts: assets: logging changes
* gh: don't upload desktop animations for unit test run

Co-authored-by: あく <alleteam@gmail.com>
2023-10-31 00:17:30 +09:00
MX
593b5fc098
Merge branch 'ofw_dev' into nfcrefactoring 2023-10-29 02:23:02 +03:00
Augusto Zanellato
0fe93fcfa4
fix crash after st25tb save (#3170)
Co-authored-by: あく <alleteam@gmail.com>
2023-10-28 23:45:08 +09:00
Georgii Surkov
cfaf745523
[FL-3643] Fix crash when reading files > 64B (#3166)
* Increase MF DESFire result buffer
* Ignore chunks that do not fit into the result buffer and show warning
* Display information about partial files

Co-authored-by: あく <alleteam@gmail.com>
2023-10-28 23:29:14 +09:00
Georgii Surkov
844e0f10e5
[FL-3639] Fix MF DESFire record file handling (#3167) 2023-10-28 22:56:49 +09:00
MX
92969ecc1f
remove mf classic uid add manually temp 2023-10-24 16:04:55 +03:00
MX
3bbb326c9c
Merge branch 'ofw_dev' into nfcrefactoring 2023-10-24 14:42:49 +03:00
gornekich
d92b0a82cc
NFC refactoring (#3050)
"A long time ago in a galaxy far, far away...." we started NFC subsystem refactoring.

Starring:

- @gornekich - NFC refactoring project lead, architect, senior developer
- @gsurkov - architect, senior developer
- @RebornedBrain - senior developer

Supporting roles:

- @skotopes, @DrZlo13, @hedger - general architecture advisors, code review
- @Astrrra, @doomwastaken, @Hellitron, @ImagineVagon333 - quality assurance

Special thanks:

@bettse, @pcunning, @nxv, @noproto, @AloneLiberty and everyone else who has been helping us all this time and contributing valuable knowledges, ideas and source code.
2023-10-24 12:08:09 +09:00
MX
15c480b68a
Merge branch 'ofw-dev' into dev 2023-09-02 13:33:32 +03:00
Max
52b5966262
Add File Naming setting for more detailed naming (#3002)
* added filename mode setting
* added furi_flag checks for when filename_mode is set
* changed naming for ibutton, lfrfid and subghz
* requested changes from PR
* Lib: gather all naming bits and pieces under name generator module. Properly bump api version. FuriHal: fix RTC flag enum.
* PR requested changes
* bug fix for arg type
* added functionality for other application scenes
* Lib: cleanup name generator API, simplify usage. Sync API symbols.
* Lib: proper size type in name_generator. Cleanup.
* FuriHal: cleanup rtc api usage across firmware

Co-authored-by: あく <alleteam@gmail.com>
2023-09-01 14:57:49 +09:00
Astra
27b2808ade
[FL-3481] Properly reset the NFC device data (#2980)
Co-authored-by: あく <alleteam@gmail.com>
2023-08-23 03:40:05 +09:00
Astra
830e202bb1
Properly reset the NFC device data 2023-08-14 17:49:09 +03:00
gid9798
f18df25a96 NFC app: MF Custom UID, fix SAK & ATQA save 2023-08-14 15:33:03 +03:00
gid9798
ee64a962d9 NFC App: Add scene for MF Classic custom UID 2023-08-10 14:48:42 +03:00
gid9798
8936c02487 NFC App: Add manual MF Classic custom UID 2023-08-08 14:16:35 +03:00
MX
f70d2b5ae7
revert old nfc debug defines was used to save space 2023-08-05 14:25:16 +03:00
MX
74ffb02b56
Merge branch 'ofw-dev' into dev 2023-08-02 19:09:48 +03:00
erikj95
cf6706c42e
NFC CLI: Fix multiple apdu commands from not working when one of them gives an empty response (#2922)
* NFC CLI: Fix multiple apdu commands from not working when one of them gives an empty response
* Make PVS happy

Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: あく <alleteam@gmail.com>
2023-08-03 00:24:02 +09:00
MX
bb7ffd6ff5
Merge branch 'ofw-dev' into dev 2023-07-10 16:55:28 +03:00
Sergey Gavrilov
9b2d80d6b7
[FL-3400] External menu apps (#2849)
* FBT, applications: add MENUEXTERNAL app type
* FBT, uFBT: build MENUEXTERNAL as EXTERNAL app
* Loader menu: show external menu apps
* LFRFID: move to sd card
* FBT: always build External Applications list
* Archive: look for external apps path
* Infrared: move to sd card
* Apps: add "start" apps
* iButton: move to sd card
* BadUSB: move to sd card
* External apps: update icons
* GPIO: move to sd card
* Loader: look for external apps path
* U2F: move to sd
* SubGHz: move to sd
* Apps: "on_start" metapackage
* NFC: move to sd
* Sync f7 and f18

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2023-07-10 12:03:41 +04:00
AloneLiberty
e5ae3e22b3
NFC: Fix key invalidation logic (#2782)
* NFC: Fix key invalidation logic
* NFC: Fix crash in CLI with empty response
* Fix incorrect key conversions
* Proper call to nfc_util

Co-authored-by: あく <alleteam@gmail.com>
Co-authored-by: Astra <me@astrra.space>
2023-06-29 17:24:13 +09:00
g3gg0.de
c10c45616d
SLIX2 emulation support / practical use for Dymo printers (#2783)
* improve digital_signal for longer packets, also clean up code
* added SLIX2 specific features like signature and unknown keys (for issue #2781), added WRITE_PASSWORD handling
* fix NfcV AFI selection
* when NFCV_CMD_READ_MULTI_BLOCK reads beyond memory end, return the maximum possible block's content
* added SLIX2 reading
* fix NXP SYSTEMINFO response check size
* capture the first received password if none was set before
* clear stored data before reading SLIX details renamed slix2_dump functions to slix2_read
* display card block size values as decimal

Co-authored-by: あく <alleteam@gmail.com>
2023-06-29 02:44:34 +09:00
MX
6f3f2fa1e7
OFW PR 2783: SLIX2 emulation support
by g3gg0
2023-06-24 21:14:00 +03:00
MX
8e126112f0
OFW PR 2782: NFC: Fix key invalidation logic
by AloneLiberty
2023-06-24 21:11:27 +03:00
MX
53f6205766
dolphin did 2023-06-09 14:14:05 +03:00
MX
e9fc5f62a5
Merge branch 'ofw-dev' into dev 2023-06-09 14:13:11 +03:00
Sergey Gavrilov
0e4344a83c
Services: simplify api (#2540)
Co-authored-by: あく <alleteam@gmail.com>
2023-06-09 20:02:47 +09:00
MX
18220515b5
Merge branch 'ofw-dev' into dev 2023-06-08 14:58:46 +03:00
hedger
3226254876
[FL-3351] github: re-enabled f18 build (#2743)
* github: re-enabled f18 build
* scripts: storage: better transfer logging
* Fix PVS warnings

Co-authored-by: あく <alleteam@gmail.com>
2023-06-08 15:16:01 +09:00
g3gg0.de
c186d2b0cc
added ISO15693 (NfcV) reading, saving, emulating and revealing from privacy mode (unlock) (#2316)
* added support for ISO15693 (NfcV) emulation, added support for reading SLIX tags
* SLIX: fixed crash situation when an invalid password was requested
* ISO15693: show emulate menu when opening file
* rename NfcV emulate scene to match other NfcV names
* optimize allocation size for signals
* ISO15693: further optimizations of allocation and free code
* ISO15693: reduce latency on state machine reset
* respond with block security status when option flag is set
* increased maximum memory size to match standard
  added security status handling/load/save
  added SELECT/QUIET handling
  more fine grained allocation routines and checks
  fix memset sizes
* added "Listen NfcV Reader" to sniff traffic from reader to card
* added correct description to delete menu
* also added DSFID/AFI handling and locking
* increase sniff log size
* scale NfcV frequency a bit, add echo mode, fix signal level at the end
* use symbolic modulated/unmodulated GPIO levels
* honor AFI field, decrease verbosity and removed debug code
* refactor defines for less namespace pollution by using NFCV_ prefixes
* correct an oversight that original cards return an generic error when addressing outside block range
* use inverse modulation, increasing readable range significantly
* rework and better document nfc chip initialization
* nfcv code review fixes
* Disable accidentally left on signal debug gpio output
* Improve NFCV Read/Info GUIs. Authored by @xMasterX, committed by @nvx
* Fix crash that occurs when you exit from NFCV emulation and start it again. Authored by @xMasterX, committed by @nvx
* Remove delay from emulation loop. This improves compatibility when the reader is Android.
* Lib: digital signal debug output pin info

Co-authored-by: Tiernan Messmer <tiernan.messmer@gmail.com>
Co-authored-by: MX <10697207+xMasterX@users.noreply.github.com>
Co-authored-by: gornekich <n.gorbadey@gmail.com>
Co-authored-by: あく <alleteam@gmail.com>
2023-06-08 14:30:53 +09:00
MX
0d394a6f87
Merge branch 'ofw-dev' into dev 2023-06-07 00:29:06 +03:00
Astra
a284d21e1c
[FL-2872] Remove unused resources (#2740)
Co-authored-by: hedger <hedger@users.noreply.github.com>
2023-06-06 22:11:23 +04:00
MX
2dc0059b1c
NFC V, review gui fixes, disable debug output in digital signal 2023-06-02 16:47:54 +03:00
Tiernan Messmer
b18bf3eddb
nfcv code review fixes 2023-05-31 17:14:06 +03:00
MX
0ab530e750
Merge branch 'ofw-dev' into dev 2023-05-29 20:33:12 +03:00
micolous
363f555ed7
Implement support for reading Opal card (Sydney, Australia) (#2683)
* Implement support for reading Opal card (Sydney, Australia)
* stub_parser_verify_read: used UNUSED macro
* furi_hal_rtc: expose calendaring as functions
* opal: use bit-packed struct to parse, rather than manually shifting about
* Update f18 api symbols

Co-authored-by: あく <alleteam@gmail.com>
2023-05-29 20:55:55 +09:00
MX
3c452e6ddb
Merge branch 'ofw-dev' into dev 2023-05-26 16:51:11 +03:00
Yukai Li
5f52382098
nfc: Mifare Ultralight C detection (#2668)
* nfc: Add Mifare Ultralight C detection
* nfc: Add display name for MFUL C and hide menu items
    MFUL C unlock and emulation currently not supported, so hide from menu
    if current card is MFUL C
* nfc: Also check response when probing 3DES auth
* nfc: Hide emulate option in saved menu for MFUL if not supported
* nfc: Remove unlock options from saved menu if Ultralight C


Co-authored-by: gornekich <n.gorbadey@gmail.com>
Co-authored-by: あく <alleteam@gmail.com>
2023-05-26 22:19:10 +09:00
MX
51ba8b66b6
Save a little bit (~2k) of space 2023-05-17 23:05:44 +03:00
MX
c760bca4a9
OFW PR 2316: NFC V support
https://github.com/g3gg0/flipperzero-firmware/tree/ISO15693
2023-05-17 19:45:30 +03:00
MX
face4bd3c7
Merge branch 'fz-dev' into dev 2023-05-09 18:28:46 +03:00
Nathan Nye
d5403a089c
Add Mfkey32 application (#2517)
* Add Mfkey32 application
* Fine tune RAM requirements, use FZ notification service API
* Fix PVS security warnings, fix issue with cracking keys on the FZ
* Prefer on-device or Flipper mobile app (seamless)
* Mfkey32: change app category to NFC
* Mfkey32: set target to f7 only
* Silence PVS false positives
* Correct PVS codes

Co-authored-by: あく <alleteam@gmail.com>
2023-05-09 10:45:59 +09:00
gornekich
7ac7b70884
[FL-3241] NFC disable EMV support (#2571)
* nfc: remove read emv from extra actions
* nfc: remove read emv

Co-authored-by: あく <alleteam@gmail.com>
2023-04-10 23:51:55 +08:00
MX
49378f0893
Merge branch 'fz-dev' into dev 2023-03-16 13:49:24 +03:00
Astra
6aa0c08f3a
[FL-3064] Skip the read when the card is not present (#2494)
Co-authored-by: あく <alleteam@gmail.com>
2023-03-16 18:06:11 +09:00