porta
c9791a280a
[FL-3884] Proper integer parsing ( #3839 )
...
* feat: strint_to_uint32 and tests
* fix: permit explicit bases and prefixes
* feat: strint_to_{int32,uint16,int16}
* feat: strint_to_u?int64
* refactor: replace strtol, strtoul, sscanf with strint_to_*
* fix: api symbols
* docs: document parameter `end` of strint_to_uint_32
* style: apply changes requested by hedger
* refactor: fix pvs-studio diagnostic
* style: apply changes requested by CookiePLMonster
* fix: unused var
* fix: pointer type
* refactor: convert atoi to strint_to_*
* fix: strint_to_uint8 doesn't actually exist ._ .
* fix: memory leak
* style: address review comments
* Toolbox: couple small comments in the code and doxygen comment update. SubGhz, Loader: fix strint usage.
* Loader: fix incorrect cast
Co-authored-by: あく <alleteam@gmail.com >
2024-09-05 18:02:42 +01:00
Astra
4f46032d32
[NFC] Change the plantain last number display from "?" to "X" ( #3819 )
2024-08-02 15:03:12 +09:00
Astra
59eb749b2b
[FL-3879] Fix plantain balance string ( #3813 )
...
* Fix balance string
* nfc app: remove ? in plantain
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 05:57:00 +09: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
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
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
あく
7c63bf7574
Revert "TLSF memory allocator. Less free flash, moar free ram. ( #3572 )" ( #3651 )
...
* Revert "TLSF memory allocator. Less free flash, moar free ram. (#3572 )"
This reverts commit 1d17206e23 .
* Fix PVS warnings
* github: logging for ticket number checks to stdout
* memgr: removed offending todo
---------
Co-authored-by: hedger <hedger@nanode.su >
2024-05-16 18:43:27 +04:00
Eric Betts
50bee67748
Skylanders plugin ( #3315 )
...
* PoC skylanders plugin
* based on db0c7e4fad
* More figures
* Fix util methods
Co-authored-by: あく <alleteam@gmail.com >
Co-authored-by: gornekich <n.gorbadey@gmail.com >
2024-05-15 19:09:08 +01:00
Astra
1559ee6293
[Fl-3809] Troika parser visual fixes ( #3614 )
...
Co-authored-by: あく <alleteam@gmail.com >
2024-04-24 21:47:40 +09:00
gornekich
c87683596a
nfc app: add legacy keys for plantain cards ( #3602 )
...
Co-authored-by: あく <alleteam@gmail.com >
2024-04-19 23:22:07 +09:00
Astra
0d73a58123
Mosgortrans parser output fixes ( #3554 )
...
* Fix mosgortrans/troika newlines and mark unused variables
* Supress warnings for TODOs that don't need a ticket
Co-authored-by: あく <alleteam@gmail.com >
2024-04-19 21:01:57 +09:00
gornekich
be43e49869
nfc app: fix false positive verification in bip plugin ( #3595 )
...
Co-authored-by: あく <alleteam@gmail.com >
2024-04-18 09:56:39 +09:00
RebornedBrain
c353182353
[FL-3800, FL-3801] Fixed plugins and UI ( #3543 )
...
* Fixed some UI mismatches in plugin and nfc app
* Fixed nameing mismatches in mosgortrans_util
* Fix ultralight naming display
Co-authored-by: gornekich <n.gorbadey@gmail.com >
Co-authored-by: あく <alleteam@gmail.com >
2024-03-29 11:45:01 +09:00
Astra
558f75672f
[FL-3760] NFC Parsers cosmetic fixes ( #3511 )
...
* NFC Parsers cosmetic fixes
* Clarify the unknown digit indication
Co-authored-by: あく <alleteam@gmail.com >
2024-03-21 00:08:35 +09:00
あく
acc39a4bc0
Api Symbols: replace asserts with checks ( #3507 )
...
* Api Symbols: replace asserts with checks
* Api Symbols: replace asserts with checks part 2
* Update no args function signatures with void, to help compiler to track incorrect usage
* More unavoidable void
* Update PVS config and code to make it happy
* Format sources
* nfc: fix checks
* dead code cleanup & include fixes
Co-authored-by: gornekich <n.gorbadey@gmail.com >
Co-authored-by: hedger <hedger@users.noreply.github.com >
Co-authored-by: hedger <hedger@nanode.su >
2024-03-19 23:43:52 +09:00
Astra
4f7eb77071
Fix troika 4K keys ( #3499 )
2024-03-07 15:57:32 +09:00
assasinfil
a6c5a1ba69
Troyka parser improvements ( #3390 )
...
* Updated troyka layout (full version)
* Changed to furi func
* Small refactor
* Bitlib refactor
* Moved to API
* Rollback troyka parser
* Fix functions
* Parser func refactor start
* Layout E3 refactored
* Layout E4 refactored
* Layout 6 refactored
* Layout E5 refactored
* Layout 2 refactored
* Layout E5 fix
* Layout E6 refactored, valid_date need fix
* Layout E6 fix
* Layout FCB refactored
* Layout F0B refactored
* Layout 8 refactored
* Layout A refactored
* Layout C refactored
* Layout D refactored
* Layout E1 refactored
* Layout E2 refactored
* Fixes
* Old code cleanup
* Memory cleanup
* Unused imports cleanup
* Keys struct refactor
* Layout E1 fix
* Added debug info for layout and department
* Fix PVS warnings
* Fix more PVS warnings
Co-authored-by: gornekich <n.gorbadey@gmail.com >
Co-authored-by: あく <alleteam@gmail.com >
2024-03-05 11:56:35 +09:00
philicious
7b26dc5ebf
NFC: Fix washcity plugin verify function being to greedy ( #3467 )
...
* NFC: Fix washcity plugin verify function being to greedy
It verifies only a single sector and that one using one of the commonly used key 0xA0A1A2A3A4A5
This leads to false-positives and the dicts not being used at all
* nfc app: washcity plugin: fix verify function
Co-authored-by: gornekich <n.gorbadey@gmail.com >
Co-authored-by: あく <alleteam@gmail.com >
2024-03-05 11:42:39 +09:00
Rodrigo Basoalto
1070064f89
Parser for Santiago, Chile BIP transit card ( #3456 )
...
* Parser for Santiago, Chile BIP transit card
It's used for all public transportation in the city of Santiago, Chile
(bus, subway). We've reverse-engineered most of the non-zero bits of
data found, and checked them across dozens of cards.
* Update to use bit_lib instead of nfc_util
* PR feedback
Co-authored-by: Rodrigo Basoalto <basoalto@fintual.com >
Co-authored-by: gornekich <n.gorbadey@gmail.com >
2024-03-04 18:50:28 +09:00
hedger
60a9d7e6cf
ble: profile rework ( #3272 )
...
* ble: profile rework, initial
* apps: hid: fix for pairing cleanup
* app: hid: select transport based on #define
* fixing PVS warnings
* ble: serial service: fixed uid naming
* bt service: on-demand dialog init; ble profiles: docs; battery svc: proper update
* Added shci_cmd_resp_wait/shci_cmd_resp_release impl with semaphore
* app: hid: separated transport code
* ble: fixed service init order for serial svc; moved hardfault check to ble_glue
* cli: ps: added thread prio to output, fixed heap display
* ble_glue: naming changes; separate thread for event processing;
* furi: added runtime stats; cli: added cpu% to `ps`
* cli: fixed thread time calculation
* furi: added getter for thread priority
* fixing pvs warnings
* hid profile: fixed naming
* more naming fixes
* hal: ble init small cleanup
* cleanup & draft beacon api
* f18: api sync
* apps: moved example_custom_font from debug to examples
* BLE extra beacon demo app
* naming fix
* UI fixes for demo app (wip)
* desktop, ble svc: added statusbar icon for beacon
* minor cleanup
* Minor cleanup & naming fixes
* api sync
* Removed stale header
* hal: added FURI_BLE_EXTRA_LOG for extra logging; comments & code cleanup
* naming & macro fixes
* quick fixes from review
* Eliminated stock svc_ctl
* cli: ps: removed runtime stats
* minor include fixes
* (void)
* naming fixes
* More naming fixes
* fbt: always build all libs
* fbt: explicitly globbing libs; dist: logging SDK path
* scripts: fixed lib path precedence
* hal: bt: profiles: naming changes, support for passing params to a profile; include cleanup
* ble: hid: added parameter processing for profile template
* api sync
* BLE HID: long name trim
* Removed unused check
* desktop: updated beacon status icon; ble: hid: cleaner device name management
* desktop: updated status icon
Co-authored-by: あく <alleteam@gmail.com >
Co-authored-by: nminaylov <nm29719@gmail.com >
2024-02-16 14:20:45 +07:00
Leptopt1los
feb45f6645
FuriHalRtc refactor: new datetime lib ( #3386 )
...
* datetimelib created
* datetimelib unit tests added
* firmware fixes to new datetimelib
* typo fix
* merge artifacts fixed, datetimelib renamed to datetime
Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com >
2024-02-15 10:44:41 +07:00
Leptopt1los
dd988ba449
bit_lib and nfc_util refactor ( #3383 )
...
* nfc_util functions for processing bytes moved into bit_lib
* bitlib test update
* bit_lib moved from lfrfid to standalone lib
* Added bit functions for any supported data types
* Error fix and api add
* Added test for 64
* Added doc
* Testcase for 64 rewrited
* Realization error fix
* API version bump
* sync api version, fix after-merge old libs usage
* fix build errors
* build fix
* fbt format
Co-authored-by: assasinfil <nfa57643@gmail.com >
Co-authored-by: gornekich <n.gorbadey@gmail.com >
Co-authored-by: あく <alleteam@gmail.com >
2024-02-14 11:41:42 +07:00
Alessandro Rossi
389affd904
Fixed MyKey check LockID ( #3412 )
...
Co-authored-by: gornekich <n.gorbadey@gmail.com >
Co-authored-by: あく <alleteam@gmail.com >
2024-02-12 09:35:16 +07:00
Tolly Hill
50e0521bf7
NFC: Custom UID entry when adding manually ( #3363 )
...
* NFC: Custom UID entry when adding manually
* Fix incorrect types
* Add Change UID option post-generation
* Update UID derived data when using set_uid method
* Fix PVS warnings
Co-authored-by: gornekich <n.gorbadey@gmail.com >
Co-authored-by: あく <alleteam@gmail.com >
2024-02-09 15:36:06 +07:00
Alessandro Rossi
ebd09a1981
Added NFC plugin; Some parser ( #3335 )
...
* Add parser
* Fix microel.c
* Fix NFC parser positive return
* fix mizip
* Fix NFC parser positive return
* Add parse to hi! tag
* fix false positive reading and kdf
* hi formatting
* fix oom in kdf
* nfc app: fix types in hi plugin
* nfc app: fix return in function body in microel plugin
Co-authored-by: gornekich <n.gorbadey@gmail.com >
Co-authored-by: あく <alleteam@gmail.com >
2024-02-09 15:16:14 +07:00
Nick Mooney
f6eb79e1e5
NFC: Add support for Gallagher access control (MIFARE Classic only) ( #3306 )
...
* Merge remote-tracking branch 'origin/dev' into dev
* Add basic API interface (inspired by advanced plugins example), modify NfcSupportedCardsLoadContext to contain a pointer to a resolver
* WIP: API resolver implemented / passed to plugin via context, still having resolution issues
* Attempt to add constants to the nfc_app_api_table list
* WIP: We're defining the constants directly in nfc_app_api.c to see if this fixes our woes, which it does not.
* WIP: Remove furi_assert(false) (lmao)
* Working implementation of Gallagher decoding via exposed plugin API
* lib: api_hashtable: change log level for symbol not found message
* nfc app: alloc composite resolver along with supported cards
* nfc app: rework nfc api structure
* nfc app: fix memory leakage in supported cards
Co-authored-by: gornekich <n.gorbadey@gmail.com >
2024-02-09 15:00:17 +07:00
gsp8181
e180266c1a
ITSO Parser (UK) ( #3325 )
...
* Create ITSO parser
Standard for UK transport cards outside of Oyster
* Update application.fam with ITSO parser
* Update date buffer to fix access outside array
* nfc app: use rtc function in itso plugin
---------
Co-authored-by: gornekich <n.gorbadey@gmail.com >
Co-authored-by: hedger <hedger@users.noreply.github.com >
2024-02-06 18:55:38 +00:00
Jeremy Cooper
a83e421d71
Add an NFC parser for the San Francisco Bay Area "Clipper" transit card. ( #3344 )
...
* Add an NFC parser for the San Francisco Bay Area "Clipper" transit card.
* Add more agencies and stations, decode vehicle ids, refactor.
Add more agencies and station names using data from local research
and:
* Metrodroid project (GPLv3): https://github.com/metrodroid/metrodroid
* Farebot (GPLv3): https://github.com/codebutler/farebot
---------
Co-authored-by: gornekich <n.gorbadey@gmail.com >
Co-authored-by: hedger <hedger@users.noreply.github.com >
2024-02-06 21:47:44 +04:00
Astra
e0782966d4
[FL-3661] Troika layout fixes ( #3365 )
...
* Add support for different troika layouts
* Display additional data if debug is enabled in settings
* Support for layout 2, where there's no balance
* nfc app plugins: fix mfc read error processing
* nfc app: clean up troika plugin
* nfc app: troika parser more clean up
---------
Co-authored-by: gornekich <n.gorbadey@gmail.com >
Co-authored-by: hedger <hedger@users.noreply.github.com >
2024-02-06 21:29:17 +04:00
Leptopt1los
ed34dfa1c6
NFC: MF Classic parsers read() fix (dictionary attack skip) ( #3355 )
...
* NFC: MF Classic lib: MfClassicErrorPartialRead added
* unnecessary imports removed
* MfClassicError refactor by @gornekich
Co-authored-by: gornekich <n.gorbadey@gmail.com >
---------
Co-authored-by: gornekich <n.gorbadey@gmail.com >
2024-02-06 20:53:42 +04:00
Augusto Zanellato
0b15fc3807
Fix MyKey production date parsing ( #3332 )
...
Co-authored-by: gornekich <n.gorbadey@gmail.com >
Co-authored-by: あく <alleteam@gmail.com >
2024-01-10 22:49:30 +09:00
Leptopt1los
4d99a454fd
NFC: parsers minor cleanup ( #3329 )
...
* WashCity cards parser cleanup
* umarsh includes cleanup
Co-authored-by: gornekich <n.gorbadey@gmail.com >
Co-authored-by: あく <alleteam@gmail.com >
2024-01-10 20:55:45 +09:00
YaBa
35e74c07d1
Added NFC plugin; parser for WashCity cards. ( #3319 )
...
* Added NFC plugin; parser for WashCity cards.
* Fixed file to the correct path
* Added demo file Demo_WC_20E.nfc
* Fixed clang format
* fixed typo (balance_cents)
* Removed demo file as requested.
Co-authored-by: あく <alleteam@gmail.com >
2023-12-28 14:23:12 +09:00
Eric Betts
76ed466eb4
Nfc: HID MFC Plugin ( #3312 )
...
Co-authored-by: あく <alleteam@gmail.com >
2023-12-28 14:03:50 +09:00
gornekich
09540929c3
[FL-3717] MFC emulation fix ( #3291 )
...
* mf classic listener: reset state before sleep and after nack
* Fix PVS warnings
* Fix PVS and compiler disagree on builtins
Co-authored-by: あく <alleteam@gmail.com >
2023-12-15 17:51:20 +00:00
Leptopt1los
0af74fb755
Umarsh transport cards parser ( #3277 )
...
* Umarsh transport card parser added
* Volna transport cards keys added
Co-authored-by: あく <alleteam@gmail.com >
2023-12-14 14:02:40 +00:00
Augusto Zanellato
78b7310057
Add MyKey parser ( #3262 )
...
Co-authored-by: あく <alleteam@gmail.com >
2023-12-14 13:54:58 +00:00
gornekich
82baf1e923
[FL-3701] NFC fixes ( #3264 )
...
* nfc app: fix unlock with manual password crash
* nfc app: preserve card detected state
* nfc app: fix mf keys scene switch
* nfc app: fix multiple protocol tag detect notification
* nfc plugin: fix retrun in function body in aime parser
* iso14443-3b poller: rework ATTRIB response check
* nfc app: fix navigation after file load failur
* iso14443-3b poller: fix PVS warning
* mfc listener: add crutch in mfc emulation
2023-12-05 22:40:06 +09:00
Honghao Zeng
c477d1321a
nfc: m1k-based Aime (non-AIC) card support ( #3241 )
...
Co-authored-by: gornekich <n.gorbadey@gmail.com >
2023-12-03 20:00:46 +09:00
gornekich
c00776ca22
[FL-3666] NFC API improvements ( #3214 )
...
* drivers: expose st25r3916 driver API
* nfc poller: add start with custom callback
* mf classic: rework sync API with poller custom start
* mf ultralight: rework sync API with poller custom start
* iso14443_3a poller: remove unused col res state
* nfc: rework nfc poller custom start
* mf ultralight: rename sync API
* mf classic: rename sync API
* iso14443-3a: rename sync API
* nfc: remove async prefix in internal functions
* nfc: expose internal API
* nfc: fix sync api include and docs
* targets: fix f18 build
* nfc: rework NfcGenericEventEx type
* nfc poller: add documentation
* iso14443-3a poller: add documentation
* felica poller: add documentation
* iso14443_3b poller: add documentation
* so14443_4a poller: add documentation
* iso14443_4b poller: add documentation
* iso15693 poller: add documentation
* slix poller: add documentation
* mf desfire poller: add documentation
* mf ultralight poller: fix API and add documentation
* mf classic poller: add documentation
Co-authored-by: あく <alleteam@gmail.com >
2023-11-15 17:32:45 +09: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