Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

NFC: Fix gen1 writing with invalid BCC (lost fix from PR #2511) #2710

Merged
merged 8 commits into from
May 31, 2023

Conversation

AloneLiberty
Copy link
Contributor

@AloneLiberty AloneLiberty commented May 28, 2023

What's new

Verification

From old PR:

  • Try writing gen1a tag with invalid BCC (not readable via Flipper NFC app, but visible in 'Check Magic tag'). Tag should be writable.
  • Try writing gen1a tag with valid BCC. Tag also should be writable.
  • Try writing non gen1a tag. App should show that the card isn't magic.

New:

  • Try writing gen4 tag

Checklist (For Reviewer)

  • PR has description of feature/bug or link to Confluence/Jira task
  • Description contains actions to verify feature/bugfix
  • I've built this code, uploaded it to the device and verified feature/bugfix

@hedger hedger added NFC NFC-related Bug Applications Non-core applications labels May 28, 2023
@hedger
Copy link
Member

hedger commented May 28, 2023

;D

@skotopes
Copy link
Member

Couple notes:

  • write for me is broken, all attempts ends with "not all sectors were written correctly"
  • wipe fails on random blocks

@skotopes
Copy link
Member

Same issues with gen1.
@Astrrra @gornekich this one requires help from your side and full set of tests.

@skotopes skotopes marked this pull request as draft May 29, 2023 08:49
@AloneLiberty
Copy link
Contributor Author

Can you please try again on updated sources? It should work now

@skotopes
Copy link
Member

  • Gen1 wipe works
  • Gen1 write works
  • Gen4 wipe fails
  • Gen4 write fails

Card is alive, old firmware and proxmark can write it without any issue

@AloneLiberty
Copy link
Contributor Author

AloneLiberty commented May 29, 2023

I'm unsure what can cause this issues, maybe this will fix it
With last commit I can assume:

  • I didn't touched any detection code
  • I didn't touched anything in wipe for gen4

@AloneLiberty
Copy link
Contributor Author

Tested on mine gen2 super card (gen4 chip), should work now (write/wipe)

@skotopes
Copy link
Member

Please avoid force pushes into active branches, it makes difficult to track changes for us

@skotopes
Copy link
Member

Writing/wiping gen4 is fixed

@skotopes
Copy link
Member

We'll wait for approval from one more person and then we can merge this PR

@skotopes skotopes marked this pull request as ready for review May 31, 2023 13:02
@skotopes skotopes merged commit 86a6448 into flipperdevices:dev May 31, 2023
gornekich added a commit that referenced this pull request Jun 23, 2023
* fix typo in FuriHalDebuging.md (#2667)

* [FL-3317] fbt: allow strings for fap_version field in app manifests (#2672)

* [FL-3312] fix PIN retry count reset on reboot (#2671)

* api: added lib/nfc/protocols/nfc_util.h (#2674)

* Add new indexer (#2681)

* fbt: Use union for old py (#2685)

* fbt: Fix tar uid overflow when packaging (#2689)

* fbt: Fix tar uid overflow when packaging
* Fix trailing spaces

* [FL-3328] Removed user-specific data from tar artifacts (#2691)

* [FL-3327] Storage: common_rename is now POSIX compliant (#2693)

* Storage: common_rename is now POSIX compliant

* storage: check for success on storage_common_remove in file rename

---------

Co-authored-by: hedger <hedger@nanode.su>

* Services: remove deallocator for persistent services (#2692)

Co-authored-by: hedger <hedger@users.noreply.github.com>

* Storage, common_rename: check that old path is exists (#2698)

* Storage, common_rename: check that old path is exists
* Storage, common_rename: return correct status

* [FL-3315] Desktop,Rpc: desktop status subscription (#2696)

* Desktop,Rpc: desktop status subscription
* Desktop,RPC: properly handle unsubscribe

Co-authored-by: Sergey Gavrilov <who.just.the.doctor@gmail.com>

* ✨ Add fr-FR-mac key layout (#2666)

Co-authored-by: あく <alleteam@gmail.com>

* [FL-3322] Infrared: respect carrier frequency and duty cycle settings (#2677)

* Make infrared_worker respect carrier frequency and duty cycle
* Update comments

Co-authored-by: あく <alleteam@gmail.com>

* USB HID report timeout (#2682)

Co-authored-by: あく <alleteam@gmail.com>

* Add Airwell Prime DCI Series and match file style (#2686)

Co-authored-by: あく <alleteam@gmail.com>

* desktop: Refactor favorites settings and allow app browser in selection (#2687)

* desktop: Refactor favorites settings and allow app browser in selection
* desktop: Gate app browser entry add, just in case
* Desktop: simplify favorite application selection
* Desktop: refactor favorite application opening routine and cleanup code
* Desktop: handle exit from external application selection

Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: あく <alleteam@gmail.com>

* NFC: Add support for Gen4 "ultimate card" in Magic app (#2238)

* NFC: gen4 gtu detect in magic app
* NFC: more support for GTU card
* NFC: Fix Gen1 in Magic
* Allow double UIDs for MFClassic on GTU cards
* NFC: Small magic app tweaks
* nfc magic: notify card event on wiping
* nfc magic: fix power consumption
* nfc magic: disable i2c writing and fix wipe loop
* NfcMagic: correct formatting in printf
* NfcMagic: correct formatting in printf, proper version
* nfc_magic: rework card found notification and gen4 wiping

Co-authored-by: あく <alleteam@gmail.com>

* nfc: Fix MFUL tearing flags read (#2669)

Co-authored-by: gornekich <n.gorbadey@gmail.com>

* api: added toolbox/api_lock.h (#2702)

Co-authored-by: あく <alleteam@gmail.com>

* Update ac.ir (#2701)

Co-authored-by: あく <alleteam@gmail.com>

* 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>

* [LRFID] Add support for Nexkey/Nexwatch (#2680)

* [LRFID] Add support for Nexkey/Nexwatch
* Update protocol_nexwatch.c: Remove unnecessary check

Co-authored-by: SG <who.just.the.doctor@gmail.com>
Co-authored-by: あく <alleteam@gmail.com>

* Add Carrier 42QHB12D8S (#2707)

Co-authored-by: あく <alleteam@gmail.com>

* BadUSB: script execution pause (#2700)

Co-authored-by: あく <alleteam@gmail.com>

* 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>

* [FL-3295] FuriHal: add bus abstraction (#2614)

* FuriHal: add bus abstraction and port some subsystem to it
* Make PVS happy, cleanup code
* Update API symbols for f18
* F18: backport bus changes from f7
* Revert to STOP2 sleep mode
* Fix downgrading the firmware via updater
* Port iButton TIM1 to furi_hal_bus
* Port Infrared TIM1 and TIM2 to furi_hal_bus
* Just enable the timer bus
* Port furi_hal_pwm to bus API
* Fix include statement
* Port furi_hal_rfid to bus API
* Port furi_hal_subghz and others to bus API
* Remove unneeded include
* Improve furi_hal_infrared defines
* Reset LPTIM1 via furi_hal_bus API
* Crash when trying to enable an already enabled peripheral
* Better defines
* Improved checks
* Lots of macro wrappers
* Copy spi changes for f18
* Fix crashes in LFRFID system
* Fix crashes in NFC system
* Improve comments
* Create FuriHalBus.md
* Update FuriHalBus.md
* Fix crash when launching updater
* Documentation: couple small fixes in FuriHalBus
* FuriHal: fix copypaste in furi_hal_rfid_tim_reset
* FuriHal: reset radio core related peripherals on restart
* FuriHalBus: is enabled routine and bug fix for uart
* RFID HAL: accomodate furi hal bus

Co-authored-by: Georgii Surkov <georgii.surkov@outlook.com>
Co-authored-by: Georgii Surkov <37121527+gsurkov@users.noreply.github.com>
Co-authored-by: SG <who.just.the.doctor@gmail.com>

* [FL-3330] fbt: added hooks for build & dist environments; added FW_ORIGIN_* macro for apps & SDK (#2705)

* fbt: added hooks for build & dist environments
* Moved env hooks to an optional file
* Fixed var name
* Added fw origin to device info
* Bumped device info version
* fbt: added FIRMWARE_ORIGIN option. Different implementation for FW_ORIGIN_* C macro.
* api: bumped versions
* fbt: added fbt_options_local.py
* gitignore: cleanup

Co-authored-by: あく <alleteam@gmail.com>

* [FL-3335] Dolphin: new animation (#2713)

* [FL-3340] SubGhz: fix flipper crashes after exiting broadcast blocking message and crash cli (#2714)

* NFC: Fix gen1 writing with invalid BCC (lost fix from PR #2511) (#2710)

Co-authored-by: あく <alleteam@gmail.com>

* Update dolphin.py (#2717)

Co-authored-by: あく <alleteam@gmail.com>

* NFC: fix MFC timings (#2719)

* digital signal: add optimization
* nfc test: more restrict tests
* digital signal: build as separate library
* digital signal: remove unused flags, format sources
* digital signal: fix cflag name
* target: fix build for f18 target

Co-authored-by: あく <alleteam@gmail.com>

* FuriHal: disable bus re-initialization on early init and extra asserts for AHB1,AHB2,AHB3 which must be left intact on entering to FUS (#2725)

* [DEVOPS-18]: Add map file parser, mariadb inserter (#2732)

* [FL-3293] FuriHal: add system setting to device info, bump device info version (#2736)

* [FL-3316] Settings: add contrast adjustment (#2737)

Co-authored-by: hedger <hedger@users.noreply.github.com>

* [FL-3213] f7: add PB9 to debug pins (#2738)

Co-authored-by: hedger <hedger@users.noreply.github.com>

* [FL-3352] Dolphin: new animation (#2735)

Co-authored-by: hedger <hedger@users.noreply.github.com>

* [FL-2872] Remove unused resources  (#2740)

Co-authored-by: hedger <hedger@users.noreply.github.com>

* Serial_CLI: Fixing serial cli logger error so it sounds more concise (#2721)

Co-authored-by: hedger <hedger@users.noreply.github.com>

* Furi: smaller critical enter and critical exit macro (#2716)

* Furi: smaller critical enter and critical exit macro
* api: bumped version

---------

Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: hedger <hedger@nanode.su>

* [FL-3331] SubGhz: add subghz_protocol_registry external API (#2712)

* [FL-3331] SubGhz: add subghz_protocol_registry external API

* F18: fix API version

---------

Co-authored-by: hedger <hedger@nanode.su>

* [FL-3045] Fix core2 permisions (#2742)

* Fix core2 permisions

* Fix Python code style

* scripts: copro: changed int literals

* scripts: copro: shorter string line in code

---------

Co-authored-by: hedger <hedger@nanode.su>
Co-authored-by: hedger <hedger@users.noreply.github.com>

* [FL-3246] fbt, ufbt: added checks for appid in app manifests(#2720)

Co-authored-by: あく <alleteam@gmail.com>

* Map parser licence description (#2739)

* Add map parser licence description
* Add map parser copyright text & licence note

---------

Co-authored-by: hedger <hedger@users.noreply.github.com>

* [FL-3346] fbt: added Flipper selection when multiple are connected over USB (#2723)

* fbt: added Flipper selection when multiple are connected over USB
* scripts: serial_cli: added --port (-p) option

* 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>

* [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>

* Scripts: WiFi board updater (#2625)

* Scripts: wifi updater
* WiFi board updater: lint, process download error
* WiFi board updater: auto cleanup temp dir
* Scripts: fix server address

* [FL-3267] ble: refactored bt gatt characteristics setup (#2587)

* ble: refactored bt gatt characteristics setup
* ble: naming fixes, small optimizations
* ble: expanded bitfields; fixed pvs warnings
* ble: fixed pvs warnings for real
* ble: using FlipperGattCharacteristicDataPropsFixed for char[] props
* ble: removed flipper_gatt_characteristic_props_const_char
* ble: gatt: naming changes
* ble: gatt: fixed device_info service constant attrs sizes
* ble: gatt: copy descriptors to char instances; reworked hid chars to be callback-based; moved max size getter to callback with NULL data; added comments
* ble: gatt: removed hid_svc_report_data_callback
* ble: hid svc: better double loop idx naming
* ble: hid svc: simplified hid_svc_update_info
* ble: gatt: removed magic values; fixed type for HidSvcGattCharacteristicInfo
* ble: gatt: moved long uuids to separate files

Co-authored-by: gornekich <n.gorbadey@gmail.com>
Co-authored-by: あく <alleteam@gmail.com>

* [FL-3359] github: added debugapps artifact; packaging resources per-target (#2750)

* github: added debugapps artifact; packaging resources per-target
* github: target name fixes
* github: fixed path for debug apps
* scripts: dist: removed lib stub artifact
* scripts: fixed broken SDK
* github: removed unused step

* FuriHal: always clock SMPS from HSI (#2643)

* FuriHal: always clock SMPS from HSI

* FuriHal: add clock startup time check, ensure that we conform to core2 config value

* FuriHal: set sleep mode to legacy if clock startup time is too high

---------

Co-authored-by: hedger <hedger@users.noreply.github.com>

* Core2, SRAM2: provide safety gap (#2754)

* Core2, SRAM2: use ob, provide safety gap
* thread: comment about critical section and scheduler state

* Services: simplify api (#2540)

Co-authored-by: あく <alleteam@gmail.com>

* weather_station: add oregon3 with THGR221 (#2748)

Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: あく <alleteam@gmail.com>

* [FL-3361] fbt: stable build dates (#2751)

* scripts: using commit date for clean build timestamp; current day otherwise
* scripts: version: Removing GIT_COMMIT_DATE from final data

Co-authored-by: あく <alleteam@gmail.com>

* [FL-3284] Fix reading Mifare Classic cards with unusual access conditions and fix emulation of unknown keys (#2620)

* I was outplayed by the C programming language
* Fix emulating empty keys as 0s
* Add exceptions for Detect Reader
* Sync api_symbols.csv for F18
* Outplayed by the C language [X2]

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>

* FuriHal: remove clock startup time tracking from clean builds (#2764)

* furi_hal_nfc: fix rfalTransceiveBitsBlockingTx's 4th argument to bits count rather than bytes count (#2773)

* [FL-3376] Fixed GATT attribute order  (#2776)

* hal: gatt: swapped rx/tx serial chars order
* hal: gatt: reordered HID attrs to maintain previous order

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>

* Debug: sync apps on attach, makes it possible to debug already started app that has crashed (#2778)

* hal nfc: add bus handling

* nfc hal: fix timers work

* nfc app: move old nfc suctom events

---------

Co-authored-by: end-me-please <90796271+end-me-please@users.noreply.github.com>
Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: あく <alleteam@gmail.com>
Co-authored-by: Max Andreev <drunkbatya.js@gmail.com>
Co-authored-by: MX <10697207+xMasterX@users.noreply.github.com>
Co-authored-by: Yukai Li <GMMan@users.noreply.github.com>
Co-authored-by: Sergey Gavrilov <who.just.the.doctor@gmail.com>
Co-authored-by: hedger <hedger@nanode.su>
Co-authored-by: Félix Legrelle <legrelle.f@gmail.com>
Co-authored-by: Georgii Surkov <37121527+gsurkov@users.noreply.github.com>
Co-authored-by: Nikolay Minaylov <nm29719@gmail.com>
Co-authored-by: minchogaydarov <134236905+minchogaydarov@users.noreply.github.com>
Co-authored-by: Avery <30564701+nullableVoidPtr@users.noreply.github.com>
Co-authored-by: technobulb <84107091+technobulb@users.noreply.github.com>
Co-authored-by: Sebastian Mauer <mauimauer@gmail.com>
Co-authored-by: micolous <micolous+gh@gmail.com>
Co-authored-by: Georgii Surkov <georgii.surkov@outlook.com>
Co-authored-by: Skorpionm <85568270+Skorpionm@users.noreply.github.com>
Co-authored-by: AloneLiberty <111039319+AloneLiberty@users.noreply.github.com>
Co-authored-by: Zoë Prosvetova <109866245+ZoeMeetAgain@users.noreply.github.com>
Co-authored-by: Astra <93453568+Astrrra@users.noreply.github.com>
Co-authored-by: DEXV <89728480+DXVVAY@users.noreply.github.com>
Co-authored-by: glebmashanov <65850300+glebmashanov@users.noreply.github.com>
Co-authored-by: g3gg0.de <git@g3gg0.de>
Co-authored-by: Tiernan Messmer <tiernan.messmer@gmail.com>
Co-authored-by: clashlab <nicolabriet@gmail.com>
Co-authored-by: Leopold <leommxj@gmail.com>
gornekich added a commit that referenced this pull request Jul 1, 2023
* fix typo in FuriHalDebuging.md (#2667)

* [FL-3317] fbt: allow strings for fap_version field in app manifests (#2672)

* [FL-3312] fix PIN retry count reset on reboot (#2671)

* api: added lib/nfc/protocols/nfc_util.h (#2674)

* Add new indexer (#2681)

* fbt: Use union for old py (#2685)

* fbt: Fix tar uid overflow when packaging (#2689)

* fbt: Fix tar uid overflow when packaging
* Fix trailing spaces

* [FL-3328] Removed user-specific data from tar artifacts (#2691)

* [FL-3327] Storage: common_rename is now POSIX compliant (#2693)

* Storage: common_rename is now POSIX compliant

* storage: check for success on storage_common_remove in file rename

---------

Co-authored-by: hedger <hedger@nanode.su>

* Services: remove deallocator for persistent services (#2692)

Co-authored-by: hedger <hedger@users.noreply.github.com>

* Storage, common_rename: check that old path is exists (#2698)

* Storage, common_rename: check that old path is exists
* Storage, common_rename: return correct status

* [FL-3315] Desktop,Rpc: desktop status subscription (#2696)

* Desktop,Rpc: desktop status subscription
* Desktop,RPC: properly handle unsubscribe

Co-authored-by: Sergey Gavrilov <who.just.the.doctor@gmail.com>

* ✨ Add fr-FR-mac key layout (#2666)

Co-authored-by: あく <alleteam@gmail.com>

* [FL-3322] Infrared: respect carrier frequency and duty cycle settings (#2677)

* Make infrared_worker respect carrier frequency and duty cycle
* Update comments

Co-authored-by: あく <alleteam@gmail.com>

* USB HID report timeout (#2682)

Co-authored-by: あく <alleteam@gmail.com>

* Add Airwell Prime DCI Series and match file style (#2686)

Co-authored-by: あく <alleteam@gmail.com>

* desktop: Refactor favorites settings and allow app browser in selection (#2687)

* desktop: Refactor favorites settings and allow app browser in selection
* desktop: Gate app browser entry add, just in case
* Desktop: simplify favorite application selection
* Desktop: refactor favorite application opening routine and cleanup code
* Desktop: handle exit from external application selection

Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: あく <alleteam@gmail.com>

* NFC: Add support for Gen4 "ultimate card" in Magic app (#2238)

* NFC: gen4 gtu detect in magic app
* NFC: more support for GTU card
* NFC: Fix Gen1 in Magic
* Allow double UIDs for MFClassic on GTU cards
* NFC: Small magic app tweaks
* nfc magic: notify card event on wiping
* nfc magic: fix power consumption
* nfc magic: disable i2c writing and fix wipe loop
* NfcMagic: correct formatting in printf
* NfcMagic: correct formatting in printf, proper version
* nfc_magic: rework card found notification and gen4 wiping

Co-authored-by: あく <alleteam@gmail.com>

* nfc: Fix MFUL tearing flags read (#2669)

Co-authored-by: gornekich <n.gorbadey@gmail.com>

* api: added toolbox/api_lock.h (#2702)

Co-authored-by: あく <alleteam@gmail.com>

* Update ac.ir (#2701)

Co-authored-by: あく <alleteam@gmail.com>

* 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>

* [LRFID] Add support for Nexkey/Nexwatch (#2680)

* [LRFID] Add support for Nexkey/Nexwatch
* Update protocol_nexwatch.c: Remove unnecessary check

Co-authored-by: SG <who.just.the.doctor@gmail.com>
Co-authored-by: あく <alleteam@gmail.com>

* Add Carrier 42QHB12D8S (#2707)

Co-authored-by: あく <alleteam@gmail.com>

* BadUSB: script execution pause (#2700)

Co-authored-by: あく <alleteam@gmail.com>

* 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>

* [FL-3295] FuriHal: add bus abstraction (#2614)

* FuriHal: add bus abstraction and port some subsystem to it
* Make PVS happy, cleanup code
* Update API symbols for f18
* F18: backport bus changes from f7
* Revert to STOP2 sleep mode
* Fix downgrading the firmware via updater
* Port iButton TIM1 to furi_hal_bus
* Port Infrared TIM1 and TIM2 to furi_hal_bus
* Just enable the timer bus
* Port furi_hal_pwm to bus API
* Fix include statement
* Port furi_hal_rfid to bus API
* Port furi_hal_subghz and others to bus API
* Remove unneeded include
* Improve furi_hal_infrared defines
* Reset LPTIM1 via furi_hal_bus API
* Crash when trying to enable an already enabled peripheral
* Better defines
* Improved checks
* Lots of macro wrappers
* Copy spi changes for f18
* Fix crashes in LFRFID system
* Fix crashes in NFC system
* Improve comments
* Create FuriHalBus.md
* Update FuriHalBus.md
* Fix crash when launching updater
* Documentation: couple small fixes in FuriHalBus
* FuriHal: fix copypaste in furi_hal_rfid_tim_reset
* FuriHal: reset radio core related peripherals on restart
* FuriHalBus: is enabled routine and bug fix for uart
* RFID HAL: accomodate furi hal bus

Co-authored-by: Georgii Surkov <georgii.surkov@outlook.com>
Co-authored-by: Georgii Surkov <37121527+gsurkov@users.noreply.github.com>
Co-authored-by: SG <who.just.the.doctor@gmail.com>

* [FL-3330] fbt: added hooks for build & dist environments; added FW_ORIGIN_* macro for apps & SDK (#2705)

* fbt: added hooks for build & dist environments
* Moved env hooks to an optional file
* Fixed var name
* Added fw origin to device info
* Bumped device info version
* fbt: added FIRMWARE_ORIGIN option. Different implementation for FW_ORIGIN_* C macro.
* api: bumped versions
* fbt: added fbt_options_local.py
* gitignore: cleanup

Co-authored-by: あく <alleteam@gmail.com>

* [FL-3335] Dolphin: new animation (#2713)

* [FL-3340] SubGhz: fix flipper crashes after exiting broadcast blocking message and crash cli (#2714)

* NFC: Fix gen1 writing with invalid BCC (lost fix from PR #2511) (#2710)

Co-authored-by: あく <alleteam@gmail.com>

* Update dolphin.py (#2717)

Co-authored-by: あく <alleteam@gmail.com>

* NFC: fix MFC timings (#2719)

* digital signal: add optimization
* nfc test: more restrict tests
* digital signal: build as separate library
* digital signal: remove unused flags, format sources
* digital signal: fix cflag name
* target: fix build for f18 target

Co-authored-by: あく <alleteam@gmail.com>

* FuriHal: disable bus re-initialization on early init and extra asserts for AHB1,AHB2,AHB3 which must be left intact on entering to FUS (#2725)

* [DEVOPS-18]: Add map file parser, mariadb inserter (#2732)

* [FL-3293] FuriHal: add system setting to device info, bump device info version (#2736)

* [FL-3316] Settings: add contrast adjustment (#2737)

Co-authored-by: hedger <hedger@users.noreply.github.com>

* [FL-3213] f7: add PB9 to debug pins (#2738)

Co-authored-by: hedger <hedger@users.noreply.github.com>

* [FL-3352] Dolphin: new animation (#2735)

Co-authored-by: hedger <hedger@users.noreply.github.com>

* [FL-2872] Remove unused resources  (#2740)

Co-authored-by: hedger <hedger@users.noreply.github.com>

* Serial_CLI: Fixing serial cli logger error so it sounds more concise (#2721)

Co-authored-by: hedger <hedger@users.noreply.github.com>

* Furi: smaller critical enter and critical exit macro (#2716)

* Furi: smaller critical enter and critical exit macro
* api: bumped version

---------

Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: hedger <hedger@nanode.su>

* [FL-3331] SubGhz: add subghz_protocol_registry external API (#2712)

* [FL-3331] SubGhz: add subghz_protocol_registry external API

* F18: fix API version

---------

Co-authored-by: hedger <hedger@nanode.su>

* [FL-3045] Fix core2 permisions (#2742)

* Fix core2 permisions

* Fix Python code style

* scripts: copro: changed int literals

* scripts: copro: shorter string line in code

---------

Co-authored-by: hedger <hedger@nanode.su>
Co-authored-by: hedger <hedger@users.noreply.github.com>

* [FL-3246] fbt, ufbt: added checks for appid in app manifests(#2720)

Co-authored-by: あく <alleteam@gmail.com>

* Map parser licence description (#2739)

* Add map parser licence description
* Add map parser copyright text & licence note

---------

Co-authored-by: hedger <hedger@users.noreply.github.com>

* [FL-3346] fbt: added Flipper selection when multiple are connected over USB (#2723)

* fbt: added Flipper selection when multiple are connected over USB
* scripts: serial_cli: added --port (-p) option

* 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>

* [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>

* Scripts: WiFi board updater (#2625)

* Scripts: wifi updater
* WiFi board updater: lint, process download error
* WiFi board updater: auto cleanup temp dir
* Scripts: fix server address

* [FL-3267] ble: refactored bt gatt characteristics setup (#2587)

* ble: refactored bt gatt characteristics setup
* ble: naming fixes, small optimizations
* ble: expanded bitfields; fixed pvs warnings
* ble: fixed pvs warnings for real
* ble: using FlipperGattCharacteristicDataPropsFixed for char[] props
* ble: removed flipper_gatt_characteristic_props_const_char
* ble: gatt: naming changes
* ble: gatt: fixed device_info service constant attrs sizes
* ble: gatt: copy descriptors to char instances; reworked hid chars to be callback-based; moved max size getter to callback with NULL data; added comments
* ble: gatt: removed hid_svc_report_data_callback
* ble: hid svc: better double loop idx naming
* ble: hid svc: simplified hid_svc_update_info
* ble: gatt: removed magic values; fixed type for HidSvcGattCharacteristicInfo
* ble: gatt: moved long uuids to separate files

Co-authored-by: gornekich <n.gorbadey@gmail.com>
Co-authored-by: あく <alleteam@gmail.com>

* [FL-3359] github: added debugapps artifact; packaging resources per-target (#2750)

* github: added debugapps artifact; packaging resources per-target
* github: target name fixes
* github: fixed path for debug apps
* scripts: dist: removed lib stub artifact
* scripts: fixed broken SDK
* github: removed unused step

* FuriHal: always clock SMPS from HSI (#2643)

* FuriHal: always clock SMPS from HSI

* FuriHal: add clock startup time check, ensure that we conform to core2 config value

* FuriHal: set sleep mode to legacy if clock startup time is too high

---------

Co-authored-by: hedger <hedger@users.noreply.github.com>

* Core2, SRAM2: provide safety gap (#2754)

* Core2, SRAM2: use ob, provide safety gap
* thread: comment about critical section and scheduler state

* Services: simplify api (#2540)

Co-authored-by: あく <alleteam@gmail.com>

* weather_station: add oregon3 with THGR221 (#2748)

Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: あく <alleteam@gmail.com>

* [FL-3361] fbt: stable build dates (#2751)

* scripts: using commit date for clean build timestamp; current day otherwise
* scripts: version: Removing GIT_COMMIT_DATE from final data

Co-authored-by: あく <alleteam@gmail.com>

* [FL-3284] Fix reading Mifare Classic cards with unusual access conditions and fix emulation of unknown keys (#2620)

* I was outplayed by the C programming language
* Fix emulating empty keys as 0s
* Add exceptions for Detect Reader
* Sync api_symbols.csv for F18
* Outplayed by the C language [X2]

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>

* FuriHal: remove clock startup time tracking from clean builds (#2764)

* furi_hal_nfc: fix rfalTransceiveBitsBlockingTx's 4th argument to bits count rather than bytes count (#2773)

* [FL-3376] Fixed GATT attribute order  (#2776)

* hal: gatt: swapped rx/tx serial chars order
* hal: gatt: reordered HID attrs to maintain previous order

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>

* Debug: sync apps on attach, makes it possible to debug already started app that has crashed (#2778)

* [FL-2837][FL-3270] Loader refaptoring: second encounter (#2779)

* Core: rename internal FlipperApplication to FlipperInternalApplication
* FAP Loader: move load_name_and_icon to flipper_application library
* Loader menu: rework api
* View holder: move to gui service
* Loader: simple "loading" worker
* Loader: applications dialog
* Loader: fapping
* Update f18 api
* Apps: remove fap_loader
* Libs, flipper application: store args, rename thread allocation
* Loader: error handling
* Apps: use loader error handling
* Loader: documentation
* FBT: accomodate loader
* Loader: do not raise gui error if loader is locked
* Archive: accomodate loader
* Loader: fix loading message
* Flipper: drop some old dolphin legacy
* Loader: generalize error construction

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>

* [FL-3373] Scroll acceleration (#2784)

* Support for scroll acceleration
* Revert keyboard acceleration
* Add scroll acceleration to the text box
* Remove redundant code from the file manager input handler
* Archive: slightly better scrolling
* Gui,Archive: final version of accelerated scrolling

Co-authored-by: あく <alleteam@gmail.com>

* fix: make `dialog_file_browser_set_basic_options` initialize all fields (#2756)

* fix: make `dialog_file_browser_set_basic_options` initialize all fields
* fix(GH-2756): use alternative test for `test_dialog_file_browser_set_basic_options_should_init_all_fields`

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>

* Fix M*LIB usage (#2762)

* Fix M*LIB usage
* Fix oplist definition of SubGhzFrequencyAnalyzerLogItem
* Fix oplist definition of M_CSTR_DUP_OPLIST
* Remove dependency of furi_string_utf8_decode to the internal definition of string_unicode_t
* Replace obsolete macro M_IF_DEFAULT1 to M_DEFAULT_ARGS

Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: あく <alleteam@gmail.com>

* Actions: unit_test and updater timeouts (#2807)

* added some extra timeouts, fixed duration of units run command and minor logging changes. No list_ports yet needed
* increased timeouts
* make pvs happy

---------

Co-authored-by: doomwastaken <k.volkov@flipperdevices.com>
Co-authored-by: SG <who.just.the.doctor@gmail.com>

* LF-RFID debug: make it work (#2793)

Co-authored-by: あく <alleteam@gmail.com>

* [FL-3386] Fast FAP Loader (#2790)

* FBT: build and add FastFAP(tm) sections
* Elf file: fast loading fap files. Really fast, like x15 times faster.
* fastfap.py: cleanup unused imports
* Toolchain: 23 version
* Elf File: remove log messages
* Scripts: fix file permissions
* FBT: explicit interpreter for fastfap invocation

Co-authored-by: あく <alleteam@gmail.com>

* [FL-3388] NFC/RFID detector  (#2795)

* Field_Validation: add driver fild_validation_rfid
* Field_Validation: add fild_validation_nfc
* Field_Presence: added field validation functions to furi_hal_nfc
* Field_Presence: added field validation functions to furi_hal_rfid
* Field_Presence: add "NFC/RFID detector" app
* Field_Presence: fix GUI "NFC/RFID detector"
* NFC/RFID detector: add auto turn on backlight when field is detected
* NFC/RFID detector: fix syntax errors
* ApiSymbols: fix incorrect name
* FuriHal: filed detect naming
* FieldDetector: fix grammar

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>

* Fix furi_hal_bus related crashes in plugins (#2799)

* Fix furi_hal_bus issues in plugins
* Rework pwm is running check
* ApiSymbols: update and sync targets

Co-authored-by: あく <alleteam@gmail.com>

* Fix fr-FR-mac keylayout (#2809)

Co-authored-by: あく <alleteam@gmail.com>

* Fix roll-over in file browser and archive (#2811)

* Add Mitsubishi MSZ-AP25VGK universal ac remote (#2800)

Co-authored-by: あく <alleteam@gmail.com>

* Added Power Button for an unknown Sharp Model (#2787)

Tested by me, i just asked if I can get the remote. Tested with the universal remote before and thought you would like to add the button data

Co-authored-by: あく <alleteam@gmail.com>

* NFC: Improvements to NFC Magic app (#2760)

Ability to write gen1b tags (ignore 0x43)
Ability to write gen1 7 byte UID tags
Fix detection of non magic cards

Co-authored-by: あく <alleteam@gmail.com>

* Keynote with vertical layout (#2794)

cherry pick from:
  * https://github.com/DarkFlippers/unleashed-firmware/pull/428/files
  * https://github.com/DarkFlippers/unleashed-firmware/pull/524/files
  Co-authored-by:
    * MX <10697207+xMasterX@users.noreply.github.com>
    * gid9798 <30450294+gid9798@users.noreply.github.com>

Co-authored-by: MX <10697207+xMasterX@users.noreply.github.com>
Co-authored-by: あく <alleteam@gmail.com>

* 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>

* 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>

* [FL-3211][FL-3212] Debug apps: speaker, uart_echo with baudrate (#2812)

* Music player: move music_worker to library
* Music player: drop cli
* Debug: speaker debug app
* Debug: baudrate arg in uart_echo app
* Libs: add music_worker to api
* Libs: add music_worker to targets linker_dependencies

Co-authored-by: あく <alleteam@gmail.com>

* increased timeouts (#2816)

Co-authored-by: doomwastaken <k.volkov@flipperdevices.com>

* Furi,FuriHal: various improvements (#2819)

* Lib: adjust default contrast for ERC displays

* Furi: various improvements in check module

* Format Sources

* FurHal: ble early hardfault detection

---------

Co-authored-by: hedger <hedger@users.noreply.github.com>

* [FL-3375] SubGhz: add CC1101 module external (#2747)

* SubGhz: add CC1101 Ext driver
* SubGhz:  move TIM2 -> TIM17 use cc1101_ext
* FuriHal: SPI move channel DMA 3,4 -> 6.7
* Documentation: fix font
* SubGhz: add work with SubGhz devices by link to device
* SubGhz: add support switching external/internal cc1101 "subghz chat"
* SubGhz: add support switching external/internal cc1101 "subghz tx" and "subghz rx"
* SubGhz: add "Radio Settings" scene
* SubGhz: add icon
* SubGhz: add supported CC1101 external module in SubGhz app
* SubGhz: fix check frequency supported radio device
* SubGhz: fix clang-formatted
* Sughz: move dirver CC1101_Ext to lib , compile cmd ./fbt launch_app APPSRC=radio_device_cc1101_ext
* SubGhz: fix CLI
* SubGhz: fix PVS
* SubGhz: delete comments
* SubGhz: fix unit_test
* Format sources
* Update api symbols and drivers targets
* Drivers: find proper place for target option
* SubGhz: external device connected method naming
* Format sources
* SubGhz:  fix module selection menu, when external is not connected
* SubGhz: fix furi_assert(device);
* SubGhz: fix split h and c
* SubGhz: furi_hal_subghz remove preset load function by name
* SubGhz: deleted comments
* Format Sources
* SubGhz: add some consts and fix unit tests
* Sync API Symbols

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>

* fix width of submenu items on Vertical orientation (#2306)

* fix width of submenu items on vertical view
* Gui: slightly better canvas width handling in submenu
* Gui: remove unused include

Co-authored-by: あく <alleteam@gmail.com>

* SubGHz: properly working with missing external driver (#2821)

* all: revert incorrect changes

* nfc app: apply correct changes

* nfc: build fixes

---------

Co-authored-by: end-me-please <90796271+end-me-please@users.noreply.github.com>
Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: あく <alleteam@gmail.com>
Co-authored-by: Max Andreev <drunkbatya.js@gmail.com>
Co-authored-by: MX <10697207+xMasterX@users.noreply.github.com>
Co-authored-by: Yukai Li <GMMan@users.noreply.github.com>
Co-authored-by: Sergey Gavrilov <who.just.the.doctor@gmail.com>
Co-authored-by: hedger <hedger@nanode.su>
Co-authored-by: Félix Legrelle <legrelle.f@gmail.com>
Co-authored-by: Georgii Surkov <37121527+gsurkov@users.noreply.github.com>
Co-authored-by: Nikolay Minaylov <nm29719@gmail.com>
Co-authored-by: minchogaydarov <134236905+minchogaydarov@users.noreply.github.com>
Co-authored-by: Avery <30564701+nullableVoidPtr@users.noreply.github.com>
Co-authored-by: technobulb <84107091+technobulb@users.noreply.github.com>
Co-authored-by: Sebastian Mauer <mauimauer@gmail.com>
Co-authored-by: micolous <micolous+gh@gmail.com>
Co-authored-by: Georgii Surkov <georgii.surkov@outlook.com>
Co-authored-by: Skorpionm <85568270+Skorpionm@users.noreply.github.com>
Co-authored-by: AloneLiberty <111039319+AloneLiberty@users.noreply.github.com>
Co-authored-by: Zoë Prosvetova <109866245+ZoeMeetAgain@users.noreply.github.com>
Co-authored-by: Astra <93453568+Astrrra@users.noreply.github.com>
Co-authored-by: DEXV <89728480+DXVVAY@users.noreply.github.com>
Co-authored-by: glebmashanov <65850300+glebmashanov@users.noreply.github.com>
Co-authored-by: g3gg0.de <git@g3gg0.de>
Co-authored-by: Tiernan Messmer <tiernan.messmer@gmail.com>
Co-authored-by: clashlab <nicolabriet@gmail.com>
Co-authored-by: Leopold <leommxj@gmail.com>
Co-authored-by: Petr Portnov | PROgrm_JARvis <gh@progrm-jarvis.ru>
Co-authored-by: PpHd <patrick.pelissier@gmail.com>
Co-authored-by: Konstantin Volkov <72250702+doomwastaken@users.noreply.github.com>
Co-authored-by: doomwastaken <k.volkov@flipperdevices.com>
Co-authored-by: Patrick Kilter <patrick.kilter@gmail.com>
Co-authored-by: Dmitry Zinin <admin@kami-no.ru>
Co-authored-by: Astra <me@astrra.space>
Co-authored-by: Slavik Nychkalo <slavik.nychkalo@gmail.com>
@AloneLiberty AloneLiberty deleted the nfc-magic-bcc-fix branch August 11, 2023 11:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Applications Non-core applications Bug NFC NFC-related
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants