Commit Graph

960 Commits

Author SHA1 Message Date
Georgii Surkov
066da4080b
[FL-2792] AC Universal Remote (#1725)
* Add Universal AC Remote scene
* Implement AC gui
* Basic working implemetation
* Another Universal AC Remote implementation
* Update icons
* Adjust button positions
* Revert old ButtonPanel class
* Update resource manifest
* [FL-2627] Flipper applications: SDK, build and debug system (#1387)
* Update api definitions
* Add UniversalRemotes documentation
* Use more Flipper-friendly signal names

Co-authored-by: SG <who.just.the.doctor@gmail.com>
2022-09-20 14:09:37 +09:00
David
f5ff6438d1
NFC user dict list, delete, and de-duplication. (#1533)
* Add MFC user keys list
* Leakey submenu fix
* Set next target for Save/Delete success scenes
* Delete individual user keys
* Update count of total keys
* Fix memory leak
* Check for duplicate keys
* Remove a submodule that I never added?
* Swap and position icons
* Revamp according to design doc
* Rename icons to include size and replace keychain icon with smaller variant
* Fix typos
* Final fixes
* Fufill requested changes
* Cleanup comments
* Merge dev after SD app loading
* Fixing icon names
* Revert merge mistakes and API version
* Scene switching adjustments
* F7: add/change/remove some nfc icons in api_symbols.csv

Co-authored-by: あく <alleteam@gmail.com>
2022-09-20 01:43:53 +09:00
Astra
9f3b80e606
Add new card parsers (#1503)
* Add the "Two cities" parser
* Add plantain and plantain4k parsers
* Add new parsers to the supported list
* United card PoC
* Fix nfc device not sleeping
* Completely read the 4K troika variants
* Correct naming
* Update to reflect upstream changes
* Add support for MfUl info
* Fix parsers
* Card type detection fixes
* Remove debug info
* Fixes for the verification of cards
* nfc: fix verification for supported cards
* nfc: remove unused vars
* Improve card reading reliability and fix plantain
* plantain: change log level

Co-authored-by: gornekich <n.gorbadey@gmail.com>
2022-09-20 01:05:04 +09:00
Max Lapan
d003db0404
SubGhz: Oregon v2.1 decoder (#1678)
* Oregon v2.1 decoder
* Refactor FSM to switch
* Refactor headers
* Format strings
* Unit tests of oregon2
* Cleanups
* Add oregon2 raw data to random_test_raw.sub
* Adjust count of packets detected on random test
* Format sources

Co-authored-by: あく <alleteam@gmail.com>
2022-09-19 23:24:24 +09:00
Patrick Cunningham
c7cd5721ed
Picopass: detect and show SE / SIO (#1701)
* detect and show SE / SIO
* fix fault
* remove bad read check

Co-authored-by: あく <alleteam@gmail.com>
2022-09-19 22:37:12 +09:00
Nikolay Minaylov
fb476c29e6
RFID: fix read info screen (#1723)
* RFID: fix read info screen
* Fix line break for long data string
* Protocol data redecoding before write

Co-authored-by: SG <who.just.the.doctor@gmail.com>
Co-authored-by: あく <alleteam@gmail.com>
2022-09-19 22:21:40 +09:00
Nikolay Minaylov
d80329b323
[FL-2815, FL-2821] Dummy mode (#1739)
* Dummy mode implementation
* dumb -> dummy
* F7: Add new api_symbols: game icon
* Starting snake game from dummy mode

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2022-09-19 22:03:42 +09:00
Astra
3d3c422751
[FL-2674] Show error popup when NFC chip is not init/disconnected (#1722)
* Show error popup when NFC chip is not init/disconnected
* Move to dialogs for the error message
* Fix a memory leak and wrap the hal check
* F7: update api_symbols.csv, add furi_hal_nfc_is_init

Co-authored-by: SG <who.just.the.doctor@gmail.com>
Co-authored-by: あく <alleteam@gmail.com>
2022-09-19 21:46:56 +09:00
hedger
ed385594a3
faploader: more subsystem headers in API table (#1742)
* faploader: more subsystem headers in API table; not counting header entries for SDK version change
* subghz: removed dead function
* Adjusted API version
* hal: removed furi_hal_power_get_system_voltage
* lib: mbedtls: additional flags for .fap linkage
* fbt: rebuilding assets when git commit id changes
* fbt: removed assets rebuild on git commit id change; added explicit dependency for SDK source on compiled assets parts; removed unneeded sdk regeneration runs
* fbt: changed stock plugins to EXTERNAL apps; restored building app as a PLUGIN as a part of main fw as well as a .fap; readme fixes
* fbt: restored certain apps to PLUGIN type
* fbt: app manifests: renamed version->fap_version, added extra fields
* fbt: fixed version processing after rename

Co-authored-by: あく <alleteam@gmail.com>
2022-09-19 21:39:00 +09:00
Astra
60bce7b8d8
[FL-2780] NFC Notifications fix (#1731)
* Show error popup when NFC chip is not init/disconnected
* Move to dialogs for the error message
* NFC notifications fixed to match the intended design
* Revert "Move to dialogs for the error message"
* Revert "Show error popup when NFC chip is not init/disconnected"

Co-authored-by: SG <who.just.the.doctor@gmail.com>
Co-authored-by: あく <alleteam@gmail.com>
2022-09-16 00:49:10 +09:00
Skorpionm
8b05bd1106
[FL-2814] SubGhz: fix display information in the file if the frequency is not available for transmission in the given region (#1724) 2022-09-16 00:42:44 +09:00
Nikolay Minaylov
a6052be0f1
Charging icon update fix (#1733)
* Power: refresh battery indicator on charger plug/unplug

Co-authored-by: SG <who.just.the.doctor@gmail.com>
Co-authored-by: あく <alleteam@gmail.com>
2022-09-15 23:13:48 +09:00
hedger
28beff1ab6
Fbt: fixed gdb-py path for MacOS, docs: spelling fixes, codeowners (#1736)
* fbt: fixed gdb-py path for MacOS, docs: spelling fixes
* Gtihub: update codeowners

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2022-09-15 22:40:26 +09:00
SG
b9a766d909 [FL-2627] Flipper applications: SDK, build and debug system (#1387)
* Added support for running applications from SD card (FAPs - Flipper Application Packages)
* Added plugin_dist target for fbt to build FAPs
* All apps of type FlipperAppType.EXTERNAL and FlipperAppType.PLUGIN are built as FAPs by default
* Updated VSCode configuration for new fbt features - re-deploy stock configuration to use them
* Added debugging support for FAPs with fbt debug & VSCode
* Added public firmware API with automated versioning

Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: SG <who.just.the.doctor@gmail.com>
Co-authored-by: あく <alleteam@gmail.com>
2022-09-15 02:21:03 +09:00
Nikolay Minaylov
0f6f9ad52e
[FL-2753] RFID app port to plain C (#1710)
* LF RFID: port to plain C
* LFRFID debug port to C, new reading screen
* LFRFID debug: fix pvs-studio warnings
* RFID read view: remove unused input callback
* RFID read view: animation update
2022-09-09 01:40:33 +09:00
あく
ff33bc6aea
Furi: wait for timer wind down in destructor (#1716) 2022-09-08 09:47:23 +03:00
あく
3a767c9c02
[FL-2794] Lib: update LFS to v2.5.0, lower update free page limit (#1706)
* Lib: update lfs to v2.5.0

* Storage: set minimum free pages for update on internal storage to 3

* Updater: lower min int free space limit

* lfs: disabled debug and trace logs by default

Co-authored-by: hedger <hedger@nanode.su>
2022-09-05 20:40:20 +03:00
gornekich
1853359d78
[FL-2759], [FL-2766] NFC collect params for mfkey32 attack (#1643)
* nfc: start nfc over rpc
* nfc: add detect reader state
* nfc: add reader analyzer
* nfc: rework reader analyzer
* reader_analyzer: print collected nonces to debug
* reader analyzer: add save on SD card
* reader_analyzer: separate mfkey related part to different file
* mfkey32: add logic for collecting parameters
* nfc: rework pcap with reader analyzer
* nfc: add logger for reader
* nfc: clean up
* nfc: add detect reader view
* nfc: add detect reader and mfkey nonces scenes
* nfc: add mfkey comlplete scene
* nfc: add new assets
* nfc: fix gui
* nfc: fix iso14443-4 UID emulation
* nfc: add no sd card notification
* nfc: fix grammar

Co-authored-by: あく <alleteam@gmail.com>
2022-09-03 21:25:36 +09:00
Georgii Surkov
ed2c607dd3
[FL-2776] IR CLI Decode Command (#1692)
* Add decode option to Infrared app
* Implement saving results to file
* Refactor code
* Correct formatting
* Refactor code
* Better command line arguments handling
* Accept generic IR files
* Remove unneeded define

Co-authored-by: あく <alleteam@gmail.com>
2022-09-03 19:46:07 +09:00
Skorpionm
a3932cfa6d
[FL-2787] SubGhz: add protocol Clemsa, fix decoder BETT (#1696)
* SubGhz: add protocol Clemsa
* SubGhz: fix decoder BETT protocol

Co-authored-by: あく <alleteam@gmail.com>
2022-09-03 15:19:01 +09:00
Skorpionm
0ee4573a65
SubGhz: add protocol Intertechno_V3 (#1622)
* SubGhz: add decode Intertechno_V3
* SubGhz: add encoder Intertechno V3
* SubGhz: add uni_test Intertechno V3
* SubGhz: fix syntax
* SubGhz: add Intertechno V3 dimming mode
* SubGhz: fix parsing event Magellen protocol
* SubGhz: fix syntax
* SubGhz: fix encoder dimm mode

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2022-08-31 23:27:34 +09:00
Skorpionm
e7a5d19f9c
[FL-2778] SubGhz: fix CLI "subghz tx" (#1681)
* SubGhz: fix CLI "subghz tx"
* Fix qoutes in amap workflow
* Github: fix step naming
* fix quotes in PR name again

Co-authored-by: あく <alleteam@gmail.com>
Co-authored-by: DrunkBatya <drunkbatya.js@gmail.com>
2022-08-31 00:22:24 +09:00
Eric Betts
8e9043003f
Picopass write (#1658)
* [picopass] Prevent false success with non-standard key
* UI for writing
* worker function for write
* Update write command value
* Show card read failure message

Co-authored-by: あく <alleteam@gmail.com>
2022-08-30 22:59:34 +09:00
Georgii Surkov
5e2a90c6f1 [FL-2773] Fix crash after cancelling Learn New Remote #1675
Co-authored-by: あく <alleteam@gmail.com>
2022-08-30 18:22:14 +09:00
Walter Doekes
611b7e15ed
Remove execute permissions from *.c and *.h files (#1651)
* Add permission fix (no execute bit for source files) to fbt lint|format
* Remove execute bit from 59 source files using fbt format
* Also list which permissions are unwanted in lint.py
* Also remove exec permissions from lib/../rfal_nfc.c

Co-authored-by: あく <alleteam@gmail.com>
2022-08-30 01:20:57 +09:00
SG
99a7d06f71
Speedup SD card & enlarge your RAM. (#1649)
* FuriHal: sram2 memory manager
* FuriHal: sram2 memory allocator
* FuriHal: allow NULL buffers for txrx in spi hal
* SD card: sector cache
* FuriHal: fix init in memory hal
* RPC: STARTUP instead SERVICE
* Memory: pool "free" command
* Thread: service can be statically allocated in a memory pool

Co-authored-by: あく <alleteam@gmail.com>
2022-08-27 13:25:47 +09:00
Yukai Li
ab4bb55d0f
nfc: Change furi_assert to furi_crash for default switch cases (#1662)
* nfc: Change furi_assert to furi_crash for default switch cases
* Nfc: change MiFare Ultralight crash message

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2022-08-26 01:07:54 +09:00
SG
7e20df7e93
LFRFID RC fixes (#1652)
* lfrid: fix write validation
* lfrid app: restore key data after write
2022-08-24 23:41:59 +09:00
Nikolay Minaylov
b0daa601ad
[FL-2727, FL-2749] New icon in BLE remote app #1644
Co-authored-by: あく <alleteam@gmail.com>
2022-08-24 01:18:28 +09:00
SG
9bfb641d3e
[FL-2529][FL-1628] New LF-RFID subsystem (#1601)
* Makefile: unit tests pack
* RFID: pulse joiner and its unit test
* Move pulse protocol helpers to appropriate place
* Drop pulse_joiner tests
* Generic protocol, protocols dictionary, unit test
* Protocol dict unit test
* iButton: protocols dictionary
* Lib: varint
* Lib: profiler
* Unit test: varint
* rfid: worker mockup
* LFRFID: em4100 unit test
* Storage: file_exist function
* rfid: fsk osc
* rfid: generic fsk demodulator
* rfid: protocol em4100
* rfid: protocol h10301
* rfid: protocol io prox xsf
* Unit test: rfid protocols
* rfid: new hal
* rfid: raw worker
* Unit test: fix error output
* rfid: worker
* rfid: plain c cli
* fw: migrate to scons
* lfrfid: full io prox support
* unit test: io prox protocol
* SubGHZ: move bit defines to source
* FSK oscillator: level duration compability
* libs: bit manipulation library
* lfrfid: ioprox protocol, use bit library and new level duration method of FSK ocillator
* bit lib: unit tests
* Bit lib: parity tests, remove every nth bit, copy bits
* Lfrfid: awid protocol
* bit lib: uint16 and uint32 getters, unit tests
* lfrfid: FDX-B read, draft version
* Minunit: better memeq assert
* bit lib: reverse, print, print regions
* Protocol dict: get protocol features, get protocol validate count
* lfrfid worker: improved read
* lfrfid raw worker: psk support
* Cli: rfid plain C cli
* protocol AWID: render
* protocol em4100: render
* protocol h10301: render
* protocol indala26: support every indala 26 scramble
* Protocol IO Prox: render
* Protocol FDX-B: advanced read
* lfrfid: remove unused test function
* lfrfid: fix os primitives
* bit lib: crc16 and unit tests
* FDX-B: save data
* lfrfid worker: increase stream size. Alloc raw worker only when needed.
* lfrfid: indala26 emulation
* lfrfid: prepare to write
* lfrfid: fdx-b emulation
* lfrfid: awid, ioprox write
* lfrfid: write t55xx w\o validation
* lfrfid: better t55xx block0 handling
* lfrfid: use new t5577 functions in worker
* lfrfid: improve protocol description
* lfrfid: write and verify
* lfrfid: delete cpp cli
* lfrfid: improve worker usage
* lfrfid-app: step to new worker
* lfrfid: old indala (I40134) load fallback
* lfrfid: indala26, recover wrong synced data
* lfrfid: remove old worker
* lfrfid app: dummy read screen
* lfrfid app: less dummy read screen
* lfrfid: generic 96-bit HID protocol (covers up to HID 37-bit)
* rename
* lfrfid: improve indala26 read
* lfrfid: generic 192-bit HID protocol (covers all HID extended)
* lfrfid: TODO about HID render
* lfrfid: new protocol FDX-A
* lfrfid-app: correct worker stop on exit
* misc fixes
* lfrfid: FDX-A and HID distinguishability has been fixed.
* lfrfid: decode HID size header and render it (#1612)
* lfrfid: rename HID96 and HID192 to HIDProx and HIDExt
* lfrfid: extra actions scene
* lfrfid: decode generic HID Proximity size lazily (#1618)
* lib: stream of data buffers concept
* lfrfid: raw file helper
* lfrfid: changed raw worker api
* lfrfid: packed varint pair
* lfrfid: read stream speedup
* lfrfid app: show read mode
* Documentation
* lfrfid app: raw read gui
* lfrfid app: storage check for raw read
* memleak fix
* review fixes
* lfrfid app: read blink color
* lfrfid app: reset key name after read
* review fixes
* lfrfid app: fix copypasted text
* review fixes
* lfrfid: disable debug gpio
* lfrfid: card detection events
* lfrfid: change validation color from magenta to green
* Update core_defines.
* lfrfid: prefix fdx-b id by zeroes
* lfrfid: parse up to 43-bit HID Proximity keys (#1640)
* Fbt: downgrade toolchain and fix PS1
* lfrfid: fix unit tests
* lfrfid app: remove printf
* lfrfid: indala26, use bit 55 as data
* lfrfid: indala26, better brief format
* lfrfid: indala26, loading fallback
* lfrfid: read timing tuning

Co-authored-by: James Ide <ide@users.noreply.github.com>
Co-authored-by: あく <alleteam@gmail.com>
2022-08-24 00:57:39 +09:00
Eric Betts
f92127c0a7
Picopass load/info/delete (#1562)
* increase stack size
* rfalPicoPassPollerWriteBlock
* UI for loading picopass
* Move picopass parsing and add delete, delete success

Co-authored-by: あく <alleteam@gmail.com>
2022-08-23 22:19:17 +09:00
Max Andreev
a7a9c38036
Amap and PVS Studio reports in CI/CD (#1526) 2022-08-23 20:29:26 +09:00
Skorpionm
57328761cf
[FL-2757] SubGhz: add protocol Magellen (#1633)
* SubGhz: add decoder Paradox Wireless
* SubGhz: fix syntax
* SubGhz: rename paradox_wireless -> magellen, add encoder Magellen, parse event
* SuBghz: add unit_test Magellen

Co-authored-by: あく <alleteam@gmail.com>
2022-08-23 03:01:42 +09:00
Nikolay Minaylov
9317ded1a9
[FL-2749] New power off screen #1637
Co-authored-by: あく <alleteam@gmail.com>
2022-08-23 02:54:01 +09:00
hedger
9829145d8c
fbt: fixed include paths; added PVS-Studio configuration (#1615)
* fbt: fixed include paths for generated version header
* lib: STM32CubeWB: refactored & cleaned up WPAN include paths
* hal: linter fixes for new headers
* fbt: added version_json target
* Added .pvsconfig; split common_defines.h into 2 files
* Added PVS-Studio basic configuration files; updated .gitignore

Co-authored-by: あく <alleteam@gmail.com>
2022-08-23 02:06:17 +09:00
Nikolay Minaylov
5b4e732fa3
[FL-2737] Dolphin level thresholds update #1610
Co-authored-by: あく <alleteam@gmail.com>
2022-08-23 01:53:51 +09:00
Nikolay Minaylov
df4755bc06
[FL-2727] BLE Remote UI fixes #1609
Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2022-08-23 01:41:41 +09:00
Nikolay Minaylov
84e2e321b4
RPC: more asserts and checks (#1606)
Co-authored-by: あく <alleteam@gmail.com>
2022-08-23 01:36:45 +09:00
Nikolay Minaylov
cfc0383b96
Archive: dont start browser worker on favourites tab (#1628)
Co-authored-by: あく <alleteam@gmail.com>
2022-08-23 01:19:03 +09:00
Max Andreev
fdb181b158
Fix BT Remote 'stay' button on first launch bug (#1626) 2022-08-19 20:31:45 +09:00
Nikolay Minaylov
2a452063c6
[FL-2747, FL-2745] Browser worker fix, Device Info screen update #1620
Co-authored-by: あく <alleteam@gmail.com>
2022-08-19 01:54:17 +09:00
hedger
2e993b0a58
[FL-2748] disabled automatic poweroff for single-frame slideshows #1621 2022-08-19 01:46:43 +09:00
Astra
e243a0e0e4
Add MFC 1/4K 4/7bUID to "Add Manually" (#1584)
* Add MFC 1/4K 4/7bUID to the "Add Manually" section
* Small cleanup
* Improve readability
* Fix comment on the text box element
* Review fixes
2022-08-18 21:43:28 +09:00
MX
9b13842467
Fix typos in subghz (#1588)
Co-authored-by: あく <alleteam@gmail.com>
2022-08-18 01:40:09 +09:00
Walter Doekes
c964099c8c
Increment U2F counter before authentication (#1595)
* Fix U2F counter endianness
* Increment U2F counter before using it
* U2F: increment counter before use
* U2F: don't increment on U2fCheckOnly

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2022-08-18 01:23:13 +09:00
Walter Doekes
831da59ed0
Fix U2F counter endianness (#1592)
Co-authored-by: あく <alleteam@gmail.com>
2022-08-18 00:44:08 +09:00
Nikolay Minaylov
6c268ec581
U2F: counter file migration (#1604)
Co-authored-by: あく <alleteam@gmail.com>
2022-08-18 00:40:06 +09:00
gornekich
560ea5f995
[FL-2714] New NFC info screens (#1605)
* nfc: add scroll element for info
* widget: format lines for scroll text element
* widget: fix new line generation
* widget: finish element text scroll
* nfc: rework ultralight and NTAG info scenes
* nfc: rework mf classic info screens
* nfc: rework nfca info scenes
* nfc: fix mf ultralight navigation
* widget: add documentation
* nfc: rework bank card infO
* nfc: rework device info scene
* nfc: fix incorrect atqa order
* mf ultralight: remove unused function
* widget: add mutex for model protection
* widget: fix memory leak
* nfc: rework delete scene
* nfc: fix selected item in saved menu scene
* widget: fix naming in text scroll element
* nfc: fix navigation from delete success
* nfc: add dictionary icon
* widget: fix memory leak
2022-08-18 00:08:13 +09:00
あく
b3d7583f9b
SubGhz: update notification messages (#1602)
* SubGhz: update notification messages

* Assets: update default notification dolphin. SubGhz: update prohibited frequency text.

* FuriHal: finalize version and region link
2022-08-15 18:53:08 +03:00
hedger
e1ffb4ac4d
fbt: support for LOADER_AUTOSTART; post-build size stats (#1594)
* fbt: restored LOADER_AUTOSTART support
* scripts: added fwsize.py wrapper for size command; fbt: changed size post-build stats to fwsize.py call
* fbt: removed size wrapper
* fbt: added stats for binary flash size in pages
* fbt: hint on build options details
* scripts: fixed fwsize.py for *nix
2022-08-13 08:17:11 +10:00
Georgii Surkov
9e452d2b26
[FL-2735] IR green LED fix (#1591)
* Fix incorrect LED behaviour
* Turn green LED off before blinking
2022-08-13 00:40:26 +10:00
Georgii Surkov
1655366ef4
[FL-2728] Fix Null Pointer Dereference errors in IR #1583
Co-authored-by: あく <alleteam@gmail.com>
2022-08-12 22:50:04 +09:00
あく
6ee2c15854
FuriHal,About,Desktop: show provisioned region (#1589)
Co-authored-by: hedger <hedger@users.noreply.github.com>
2022-08-12 13:19:29 +03:00
Nikolay Minaylov
a5a79c5da3
[FL-2705] RPC APP fixes #1568
Co-authored-by: あく <alleteam@gmail.com>
2022-08-12 00:37:23 +09:00
Nikolay Minaylov
aab8ce5e3a
Skip empty lines in favorites.txt (#1571)
Co-authored-by: あく <alleteam@gmail.com>
2022-08-12 00:16:47 +09:00
hedger
874eb46c93
rpc: fixed missing read blocks (#1581)
* rpc: fixed missing read blocks
* rpc: storage: restored old behavior
* rpc: allocating 0 bytes for empty read

Co-authored-by: あく <alleteam@gmail.com>
2022-08-11 23:51:31 +09:00
Skorpionm
a39111ade2
[FL-2723] SubGhz: add protocol Honeywell_WDB / Doorbell (#1560)
* SubGhz: add protocol Honeywell_WDB (receive/save/load/transfer)
* SubGhz: add  parsing data honeywell
* SubGhz: fix UI CAME TWEE
* SubGhz: add unit_test honeywell_wdb

Co-authored-by: あく <alleteam@gmail.com>
2022-08-11 21:20:31 +09:00
あく
ba0502ae1b
SubGhz: show region provisioning message (#1580)
* SubGhz: region provisioning message
* SubGhz: correct region warning text
2022-08-11 20:18:02 +09:00
あく
fae392d84e
[FL-2677] SubGhz: region provisioning (#1574)
* FuriHal: region HAL draft
* FuriHal,SubGhz: complete region provisioning.
* Rpc: fix null pointer dereference.
* Cli: device info formatting
* FuriHal: region provisioning fixes and documentation.
2022-08-11 19:21:56 +10:00
hedger
add2497a1c
rpc: additional verification of message data (#1576)
* rpc: additional verification of message data
* rpc: storage: fixed read handler
* acessor: fixed record naming
2022-08-11 17:28:57 +09:00
hedger
1d50a5981e
[FL-2059] Storage fixes for handling empty files (#1563)
* storage: fixed handling of zero-length files
* docs: added ReadMe.md for vscode workspace
* rpc: storage: improved empty file & error handling in write handler
* docs: markdown fix
* docs: typo fixes

Co-authored-by: SG <who.just.the.doctor@gmail.com>
Co-authored-by: あく <alleteam@gmail.com>
2022-08-10 00:57:11 +09:00
Skorpionm
416cce9ffc
[FL-2718, FL-2719] SubGhz: add protocol BERNER / ELKA / TEDSEN / TELETASTER / Doitrand / Marantec / Phoenix V2 (static mode) / Phox (static mode), fix Princeton (#1516)
* SubGhz: add protocol marantec
* SubGhz: add protocol BERNER / ELKA / TEDSEN / TELETASTER
* SubGhz: add protocol Doitrand
* SubGhz: delete debug
* SubGhz: add protocol Phoenix V2 (static mode)
* SubGhz: fix serial decode Phoenix V2
* SubGhz: fix Princeton, display serial number and button on boot
* SubGhz: fix Bett decoder and fix unit_test
* SubGhz: update test_random_raw for unit_test

Co-authored-by: あく <alleteam@gmail.com>
2022-08-08 00:56:45 +09:00
Mayco
81b404aafa
Add ability to type a space with the input keyboard by long-pressing "_" (#1550)
Co-authored-by: Mayco <tristan@polymerprints.nl>
Co-authored-by: あく <alleteam@gmail.com>
2022-08-08 00:40:09 +09:00
Astra
67a9753f78
Add a Mifare Classic info screen to parser output (#1504)
* Add the info screen
* Oops, don't dupe the points!
* Show ATQA and SAK, remove the back label
* And the dolphin doesn't need to be imported anymore
* Correct UX to the approved one

Co-authored-by: gornekich <n.gorbadey@gmail.com>
2022-08-08 00:18:39 +09:00
Vitaliya Chumakova
9ffcc52ada
Mifare Ultralight authentication (#1365)
* mifare ultralight auth prototype
* it works!
* Reference source
* use countof
* rework everything
* oops forgot scenes
* build: revert changes in manifest, stack size
* build: fix buid, format sources
* nfc: update unlock ultralight GUI
* nfc: fix byte input header
* nfc: add new scenes for locked ultralight
* nfc: add data read to ultralights
* nfc: add unlock option in mf ultralight menu
* nfc: add data read init in ultralight generation
* nfc: lin sources, fix unlocked save
* nfc: format python sources
* nfc: clean up

Co-authored-by: gornekich <n.gorbadey@gmail.com>
2022-08-08 00:09:00 +09:00
Georgii Surkov
d147190d61
[FL-2717] Fix unexpected behaviour when opening a remote from outside (#1538)
* Fix unexpected behaviour when opening remote from outside
* Same fix for editing button name
* Exit application correctly if remote was deleted
* Remove duplicate function from ibutton
* Use COUNT_OF macro

Co-authored-by: あく <alleteam@gmail.com>
2022-08-06 00:38:20 +09:00
TQMatvey
040558c8f9
PicoPass: Fix Card Detection Visuals (#1511)
Co-authored-by: あく <alleteam@gmail.com>
2022-08-04 21:18:34 +09:00
Georgii Surkov
8a370d70dc
[FL-2700] Fix IR hangup with short signals (#1535)
* Do not use infrared worker callback for notifications
* Remove tx callback
* Port Infrared notifications to hardware blinker
* Move all blink message definitions to notification_messages.h
* Fix potential hangup after leaving debug scene
2022-08-04 21:11:01 +09:00
SG
4460010e76
Archive: fix null dereference #1531 (#1532) 2022-08-04 13:34:04 +09:00
Fedor Indutny
3ee93e1a82
nfc: make dict attack more interactive (#1462)
* nfc: deduplify dict attack worker code
* nfc: make dict attack more interactive

Co-authored-by: gornekich <n.gorbadey@gmail.com>
Co-authored-by: あく <alleteam@gmail.com>
2022-08-04 02:07:35 +09:00
Ryan Murphy
284c56718b
NFC: Edit UID feature (#1513)
* Added option to edit UID in saved NFC files
* Fixed bug with saved filename
* Only show for data that can't be read

Co-authored-by: あく <alleteam@gmail.com>
2022-08-04 02:00:17 +09:00
Žiga Deisinger
51f5641c5e
FIX: Fixed inconsistencies between texts (#1496)
* FIX: Fixed inconsistencies between texts: I have changed inconsistencies. Sometimes there was a missing capital letter and sometimes there was dot instead of exclamation mark and so on. No other changes were made. I have made the correction based on how other text looks on Fliper and for headers most texts use Pascal Case.

* FIX: Fixed inconsistencies between texts: Found 2 more texts with inconsistencies.

Co-authored-by: あく <alleteam@gmail.com>
2022-08-04 01:18:48 +09:00
SG
bc34689ed6
Make printf great again (#1438)
* Printf lib: wrap *printf* functions
* Printf lib, FW: drop sprintf. Dolphin: dump timestamp as is, wo asctime.
* FW: remove sniprintf, wrap assert functions
* Printf lib: wrap putc, puts, putchar
* Printf: a working but not thread-safe concept.
* Poorly wrap fflush
* stdglue: buffers
* Core: thread local buffers
* Core: move stdglue to thread api, add ability to get FuriThread instance of current thread.
* RPC tests: replace sprintf with snprintf
* Applications: use new stdout api
* Printf lib: wrap more printf-like and stdout functions
* Documentation
* Apps: snprintf size fixes

Co-authored-by: あく <alleteam@gmail.com>
2022-08-04 01:00:17 +09:00
SG
eed4296890
MPU Hal (#1492)
* Furi HAL: memory protection unit
* Core: prohibit NULL dereferencing, even for reads.
* Applications: fix NULL dereference
* Core: stack protection by MPU
* MPU: stack region alignment
* Apps: fix null pointer dereferences
* Threads: fix non-null arg check
* Desktop settings: fix null pointer dereference
* Core: documented null-check hack
* Fix null dereference issues
* Apps: args check
* Core: naming fixes
* format code
* Core: remove NONNULL specifier
* FurHal: move MPU initialization to begining, fix enum naming

Co-authored-by: あく <alleteam@gmail.com>
2022-08-04 00:47:10 +09:00
hedger
a1637e9216
fbt fixes & improvements (#1490)
* fbt: minimal USB flash mode; scripts: faster storage.py with larger chunks
* fbt: fixed creation of temporary file nodes confusing scons
* docs: removed refs to --with-updater
* fbt: removed splashscreen from minimal update package
* fbt: renamed dist arguments for consistency
* docs: fixed updater_debug target
* fbt: separate target for generating compilation_database.json without building the code.
* fbt: added `jflash` target for programming over JLink probe; refactored usb flashing targets
* fbt: building updater_app in unit_tests configuration
* fbt: fixed reset behavior after flashing with J-Link
* fbt: generating .map file for firmware binary & external apps
* fbt/core: moved library contents before apps code

Co-authored-by: あく <alleteam@gmail.com>
2022-08-02 22:46:43 +09:00
Georgii Surkov
01afb289c0
[FL-2713] Buffered file streams fix (#1515)
* Fix incorrect buffered stream behaviour
* Add specific tests
* Make the test fail on wrong behaviour
* Better names

Co-authored-by: あく <alleteam@gmail.com>
2022-08-02 22:17:37 +09:00
あく
f9745b4141
[FL-2705] App RPC Bug Fixes and redesign (#1491)
* Rpc: remove callback timer
* Rpc: simplify rpc event callback
* Rpc: migrate to new confirmation schema
* Rpc: migrate to new confirmation schema part2: finalize ibutton and rfid
* Rpc: migrate to new confirmation schema part3: finallize nfc and fix id in load
* Rpc: hardened sequencing check
* Rpc: migrate to new confirmation schema part4: finalize subghz
* iButton: properly handle exit
* Nfc: correct sequence for rpc exit send
* Rpc: fix review issues and nfc exit message
* Rpc: more logging and condition race fix in confirmation
* Rpc: migrate to new confirmation schema part5: finalize infrared
* Rpc: more logging
2022-08-02 22:54:12 +10:00
Skorpionm
4da6eba395
[FL-2706, FL-2709] SubGhz: checking saved key files for length (#1485)
* [FL-2706] SubGhz: checking saved key files for length
* SubGhz: fix RAW file upload error
* [FL-2709] GubGhz: RAW screen fix

Co-authored-by: あく <alleteam@gmail.com>
2022-08-01 21:24:21 +09:00
hedger
84550d5878
[FL-2654] Updater: retrying pre-boot SD card mount multiple times (#1402)
* Updater: retrying pre-boot SD card mount multiple times
* Updater: added delay before retrying SD card mount on early boot

Co-authored-by: あく <alleteam@gmail.com>
2022-07-31 08:48:55 +09:00
MX
712a48b5db
Fix typo in subghz (#1467)
* fix typo across subghz

Co-authored-by: あく <alleteam@gmail.com>
Co-authored-by: Aleksandr Kutuzov <aku@plooks.com>
2022-07-31 08:34:38 +09:00
Anna Prosvetova
4c39dcbe0c
☦️ Rpc: fix backup commands responses (#1502) 2022-07-31 08:14:16 +09:00
gornekich
c40e8811d6
[FL-2701], [FL-2702], [FL-2699] NFC fixes (#1478)
* nfc: change read scene views
* nfc: rework return after save success
* nfc: add fallback to read UID of unrecognized iso14443-3
* nfc: show mifare desfire on read success
* nfc: add restore original confirm scene
* nfc: fix icon name
* nfc: clear 6 bit in SAK to emulate 14443-4 uids
* nfc: don't change original sak
2022-07-28 21:34:28 +09:00
TQMatvey
b6e52e979d
Infrared.c: Dont Close GUI 2 times (#1477)
GUI was being closed 2 times upon exit, this PR fixes that by removing 1 of those cases
2022-07-28 12:48:45 +03:00
gornekich
c777206065
NFC: fix navigation from menu scenes #1459 2022-07-27 02:28:37 +09:00
gornekich
9c59bcd776
[FL-2605] NFC new design (#1364)
* nfc: add new read scene

* lib: refactore nfc library

* mifare desfire: add read card fuction

* lib nfc: add auto read worker

* nfc: add supported cards

* nfc: add mifare classic read success scene

* nfc: add troyka support

* submodule: update protobuf

* nfc: mifare classic keys cache

* nfc: rework mifare classic key cache

* Correct spelling

* nfc: add user dictionary

* nfc: introduce block read map in fff

* nfc: rework dict attack

* nfc: improve dict attack

* nfc: rework mifare classic format

* nfc: rework MFC read with Reader

* nfc: add gui for MFC read success scene

* nfc: fix dict attack view gui

* nfc: add retry and exit confirm scenes

* nfc: add retry and exit scenes navigation

* nfc: check user dictionary

* nfc: remove unused scenes

* nfc: rename functions in nfc worker

* nfc: rename mf_classic_dict_attack -> dict_attack

* nfc: change scenes names
* nfc: remove scene tick events
* nfc: rework dict calls with buffer streams
* nfc: fix notifications
* nfc: fix mf desfire navigation
* nfc: remove notification from mf classic read success
* nfc: fix read sectors calculation
* nfc: add fallback for unknown card
* nfc: show file name while emulating
* nfc: fix build
* nfc: fix memory leak
* nfc: fix desfire read
* nfc: add no dict found navigation
* nfc: add read views
* nfc: update card fix
* nfc: fix access bytes save
* nfc: add exit and retry confirm to mf ultralight read success
* nfc: introduce detect reader
* nfc: change record open arg to macros
* nfc: fix start from archive

Co-authored-by: Astra <astra@astrra.space>
Co-authored-by: あく <alleteam@gmail.com>
2022-07-27 00:30:49 +09:00
Skorpionm
ec19c11dbe
[FL-2669] SubGhz: add support for loading custom presets (#1398)
* SubGhz: load custom -preset
* SubGhz: fix error prt=0
* SubGhz: load custom preset
* SubGhz: code refactoring to support custom preset
* SubGhz: add custom presert refactoring
* SubGhz: fix alloc history alloc preset
* SubGhz: fix error load file
* SubGhz: fix start custom preset
* SubGhz: fix delete custom preset
* SubGhz: add description Custom_preset_data for CC1101
* SubGhz: debug logging and buffer size rounding

Co-authored-by: あく <alleteam@gmail.com>
Co-authored-by: Aleksandr Kutuzov <aku@plooks.com>
2022-07-26 23:16:59 +09:00
Skorpionm
ed7db336c1
[FL-2684, FL-2685] bugfix subghz (#1446)
* [FL-2684] SubGhz: fix incorrect CAME TWICE protocol definition
* [FL-2685] SubGhz: fix the recorded RAW signal is deleted when trying to transmit on a prohibited frequency

Co-authored-by: あく <alleteam@gmail.com>
2022-07-26 21:58:07 +09:00
hedger
3fa5e18c5a
[FL-2692, FL-2604, FL-2632] New first start sequence (#1456)
* desktop: restored automatic power off & manual power off on slideshow view; assets: added frames for new first start sequence; docs: added info on slideshow compilation
* desktop: restarting long timer on OK button release

Co-authored-by: あく <alleteam@gmail.com>
2022-07-26 21:44:03 +09:00
hedger
056446dfed
[FL-2675] /int space reservation (#1448)
* storage: added global #defines for /int, /ext & /any
* storage: introduced PATH_EXT, PATH_INT& PATH_ANY macros
* core apps: moved hardcoded config files names to separate headers; prefixed them with "."; updater: added file name migration to new naming convention on backup extraction
* storage: fixed storage_merge_recursive handling of complex directory structures; storage_move_to_sd: changed data migration logic to all non-dot files & all folders
* core: added macro aliases for core record names
* Bumped protobuf commit pointer
* storage: reserved 5 pages in /int; denying write&creation of non-dot files when running out of free space

Co-authored-by: あく <alleteam@gmail.com>
2022-07-26 21:21:51 +09:00
Georgii Surkov
52a83fc929
[FL-2688] Fix incorrect remote renaming behaviour #1455 2022-07-26 20:46:14 +09:00
Eric Betts
cd77b93f26
Picopass: dump full card, extract some details (#1408)
* Dump entire picopass card
* Capture more iClass details
* facility code bugfix

Co-authored-by: あく <alleteam@gmail.com>
2022-07-26 00:36:38 +09:00
Yukai Li
f8e0ec42c5
nfc: NTAG203 support (#1383)
* nfc: Fix original MFUL feature flags
* nfc: Add NTAG203 read support
* nfc: Update emulation lock byte handling for NTAG203
* nfc: Add NTAG203 counter emulation support
* nfc: Add NTAG203 tag generator
* nfc: Fix NTAG203 emulating GET_VERSION
* nfc: Fix MFUL version reading
* nfc: Complete NTAG203 counter emulation behavior
* nfc: Complete NTAG203 emulation
* nfc: Remove unnecessary init in MFUL emulation
* nfc: Add notes about MFUL type enum

Co-authored-by: gornekich <n.gorbadey@gmail.com>
Co-authored-by: あく <alleteam@gmail.com>
2022-07-26 00:21:05 +09:00
Nikolay Minaylov
30820b83b5
[FL-2464, FL-2466] RFID, ibutton text fix #1413
Co-authored-by: あく <alleteam@gmail.com>
2022-07-25 23:46:42 +09:00
Wyatt Neal
ac60d1808a
fixing typos, satus -> status (#1422)
Co-authored-by: あく <alleteam@gmail.com>
2022-07-25 23:35:02 +09:00
Nikolay Minaylov
d80edba891
RPC App: state message and GUI update (#1423)
* RPC App: state message and GUI update
* Protobuf submodule update

Co-authored-by: SG <who.just.the.doctor@gmail.com>
Co-authored-by: あく <alleteam@gmail.com>
2022-07-25 23:16:45 +09:00
Nikolay Minaylov
f5d6a8084b
[FL-2668] GUI message screens update #1428
Co-authored-by: SG <who.just.the.doctor@gmail.com>
Co-authored-by: あく <alleteam@gmail.com>
2022-07-25 21:11:34 +09:00
Ruben van Baarle
3ee592cae7
Fix SubGHz chat immediately closing #1440
It's just an if condition which should've been inverted

Co-authored-by: あく <alleteam@gmail.com>
2022-07-25 20:48:06 +09:00
ESurge
253b98c8f0
Added condition to cli "log" command to end if serial terminal is disconnected. (#1425)
* Added condition to cli "log" command. If USB is disconnected while "log" command is running, it will end the command.
* Reverted change on cli_commands.c
  Added condition in cli.c for cli_cmd_interrupt_received function to react appropriately when serial terminal is disconnected.
  Added condition in subghz_cli.c for subghz chat cmd to exit gracefully when serial terminal is disconnected.
* Formatting

Co-authored-by: あく <alleteam@gmail.com>
2022-07-23 12:35:14 +09:00
Georgii Surkov
16e598b2c0
[FL-2655, FL-2650] Buffered file streams (#1424)
* Initial buffered file stream implementation
* Fix logical errors
* Fix more logical errors
* Minimally working implementation
* Adapt infrared unit tests for buffered streams
* Increase read buffer size from 512 to 1K
* Correct naming and formatting
* More code improvements
* Allow passing access and open modes for buffered streams
* Implement tests for buffered streams
* Better file and method names
* Add comments and correct formatting
* Use buffered streams in Infrared
* Fix compilation error
2022-07-23 01:00:25 +09:00
あく
e3c7201a20
Furi: core refactoring and CMSIS removal part 2 (#1410)
* Furi: rename and move core
* Furi: drop CMSIS_OS header and unused api, partially refactor and cleanup the rest
* Furi: CMSIS_OS drop and refactoring.
* Furi: refactoring, remove cmsis legacy
* Furi: fix incorrect assert on queue deallocation, cleanup timer
* Furi: improve delay api, get rid of floats
* hal: dropped furi_hal_crc
* Furi: move DWT based delay to cortex HAL
* Furi: update core documentation

Co-authored-by: hedger <hedger@nanode.su>
2022-07-20 13:56:33 +03:00