Commit graph

1150 commits

Author SHA1 Message Date
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
MX
c2997bb1fc
Trying to fix button issues in sbughz remote 2023-04-09 23:56:41 +03:00
MX
011c0b1914
Revert nfc changes too 2023-04-06 23:45:35 +03:00
あく
0d8518d31d
[FL-3232] FuriHal: fix gpio naming and add explicit pulls for vibro, speaker and ir_tx (#2565)
* FuriHal: fix gpio naming and add explicit pulls for vibro, speaker and ir_tx
* Github: workflow event debug print
* Github: proper PR head commit SHA extraction in get_env.py
2023-04-06 19:06:19 +10:00
MX
aac7654ca3
Merge branch 'fz-dev' into dev 2023-04-06 07:14:48 +03:00
Skorpionm
d1ad924216
[AVR_ISP]: add AVR ISP Programmer FAP (#2475)
* [AVR_ISP]: add AVR ISP Programmer FAP
* [AVR_ISP]: add auto detect AVR chip
* [AVR_ISP]: fix auto detect chip
* [AVR_ISP]: fix fast write flash
* AVR_ISP: auto set SPI speed
* AVR_ISP: add clock 4Mhz on &gpio_ext_pa4
* AVR_ISP: fix "[CRASH][ISR 4] NULL pointer dereference" with no AVR chip connected
* AVR_ISP: add AVR ISP Reader
* AVR_ISP: add read and check I32HEX file
* AVR_ISP: add write eerom, flash, fuse, lock byte
* AVR_ISP: add gui Reader, Writer
* Github: unshallow on decontamination
* AVR_ISP: move to external
* API: fix api_symbols
* AVR_ISP: add wiring scene
* GUI: model mutex FuriMutexTypeNormal -> FuriMutexTypeRecursive
* AVR_ISP: add chip_detect view
* AVR_ISP: refactoring gui ISP Programmer
* AVR_ISP: add gui "Dump AVR"
* AVR_ISP: add gui "Flash AVR"
* AVR_ISP: fix navigation gui
* GUI: model mutex FuriMutexTypeRecursive -> FuriMutexTypeNormal
* AVR_ISP: fix conflicts
* AVR_ISP: fix build
* AVR_ISP: delete images
* AVR_ISP: add images
* AVR_ISP: fix gui
* AVR_ISP: fix stuck in navigation
* AVR_ISP:  changing the Fuse bit recording logic
* AVR_ISP: fix read/write chips with memory greater than 64Kb
* AVR_ISP: fix auto set speed SPI
* AVR_ISP: fix gui
* ISP: switching on +5 volts to an external GPIO

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2023-04-06 12:13:30 +08:00
あく
2a26680acb
Furi: more gpio checks in HAL (#2549)
* Furi: more gpio checks in HAL
* Nfc: do not spawn service thread if it is already spawned

Co-authored-by: Sergey Gavrilov <who.just.the.doctor@gmail.com>
2023-04-06 10:19:39 +08:00
Anton Chistyakov
4c488bd970
Fixing parsing troika number (#2536)
Co-authored-by: あく <alleteam@gmail.com>
2023-04-05 12:16:20 +08:00
MX
dce5bfd723
OFW PR 2536: Fixing parsing troika card number
by @achistyakov

we tested on regular cards, reading is not broken, so this pr should not break anything
2023-04-02 01:11:05 +03:00
MX
cb12369b1c
Merge branch 'dev' into custom-buttons 2023-04-01 21:59:22 +03:00
MX
bd78c3b3ea
OFW PR 2475: AVR ISP Programmer FAP by @Skorpionm
merging before OFW, more testing needed!
2023-04-01 21:40:37 +03:00
MX
01719eceb1
oh i forgot to remove logs 2023-04-01 21:38:15 +03:00
gid9798
5603ed7ebb Transferring and combining the functionality of "custom buttons" into a separate file. 2023-04-01 21:37:04 +03:00
MX
7b1d7904c1
Beninca / Allmatic support 2023-04-01 21:36:59 +03:00
MX
d4a20bc37a
Merge branch 'fz-dev' into dev 2023-04-01 17:41:05 +03:00
MX
d207e3f889
Fix msgs 2023-04-01 17:40:46 +03:00
hedger
f192ccce2c
FatFS: use rtc for timestamping (#2555)
* fatfs: use rtc
* fatfs: removed duplicate get_fattime declaration
* pvs: fixed warnings for fatfs timestamp
* fatfs: fixed seconds packing
* FuriHal: critical section around RTC datetime access
* FatFS: remove unused configration defines, update documentation
* FuriHal: checks instead of assets in RTC

---------

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2023-04-01 23:50:30 +10:00
MX
e7cada7ac7
Improve type guessing by bits 2023-03-30 18:46:13 +03:00
MX
cae1a6cc08
SubGHz: ScherKhan more informative messages instead of "Unknown"
may be not correct, because we guessing type by bits
2023-03-30 04:51:52 +03:00
MX
e381951ecc
Fix SL 72bit false detections 2023-03-30 03:57:27 +03:00
MX
bb600218b6
Alutech AT4N + AN-Motors AT4 - add manually 2023-03-28 02:32:35 +03:00
MX
ce430ff7f6
Remove debug, change aprimatic default button 4 2023-03-28 01:58:35 +03:00
MX
130181614a
Aprimatic emulation support testing
thats was hard!
2023-03-27 23:10:45 +03:00
Astra
ae9659d32d
[FL-3193] Additional checks before invalidating the key (#2533) 2023-03-27 16:28:13 +09:00
MX
22406f8aca
MF Classic dict - Fix key delete, now works properly 2023-03-25 07:04:28 +03:00
Astra
5391b694d1
Additional checks before invalidating the key 2023-03-24 21:32:07 +03:00
Georgii Surkov
fad24efdf0
[FL-3188] Fix crash when emulating a DSGeneric key (#2530) 2023-03-24 09:26:43 +09:00
Georgii Surkov
b11161abb0
Fix crash when emulating a DSGeneric key 2023-03-24 01:19:38 +03:00
MX
795c8eeef7
Merge branch 'fz-dev' into dev 2023-03-22 21:13:39 +03:00
あく
7bf0a4786c
[FL-3152] Screen streaming improvements (#2498)
* Rpc: reserve some bandwidth when screen streaming
* Move furi_hal_compress to toolbox/comporess
* Lib: heatshrink as external submodule, compile warnings fixes, better buffer management
* Lib: cleanup compressor definitions
* Rpc: add canvas orientation support
* Format Sources
2023-03-23 03:00:48 +10:00
MX
9daa51eda4
Update DS1420 to latest changes 2023-03-22 18:41:50 +03:00
MX
a81b794475
Merge branch 'fz-dev' into dev 2023-03-22 18:36:59 +03:00
Georgii Surkov
8b224ecb15
[FL-3179] 1-Wire Overdrive Mode (#2522)
* Separate ibutton to its own module, add one_wire to f18
* Move onewire cli to a separate app
* Add definitions for normal and overdrive timings
* Update api definitions
* Add rough overdrive timings definition for onewire emulation
* Remove one_wire_host_timing.h
* Add rough overdrive timings for onewire host
* Improve overdrive mode
* Working overdrive mode from flipper to flipper
* Update thermometer example app
* Turn on otg power when running thermometer example app
* Implement reset overdrive switching
* Always exit out of overdrive mode
* Improve overdrive timings
* Fix typos
* Fix reset behaviour
* Use overdrive mode everywhere in DS1996
* Improve comments
* Bump API version

Co-authored-by: あく <alleteam@gmail.com>
2023-03-22 23:54:06 +09:00
MX
94d238c611
Add 418mhz to hopping list 2023-03-21 23:38:37 +03:00
MX
0d03039c19
Merge branch 'fz-dev' into dev 2023-03-21 18:05:13 +03:00
MX
f5b818541e
Add 318 mhz back to hopping list 2023-03-21 17:57:46 +03:00
MX
db54c463e6
Fix hopper stuck at 433.42 due to wide range tx'es
When we using 433.92 remote flipper in hopping mode will stuck at 433.42 and may loose signal because of that, need to avoid using close freqs in hopping, only freqs with bigger difference like 310 -> 315
2023-03-21 17:52:21 +03:00
Nikolay Minaylov
ce50b09b28
Remove hmac_sha256 from public API (#2519)
Co-authored-by: あく <alleteam@gmail.com>
2023-03-21 21:29:54 +09:00
MX
5660111b28
Merge branch 'fz-dev' into dev 2023-03-20 20:04:22 +03:00
Skorpionm
445a1aa7b0
SubGhz: fix Incorrect comparison in subghz_setting_get_hopper_frequency (#2518)
Co-authored-by: あく <alleteam@gmail.com>
2023-03-21 01:30:57 +09:00
Georgii Surkov
0917494a80
[FL-3168] Add one_wire lib to f18, separate ibutton (#2509)
* Separate ibutton to its own module, add one_wire to f18
* Move onewire cli to a separate app

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2023-03-21 01:23:17 +09:00
Georgii Surkov
1d91a572cc
[FL-3182] Fix typos in iButton (#2506)
* Fix a typo: right shift instead of greater than
* Fix a typo: proper iButton part number

Co-authored-by: あく <alleteam@gmail.com>
2023-03-21 00:22:40 +09:00
hedger
60ac2e9881
[FL-3161] Improved debugging experience for external apps (#2507)
* debug: automated support for multiple debug symbol files
* faploader: extra checks for app list state
* debug: trigger BP before fap's EP if under debugger
* faploader, debug: better naming
* docs: info on load breakpoint
* faploader: header cleanup
* faploader: naming fixes
* debug: less verbose; setting debug flag more often
* typo fix
2023-03-21 00:03:55 +09:00
MX
147a1c7aaa
iButton: Add DS1420 / Update changelog 2023-03-18 03:36:56 +03:00
Georgii Surkov
eb355d4a16
Fix a typo: right shift instead of greater than 2023-03-18 01:17:38 +03:00
MX
2cefc9aab0
Security+ 2.0 custom buttons 2023-03-16 18:14:39 +03:00
MX
cda605f578
Merge branch 'fz-dev' into dev 2023-03-16 17:44:22 +03:00
Guido Giorgi
25fd3c3400
iButton: Add support for Dallas DS1971 v2 (#2492)
* iButton: Add DS1971 Support refactored for v2
* Fix requested by gsurkov
* Fix DALLAS_COMMON_CMD_* use, cusotm data field to Eeprom and COPY_SCRAPTCHPAD
* Fix Emulation + Memory Info + Docs
* Fix docs, strings, refactor code

Co-authored-by: Georgii Surkov <georgii.surkov@outlook.com>
Co-authored-by: あく <alleteam@gmail.com>
2023-03-16 23:12:43 +09:00
MX
49378f0893
Merge branch 'fz-dev' into dev 2023-03-16 13:49:24 +03:00
Astra
e90042368f
[FL-3156] Mark keys as not found when they couldn't auth successfully (#2476)
* Mark keys as not found when they couldn't auth successfully
* Improve logging and fix the reading bug

Co-authored-by: あく <alleteam@gmail.com>
2023-03-16 17:58:07 +09:00
MX
2a040f245f
Merge branch 'fz-dev' into dev 2023-03-15 21:25:06 +03:00
Skorpionm
3a242e5fc3
SubGhz: bugfix unable to send, new generated secplus_v2 protocol (#2488)
Co-authored-by: あく <alleteam@gmail.com>
2023-03-15 21:16:52 +09:00
hedger
d12f76dacb
Nfc: fixes for latest PVS-studio 7.23 (#2490) 2023-03-15 21:01:33 +09:00
MX
dd99c22792
Merge branch 'fz-dev' into dev 2023-03-14 19:55:16 +03:00
hedger
53435579b3
[FL-3097] fbt, faploader: minimal app module implementation (#2420)
* fbt, faploader: minimal app module implementation
* faploader, libs: moved API hashtable core to flipper_application
* example: compound api
* lib: flipper_application: naming fixes, doxygen comments
* fbt: changed `requires` manifest field behavior for app extensions
* examples: refactored plugin apps; faploader: changed new API naming; fbt: changed PLUGIN app type meaning
* loader: dropped support for debug apps & plugin menus
* moved applications/plugins -> applications/external
* Restored x bit on chiplist_convert.py
* git: fixed free-dap submodule path
* pvs: updated submodule paths
* examples: example_advanced_plugins.c: removed potential memory leak on errors
* examples: example_plugins: refined requires
* fbt: not deploying app modules for debug/sample apps; extra validation for .PLUGIN-type apps
* apps: removed cdefines for external apps
* fbt: moved ext app path definition
* fbt: reworked fap_dist handling; f18: synced api_symbols.csv
* fbt: removed resources_paths for extapps
* scripts: reworked storage
* scripts: reworked runfap.py & selfupdate.py to use new api
* wip: fal runner
* fbt: moved file packaging into separate module
* scripts: storage: fixes
* scripts: storage: minor fixes for new api
* fbt: changed internal artifact storage details for external apps
* scripts: storage: additional fixes and better error reporting; examples: using APP_DATA_PATH()
* fbt, scripts: reworked launch_app to deploy plugins; moved old runfap.py to distfap.py
* fbt: extra check for plugins descriptors
* fbt: additional checks in emitter
* fbt: better info message on SDK rebuild
* scripts: removed requirements.txt
* loader: removed remnants of plugins & debug menus
* post-review fixes
2023-03-14 23:29:28 +09:00
MX
5ddb9bd444
Correct hopping freqs, now it actually works good 2023-03-12 18:07:54 +03:00
MX
027ae3f3f6
SubGHz: Add manually extend, add support for new protocols
Schellenberg / Stilmatic and Came Space keeloq protocols support
2023-03-12 15:32:47 +03:00
Sergey Gavrilov
c5db1aaaf5
Revert "Revert "Embed assets in elf file (#2466)""
This reverts commit a04c01a2fd.
2023-03-10 13:57:44 +03:00
Sergey Gavrilov
a04c01a2fd
Revert "Embed assets in elf file (#2466)"
This reverts commit 4fd043398a.
2023-03-10 01:43:46 +03:00
MX
68fed0e03d
Merge branch 'fz-dev' into dev 2023-03-09 21:17:57 +03:00
AloneLiberty
0190a161ba
NFC: Fix 0 block write possibility in Mifare Classic emulation (#2474)
Co-authored-by: あく <alleteam@gmail.com>
2023-03-10 02:50:25 +09:00
Sergey Gavrilov
4fd043398a
Embed assets in elf file (#2466)
* FBT: file_assets generator
* Elf file: process manifest section externally
* FBT, file_assets generator: add assets signature
* Storage: assets path alias
* Flipper application: assets unpacker
* Apps, Storage: use '/data' alias for apps data
* Storage: copy file to file
* Assets: log flag, fixes
* Update f18 api
* Assets: asserts
* Assets: fix signature_data check
* App assets: example
* Example assets: fix folder structure in readme
* Assets: fix error handling
* Assets builder: use ansii instead of utf-8, use .fapassets section instead of .fapfiles, add assets path to signature
* Elf file: comment strange places
* Storage: totaly optimized storage_file_copy_to_file
2023-03-10 01:01:53 +10:00
MX
cad2f2a065
Merge branch 'fz-dev' into dev 2023-03-08 00:46:38 +03:00
AloneLiberty
eb5dae1cda
NFC: Support reading Mifare Classic key B from sector trailer, reading sector with B key where A key can't read block, Nfc Magic app not using NFC folder by default (in file select) (#2437)
* NFC: Support reading Mifare Classic key B from sector trailer and reusing it for other sectors
* NFC: Fix my pointer typo
* NFC: Fix reading sector with B key where A key can't read block (fixes #2413) and fix Nfc Magic app not using NFC folder by default (in file select)
* NFC: Fix strange bug

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2023-03-08 03:33:59 +09:00
MX
1a9544778b
Default layout for non standard remotes 2023-03-04 05:42:53 +03:00
MX
fe84e9521c
More subghz updates and fixes 2023-03-04 00:03:04 +03:00
MX
91e2b466d3
Fix and update subghz protocols to use new error system 2023-03-03 23:34:43 +03:00
MX
b90060e574
Merge branch 'fz-dev' into dev 2023-03-03 23:22:40 +03:00
Skorpionm
72ca6b25e9
[FL-3106] SubGhz: better and more verbose error handling in protocols, stricter CAME validation (#2443)
* SubGhz: add error protocol
* WS: add error protocol
* SubGhz: error processing
* SubGhz: more stringent CAME protocol restrictions
* SubGhz: fix header duration CAME protocol
* SubGhz: delete comments
* SubGhz: sync SubGhzProtocolStatus with FuriStatus
* SubGhz: update documentation and bump api_version

Co-authored-by: あく <alleteam@gmail.com>
2023-03-04 00:09:13 +09:00
MX
f3ab4bc292
Merge branch 'fz-dev' into dev 2023-03-02 21:18:35 +03:00
Georgii Surkov
806428efeb
[FL-3070] iButton system and app refactoring (#2388)
* Add 1-wire thermometer example app stub
* Working 1-wire thermometer app
* Refactor app to use threads
* Clean up code, add comments
* Add CRC checking
* Increase update period
* Fix error in fbt
* Revert the old update period
* Use settable pin in onewire_host
* Use settable pin for onewire_slave
* Clear EXTI flag after callback, make private methods static in onewire_slave
* Do not hardcode GPIO pin number
* Remove iButton hal from furi_hal_rfid
* Remove most of furi_hal_ibutton
* Add some of furi_hal_ibutton back
* Slightly neater code
* Update CODEOWNERS
* Add furi_hal_gpio_get_ext_pin_number
* Create README.md
* Temporary get Metakom and Cyfral keys out of the way
* Better enum name
* Syncing work, does not compile
* Syncing work, now compiles
* Working read impl for DS1990 and DS1992
* Add the ability to display extended key data
* Get rid of DialogEx
* Add save and load API
* Better iButtonKey encapsulation
* Fix crash
* Load key code boilerplate
* More load key code boilerplate
* Minor code cleanup
* Implement loading and saving DS1990 keys
* Implement the Info scene
* Implement loading & saving for DS1992
* Implement read error scene stub
* Implement delete confirmation screen
* Better error messages (protocol-dependent)
* Minor old code cleanup
* Remove iButtonDevice, add command callback to iButtonSlave
* Implement draft emulation for DS1990
* Better emulation for DS1990
* Initial emulation implementation for DS1992
* Better common command definitions
* Use common submenu callback, add protocol list
* Improve ViewData screen
* Improve scene_add_type
* Add stubs for write functionality
* Improve naming consistency
* Implement writing a DS1992 onto another one
* Improve DS1992 write code
* Improve DS1992 write code once more
* Prepare write_blank for DS1990, delete ibutton_writer
* Implement writing DS1990 onto blanks
* Fix reading DS1990
* Partially implement writing DS1992 onto blanks
* Implement GUI for writing keys
* Implement GUI for emulating keys
* Reduce memory usage for pretty_format
* Automatically truncate data more than 256 bytes
* Initial implementation of DS1996 (not tested)
* Fix crash due to missing virtual function
* Improve emulation code
* Improve DS1992 emulation code
* Correct return value for onewire_slave_send
* Correct return value for onewire_slave_receive
* Implement emulation for DS1992 & DS1996
* Better constant names
* Simplify & optimise the emulation code
* Remove duplicate code
* Add skip rom command emulation
* Show loading animation for large keys
* Implement manual adding & editing of keys
* Use buffered file streams to speed up saving & loading
* Reset key name before adding a new one
* Sync a buffered file stream before saving
* Use the DSGeneric protocol as a fallback option
* Implement emulation via RPC
* Refactor iButton code in preparation for comparator keys
* Refactor iButton code in preparation for comparator keys once more
* Make some functions static
* Make protocols not rely on one_wire classes
* Improve ProtocolDict usage
* Improve ProtocolDict usage more
* Implement reading Metakom & Cyfral keys
* Rename some files
* Better file structure
* Implement a unified interface for misc protocols
* Implement a unified interface for dallas protocols
* Concrete types for Dallas protocols
* Implement a unified interface for all key types
* Improved type naming
* Improved private types
* Proper types in protocol definitions
* Implement emulation for Cyfral & Metakom keys
* Implement save&load for Metakom & Cyfral keys
* Better type names
* Rename files, better names
* Allocate iButtonProtocols like a normal class
* Reset the key each time the start scene is selected
* Improve comments and constants
* Add ibutton_protocols to SDK headers
* Add ibutton_key to SDK headers
* Add ibutton_key to SDK headers
* Implement reading via cli
* Implement emulation via cli
* Implement writing Dallas blanks via cli
* Correctly revert the editing if cancelled by the user
* Correct committing mishap
* Elide the long text on the info screen
* Change key name for data in Misc keys
* Update iButtonFileFormat.md
* Remember the key's folder
* Save menu position in ReadKeyMenu and SavedKeyMenu
* Correct use of preselected path in file browser

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2023-03-02 22:23:33 +09:00
Sergey Gavrilov
777a4d109d
[FL-3055] Getter for application data path (#2181)
* Threads: application id
* Unit tests: appsdata getter test
* Unit tests: moar test cases for appsdata getter
* Unit tests: remove folders after test
* Storage: dir_is_exist, migrate, + unit_tests
* Plugins: migration
* Storage: common_exists, moar unit_tests 4 "common_migrate", "common_migrate" and "common_merge" bugfixes
* Storage: use FuriString for path handling
* Storage API: send caller thread id with path
* Storage: remove StorageType field in storage file list
* Storage: simplify processing
* Storage API: send caller thread id with path everywhere
* Storage: /app alias, unit tests and path creation
* Storage, path helper: remove unused
* Examples: app data example
* App plugins: use new VFS path
* Storage: file_info_is_dir
* Services: handle alias if the service accepts a path.
* App plugins: fixes
* Make PVS happy
* Storage: fix storage_merge_recursive
* Storage: rename process_aliases to resolve_path. Rename APPS_DATA to APP_DATA.
* Apps: use predefined macro instead of raw paths. Example Apps Data: README fixes.
* Storage: rename storage_common_resolve_path to storage_common_resolve_path_and_ensure_app_directory
* Api: fix version
* Storage: rename alias message
* Storage: do not create app folders in path resolving process in certain cases.

---------

Co-authored-by: Astra <93453568+Astrrra@users.noreply.github.com>
Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2023-03-02 03:57:27 +10:00
MX
cf6dc9f895
Fix timings for CAME protocol, Fix #280 2023-03-01 00:25:11 +03:00
MX
8deb29a8ff
Fix #370 and fix other protocol counter 2023-02-28 21:45:55 +03:00
MX
c3a6ba3c02
Small fixes 2023-02-28 07:09:13 +03:00
MX
cbb09b6812
BFT Programming mode and Add manually 2023-02-28 06:02:22 +03:00
MX
9c9688dd5b
Nice One manual adding support 2023-02-28 00:41:14 +03:00
MX
21c52df090
bft programming mode & run fbt format 2023-02-28 00:10:16 +03:00
MX
2c95a7cba4
Somfy Telis - Custom buttons + Prog mode 2023-02-28 00:02:30 +03:00
MX
182296d8af
Nice flor s - custom buttons 2023-02-27 01:13:21 +03:00
MX
5b0c5a82c0
Merge branch 'fz-dev' into dev 2023-02-26 21:24:38 +03:00
あく
478390de19
Drivers: remove excessive check in bq25896 and make PVS happy (#2436) 2023-02-27 04:06:19 +10:00
Shane Synan
09edf66a2a
FuriHal, Power, UnitTests: fix, rename battery charging voltage limit API (#2228)
* FuriHal, Power, UnitTests: rename battery charge voltage limit API
* FuriHal: bump API, power info major versions
* Power: fix battery charge voltage limit for > 7.935v

Co-authored-by: あく <alleteam@gmail.com>
2023-02-27 02:23:39 +09:00
MX
172c0e077f
Fix counter 2023-02-25 23:25:32 +03:00
MX
4dbb55d740
Beninca support 2023-02-25 23:10:59 +03:00
MX
ba09da107a
Worst code ever
subghz imporvements

- hold right to delete signal in read
- extra buttons in saved signals
- ability to change counter increase value in debug
2023-02-25 22:28:35 +03:00
Round-Pi
e9aa2d3449
Merge branch 'DarkFlippers:dev' into dev2 2023-02-20 21:24:32 -05:00
MX
7d4bffb575
Merge branch 'fz-dev' into dev 2023-02-21 03:00:48 +03:00
Round-Pi
b89902942b typo combing 2023-02-20 10:55:53 -05:00
Astra
b15c4afea1
[FL-3122] Re-init NFC when starting the worker (#2399)
* Re-init NFC when starting the worker
* FuriHal: cleanup nfc init/deinit sequence
* FuriHal: a little bit more defensive nfc init

Co-authored-by: あく <alleteam@gmail.com>
2023-02-20 23:44:03 +09:00
MX
de07313173
Merge pull request #335 from assasinfil/nice-one
Nice one encoder
2023-02-13 21:11:03 +03:00
assasinfil
921db0bb22
Bugfix 2023-02-13 21:04:11 +03:00
assasinfil
c56eaae89d
Data save fix 2023-02-13 20:49:39 +03:00
assasinfil
185bb3277a
Test fix 2023-02-13 19:58:07 +03:00
MX
b5a60dc10b
Merge branch 'fz-dev' into dev 2023-02-13 19:30:36 +03:00
MX
f4af57d15a
Revert "Temp fix of broken ibutton emulation"
This reverts commit 1831902fbd.
2023-02-13 19:29:48 +03:00
hedger
d0c6c3402c
Updater visual fixes (#2391)
* updater: removed unused code; fbt: fixed build error processing in certain cases
* updater: simplified internal pre-update state
* updater: rebalanced stage weights; fixed progress hiccups
2023-02-13 23:07:53 +09:00
Georgii Surkov
5a730e3adc
[FL-3107] Fix Cyfral & Metakom emulation (#2392)
* Fix Cyfral & Metakom emulation

Co-authored-by: あく <alleteam@gmail.com>
2023-02-13 20:33:15 +09:00
assasinfil
d179199a42
Need fix 2023-02-12 00:01:43 +03:00
jbohack
73a9425f73 added the common pager frequency to the frequency list 2023-02-11 15:20:34 -05:00
MX
1831902fbd
Temp fix of broken ibutton emulation
Reverted lib changes and added old api

TODO: Find what causes that issue, issue also present in official dev branch
2023-02-11 21:09:39 +03:00
assasinfil
f388a7ecab
Bit fix 2023-02-11 20:26:18 +03:00
assasinfil
92d55ec90f
Fix 2023-02-11 20:09:36 +03:00
assasinfil
f86582b99e
Fix 2023-02-11 20:09:01 +03:00
assasinfil
c2545a2f7b
Encoder fix 2023-02-11 19:18:42 +03:00
MX
81064f8e43
Alutech display text fixes 2023-02-10 23:32:49 +03:00
MX
bd2d7bf42f
Small fixes 2023-02-10 22:48:35 +03:00
MX
e9df7c9b72
Merge pull request #322 from assasinfil/alutech_at_4n
Alutech at 4n
2023-02-10 22:33:04 +03:00
assasinfil
14331a197b
Timeout after preambula fix 2023-02-10 21:52:13 +03:00
assasinfil
e40444b526
Iterators fix 2023-02-10 21:49:28 +03:00
assasinfil
0521bd4320
Encoder full realization 2023-02-10 21:42:07 +03:00
assasinfil
6871c2c142
Encoder fix 2023-02-10 20:34:27 +03:00
assasinfil
b79cac4473
Encoder completed with bad crc 2023-02-10 19:03:32 +03:00
assasinfil
5cf4f5fab4
Cleanup 2023-02-10 16:32:30 +03:00
assasinfil
d9f6b02da5
Hop fix 2023-02-10 16:17:56 +03:00
assasinfil
a551317cc2
Encoder fix 2023-02-10 15:55:31 +03:00
assasinfil
727c21d60a
Merge branch 'dev' into kinggates_stylo_4k 2023-02-09 22:47:53 +03:00