Commit graph

1166 commits

Author SHA1 Message Date
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
MX
d86eb870d4
pre-merge fix 2023-06-07 00:28:26 +03:00
Skorpionm
dbd48a04d4
[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>
2023-06-06 23:13:41 +04:00
あく
76c70bdf2c
[FL-3316] Settings: add contrast adjustment (#2737)
Co-authored-by: hedger <hedger@users.noreply.github.com>
2023-06-06 21:46:01 +04:00
MX
a0e39ddb67
more checks just in case?? 2023-06-03 20:36:20 +03:00
Tiernan Messmer
2008247e65
Remove delay from emulation loop. This improves compatibility when the reader is Android. 2023-06-03 15:48:33 +03:00
MX
d16ba6c4c8
Fix stilmatic support? 2023-06-03 00:29:01 +03:00
MX
2dc0059b1c
NFC V, review gui fixes, disable debug output in digital signal 2023-06-02 16:47:54 +03:00
MX
b0c322ec90
Fix crash on second emulation NFC V 2023-06-02 15:03:01 +03:00
MX
4c134d8fdc
Merge branch 'ofw-dev' into dev 2023-06-01 16:19:37 +03:00
gornekich
1d7966f74e
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>
2023-06-01 21:37:47 +09:00
Tiernan Messmer
b18bf3eddb
nfcv code review fixes 2023-05-31 17:14:06 +03:00
MX
6374474b25
fmt 2023-05-31 10:39:11 +03:00
MX
c0d80a4f83
Merge branch 'dev' into keeloq_move_mf_to_keystore 2023-05-31 10:38:28 +03:00
gid9798
a260465721 Prog_mode to custom_btn 2023-05-30 22:18:54 +03:00
gid9798
da4a8eb5c1 Merge branch 'UFW_dev' into lfrfid_t5577 2023-05-30 11:20:01 +03:00
gid9798
a4c1ad22ef Removing duplicate code in t5577 passwd clear 2023-05-29 22:15:07 +03:00
MX
0ab530e750
Merge branch 'ofw-dev' into dev 2023-05-29 20:33:12 +03:00
hedger
8d2ea14f06
[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>
2023-05-30 01:40:56 +09:00
あく
3de856f8d5
[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>
2023-05-30 01:05:57 +09: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
Sebastian Mauer
44426c7612
[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>
2023-05-29 17:19:42 +09:00
MX
7b426b936e
Comment debug logs in digital signal
and comment some debug logs in nfc v
2023-05-28 19:24:21 +03:00
MX
1e1b85a575
SecPlus 2.0 - Add new custom button
Fix issue with add manually
2023-05-28 04:18:32 +03:00
MX
c8d396f94b
OFW PR 2680: RFID Add support for Nexkey/Nexwatch
by mauimauer
2023-05-28 02:49:29 +03: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
612d58b4b2
Merge branch 'ofw-dev' into dev 2023-05-26 16:04:03 +03:00
hedger
4f054ed535
api: added toolbox/api_lock.h (#2702)
Co-authored-by: あく <alleteam@gmail.com>
2023-05-26 21:57:24 +09:00
Yukai Li
5a7cd203cd
nfc: Fix MFUL tearing flags read (#2669)
Co-authored-by: gornekich <n.gorbadey@gmail.com>
2023-05-26 21:50:59 +09:00
MX
36102b8ee0
Merge branch 'ofw-dev' into dev 2023-05-26 12:03:49 +03:00
Georgii Surkov
ed1ebf9b93
[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>
2023-05-25 23:38:56 +09:00
MX
aab4d2bd34
API CleanUp part 3 2023-05-22 03:45:17 +03:00
gid9798
8597169e14
Merge branch 'DarkFlippers:dev' into keeloq_move_mf_to_keystore 2023-05-21 23:44:22 +03:00
gid9798
2414346ec3 keeloq to kestore 2023-05-20 16:15:01 +03:00
gid9798
2af8f00d0d fix 2023-05-20 01:25:05 +03:00
gid9798
2309656120 clean up 2023-05-20 01:19:13 +03:00
gid9798
09527c3ab6 keeloq 2023-05-20 01:15:36 +03:00
MX
e7965c6d95
De-libify name changer 2023-05-19 06:33:15 +03:00
MX
a7ee5fea93
Name changer as service + extra checks 2023-05-19 04:33:14 +03:00
MX
2b01766460
Mifare mini with sak 89 support 2023-05-18 02:38:45 +03:00
MX
d539b948a0
Revert hitag for now, need to cleanup more space 2023-05-17 23:06:41 +03:00
MX
51ba8b66b6
Save a little bit (~2k) of space 2023-05-17 23:05:44 +03:00
MX
c9ddecff87
OFW PR 2658: Hitag
by blackvault88
2023-05-17 21:18:05 +03:00
MX
d620285e0a
OFW PR 2669: nfc: Fix MFUL tearing flags read
by GMMan
2023-05-17 19:52:01 +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
e0cb823ed0
what happened here, ctrl+c / ctrl+v? 2023-05-17 14:46:41 +03:00
MX
174c00a8e7
Atomo Custom buttons 2023-05-17 14:45:48 +03:00
MX
26a113292b
CAME Atomo - Add manually support 2023-05-17 13:15:59 +03:00
MX
c2cf37145e
Merge branch 'ofw-dev' into dev 2023-05-15 22:12:17 +03:00
hedger
9dedcd07b6
api: added lib/nfc/protocols/nfc_util.h (#2674) 2023-05-15 20:55:22 +09:00
MX
d4bfc3f225
Fix debugging 2023-05-14 20:19:47 +03:00
MX
523c63fec7
Update readme and changelog
unrandomize detect reader for now
2023-05-14 07:40:48 +03:00
MX
c2713eff87
New way of changing device name
Settings scene, char Validator, Idea -> by Willy-JL
Implemented by me

Kod plohoi, ochen plohoi, kto mozhet - sdelaite kak nado, esli smozhete :)
Ya luche varianta ne pridumal poka 4to
2023-05-14 05:38:00 +03:00
MX
43e5daded2
fix small bugs 2023-05-14 04:11:26 +03:00
gid9798
d87df3e6c2 Change custom btn sending logic 2023-05-14 01:34:43 +03:00
gid9798
71f48ea39e Keeloq and Star line remove duplicate code 2023-05-14 00:48:06 +03:00
gid9798
6b56de5c93 SubGhz some changes 2023-05-13 23:16:28 +03:00
gid9798
07b2f0109a SubGhz: keloq 2023-05-13 21:57:25 +03:00
gid9798
23a24c42c1 SubGhz: Fix add manual Alutech AT 4N 2023-05-13 16:48:51 +03:00
gid9798
c0a26cf1eb SubGhz custom btn improved code readability some "if" optimization 2023-05-13 14:43:11 +03:00
gid9798
8012f9cd44 Fix offset in some files 2023-05-12 23:38:09 +03:00
MX
b2e55d7d84
Merge branch 'ofw-dev' into dev
:(
2023-05-11 17:47:14 +03:00
MX
9862876f06
SubGHz: Fix typos (#2661)
Co-authored-by: hedger <hedger@users.noreply.github.com>
2023-05-11 12:10:20 +09:00
hedger
9914aa40bd
[FL-3302] Part 2 of hooking C2 IPC (#2662) 2023-05-11 11:25:06 +09:00
MX
735fe31f3b
Fmt and cleanup some "if"s in protocols 2023-05-10 22:56:56 +03:00
MX
cca6606c78
fix typos from ofw 2023-05-10 21:48:55 +03:00
MX
face4bd3c7
Merge branch 'fz-dev' into dev 2023-05-09 18:28:46 +03:00
hedger
eebc6241b7
[FL-3302] ble: attempt to handle hardfaulted c2 (#2653)
* ble: attempt to handle hardfaulted c2
* MfKey32: nicer macros
* FuriHal: slightly different core2 hardfault message
* Update ReadMe

Co-authored-by: あく <alleteam@gmail.com>
2023-05-09 13:06:44 +09:00
g3gg0.de
e1c6e78b2e
added DigitalSequence and PulseReader (#2070)
* added DigitalSequence to chain multiple DigitalSignals
added PulseReader for hardware assisted digital signal sampling
* added send_time option to start a signal at a specific DWT->CYCCNT value
* fixed linter errors and undone function renaming
* fixed renaming
* flagged functions in api_symbols.csv
* allow gpio field to stay uninitialized in digital_signal_prepare_arr()
* fix test cases to match (expected) implementation
* pulse_reader: build as static library
Signed-off-by: g3gg0.de <git@g3gg0.de>
* fix starting level detection in pulse_reader
* added unit test for pulse_reader
* change pulse reader test timings to 1, 10 and 100 ms
* fine tuned timings for pulse_reader test
* pulse_reader_stop now deinits GPIO as recommended by @gornekich
* ran format_py
* pulse_reader: remove from API, allow to link with faps
Signed-off-by: g3gg0.de <git@g3gg0.de>
* remove unit test for pulse_reader again
* pulse_reader: add call to set GPIO pull direction
* make structures private, add C implementation of digital_signal_update_dma()
* digital_signal/pulse_reader: allow parameters for free to be NULL
* digital_signal: show unoptimized and optimized code for digital_signal_update_dma() next to each other
* pulse_reader: further optimize assembly code
* digital_signal: reduce code complexity of digital_signal_update_dma() by only reconfiguring DMA2
* digital_signal: remove assembly code, limiting the performance but increasing portability
* added recovery if the timer already expired
* digital_signal: fix memory leak
* digital_signal: keep lock until all DMA transfers have finished
* DigitalSequence: fix issues with concatenation of same levels and spurious bit flips
* DigitalSignal: use cyclic DMA buffer for sequences
* update api_symbols.csv
* Update api_symbols.csv for f18 target
* Patches from @gornekich to fix linter warnings.
* Remove some redundant if checks
* Remove some magic numbers and reformat.
* Remove forced terminating edge.

Signed-off-by: g3gg0.de <git@g3gg0.de>
Co-authored-by: gornekich <n.gorbadey@gmail.com>
Co-authored-by: Tiernan Messmer <tiernan.messmer@gmail.com>
Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2023-05-09 09:55:17 +09:00
hedger
241b4ef6e4
[FL-3299] furi_crash: added C2 status; added fw-version gdb command (#2638)
* furi_crash: added C2 status
* debug: Added "fw-version" gdb command; vscode: updated configuration to use new command
* debug: added fw-info command to debug_other session
* Toolbox: versioned structure for Version
* debug: fw-version: no longer needs an ELF file loaded
* debug: flipperversion: removed unused variable
* debug_other: print running fw version

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2023-05-09 07:31:39 +09:00
hedger
268b88be0d
[FL-3285] Removed STM32CubeWB module (#2608)
* libs: removed STM32CubeWB module; split cube into 3 submodules
* fixed f18 version
* fbt: options: fixed expected stack version
* pvs: updated for new paths
* fbt: ep: multithreaded submodule update
* libs: stm32cubewb: fixed duplicate include path; renamed to stm32wb; codeowners: updated paths; docs: updated paths
* pvs: updated paths
* libs: added cmsis_core from ARM sources, v.5.4.0, from https://github.com/ARM-software/CMSIS_5/tree/develop/CMSIS/Core/Include
* Updated stm32wb_copro structure
* PVS: exclude cmsis core from analysis

---------

Co-authored-by: あく <alleteam@gmail.com>
2023-05-09 06:30:33 +09:00
Skorpionm
d2ca67d261
[FL-3242] SubGhz: refactoring app (#2554)
* SubGhz: add SubGhzThresholdRssi
* SubGhz: remove direct reading of subghz-txrx-txrx_state
* SubGhz: remove direct reading subghz->txrx->hopper_state
* SubGhz: remove direct reading subghz->lock
* SubGhz: check load type file
* SubGhz: remove direct reading subghz->txrx->rx_key_state
* SubGhz: remove direct reading subghz->txrx->speaker_state
* SubGhz: refactoring subghz_scene_set_type.c
* SubGhz: moving "txrx" entity to a separate file
* SubGhz: show error tx start
* SubGhz: refactoring RPC
* SubGhz: value get optimizations
* SubGhz: fix name file
* SubGhz: add function description
* SubGhz: fix double back with a blocked transmission in this region and speacker, when a transmission is blocked in this region
* SubGhz: correct spelling
* SubGhz: better naming
* SubGhz: simplify includes

Co-authored-by: SG <who.just.the.doctor@gmail.com>
Co-authored-by: あく <alleteam@gmail.com>
2023-05-04 12:04:26 +09:00
MX
cae4790ef2
Merge branch 'fz-dev' into dev 2023-05-03 17:15:59 +03:00
hedger
c3ececcf96
[FL-3174] Dolphin builder in ufbt; minor ufbt/fbt improvements (#2601)
* ufbt: added "dolphin_ext" target (expects "external" subfolder in cwd with dolphin assets); cleaned up unused code
* ufbt: codestyle fixes
* scripts: fixed style according to ruff linter
* scripts: additional cleanup & codestyle fixes
* github: pass target hw code when installing local SDK with ufbt
* ufbt: added error message for missing folder in dolphin builder
* scripts: more linter fixes
* sdk: added flipper_format_stream; ufbt: support for --extra-define
* fbt: reduced amount of global defines
* scripts, fbt: rearranged imports

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2023-05-03 14:48:49 +09:00
MX
fe6bf3c7d6
Revert some changes 2023-05-02 02:25:52 +03:00
MX
3b02dd316d
Merge remote-tracking branch 'flipperdevices/astra/3284-mifare-classic-fix-read' into dev 2023-04-27 02:00:15 +03:00
Astra
102dd690b7 Fix emulating empty keys as 0s 2023-04-27 00:28:21 +03:00
Astra
0a32cd2528 I was outplayed by the C programming language 2023-04-27 00:27:57 +03:00
hedger
1ef70c0bb4
[FL-3280] cubewb: downgraded to v1.15.0 (#2605)
* cubewb: downgraded to v1.15.0
* hal: updated f18 symbols to match LL
* hal: flash: use furi_hal_cortex_timer for timeouts
* scripts: fixed cube version validation from config file
* hal: flash: added 3 seconds timeout when waiting for C2 to unlock flash controller. On timeout, triggers furi_check
* nfc: fixed missing interrupt setup on multiple platformSetIrqCallback() invocations
* hal: gpio: don't trigger furi_check on furi_hal_gpio_add_int_callback() with same parameters
* Reverted NFC fixes - will be in a separate PR
* scripts: storage: fixed exception handler for paths
2023-04-24 16:19:36 +09:00
MX
05fab99f42
Merge remote-tracking branch 'flipperdevices/hedgetr/stack15' into dev 2023-04-23 00:46:39 +03:00
MX
082db67373
Revert "why?"
This reverts commit 1092cc92be.
2023-04-23 00:46:09 +03:00
hedger
963b19e2e0
nfc: fixed missing interrupt setup on multiple platformSetIrqCallback() invocations 2023-04-23 01:31:07 +04:00
MX
1092cc92be
why? 2023-04-23 00:12:39 +03:00
hedger
3561f79cf4
cubewb: downgraded to v1.15.0 2023-04-22 20:42:27 +03:00
hedger
4671f8ca64
cubewb: downgraded to v1.15.0 2023-04-22 21:32:41 +04:00
MX
c1292d08de
Apply RFAL changes from OFW PR 2549 2023-04-22 17:28:55 +03:00
MX
57d9cdb3c4
Merge branch 'fz-dev' into dev 2023-04-20 16:08:09 +03:00
hedger
4d015a1106
[FL-3271] cubewb: updated to v1.16.0 (#2595)
* cubewb: updated project to v1.16.0
* hal: updated api_symbols for f18
* FuriHal: add missing enterprise sleep and insomnia
* FuriHal: slightly more paranoic sleep mode

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2023-04-20 21:57:51 +09:00
MX
dd1a92803e
Adding fallback Just in case 2023-04-20 01:24:04 +03:00
MX
c6e5ca1fec
Fix keeloq custom buttons bug
When you receive couple signals on read screen and open last one it was replacing its button with first one received
2023-04-19 11:51:08 +03:00
MX
059053b9b8
SubGHz Remote add Alutech AT4N Support
Fix null pointer dereference
2023-04-18 22:16:29 +03:00
MX
1a17699356
Improve nero radio encoder timings 2023-04-16 05:02:36 +03:00
MX
8a468fccf0
Nero Radio 57bit experimental support
+ encoder improvements and decoder changes

Please report if you find any issues with old 56bit systems that was working before this change!
2023-04-14 23:44:18 +03:00
MX
afab1bdaad
SubGhz - Temp Fix RAW recording and reading
and remove unused file
2023-04-14 23:37:20 +03: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
114e8d5b6a
Merge branch 'fz-dev' into dev 2023-04-10 18:41:22 +03:00
MX
4c7fa05bfe
Add alutech table to enviroment alloc and free 2023-04-10 02:55:16 +03:00