Commit Graph

77 Commits

Author SHA1 Message Date
Skorpionm
6a470a464e
[FL-3002] SubGhz: add RPC error (#2097)
* [FL-3002] SubGhz: add RPC error
* RPC_APP: rpc_system_app_error_reset, automatic error reset when a new event is executed
* SubGhz: fix text error
* SubGhz: fix text error 2
* SubGhz: add error description
* Format sources

Co-authored-by: あく <alleteam@gmail.com>
2022-12-08 14:49:54 +09:00
gornekich
c535b8f4ce
[FL-3017], [FL-3018] Change NFC emulation screens (#2102)
* nfc: fix emulate uid view
* archive: hide dot files in apps
* nfc: fix other emulation scenes view
2022-12-08 01:47:55 +09:00
Nikolay Minaylov
2daf39018b
[FL-3001] File browser base folder (#2091)
* File browser base folder
* Format sources
* FuriHal: bump api version

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2022-12-07 23:17:41 +09:00
gornekich
9a21dae29c
[FL-3008], [FL-2734], [FL-2766], [FL-2898] NFC bug fixes (#2098)
* nfc: rework mf classic update
* nfc: rename cache folder to .cache
* nfc: fix ATQA order bytes in nfc files
* file browser: add hide dot files option
* nfc: fix iso-14443-4 uid cards emulation
* nfc: fix unit tests

Co-authored-by: あく <alleteam@gmail.com>
2022-12-07 19:52:44 +09:00
gornekich
e40376bc63
NFC: fix NTAG203 info scene #2078 2022-12-02 21:41:34 +09:00
Никита Тимофеев
b70395eba9
Allow "Detect reader" for unsaved card (#2045)
* Allow "Detect reader" for unsaved card
* Add missed detect reader deed

Co-authored-by: あく <alleteam@gmail.com>
2022-11-29 22:10:02 +09:00
Sergey Gavrilov
297f185ef4
Blocking USB driver API (#2009)
* invalidate memmgt thread dict
* Core: rollback memmgt thread dict invalidation
* Dialogs: move api lock to toolbox
* HAL: blocking usb API
* HAL usb: fix api return data
* HAL usb: api optimization
* api lock: test results
* Fix build errors
* DAP Link: fix imports
* Crash when malloc in ISR
* Fix dap-link copypaste error
* Moar memory management crashes.
* Crash when malloc in IRQ, not ISR
* USB-UART: Blocking VCP mode switch

Co-authored-by: nminaylov <nm29719@gmail.com>
Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2022-11-29 21:50:55 +09:00
Georgii Surkov
849afc8798
[FL-2998] IR TV Universal Remote refactor and docs (#2052)
* Rename signals for IR TV universal remote
* Update UniversalRemotes.md

Co-authored-by: あく <alleteam@gmail.com>
2022-11-29 04:49:51 +09:00
あく
769c53b6da
[FL-2977] Gui: better navigation in file browser dialog (#2014)
* Gui: proper navigation in file browser dialog
* Trim file name from start path
* File list loading fix
* File list offset fix

Co-authored-by: nminaylov <nm29719@gmail.com>
Co-authored-by: Sergey Gavrilov <who.just.the.doctor@gmail.com>
2022-11-29 03:59:24 +09:00
Yukai Li
6b47bc1af4
Nfc: NTAG password auto capture (and other password-related changes) (#1843)
* nfc: MFUL minor cleanup
* nfc: Add mechanism to pass event data
* nfc: Add NTAG authentication event to emulation
* nfc: Rename enum member to align with existing convention
* nfc: Add function to determine whether MFUL is fully captured
* nfc: Fix emulation of incompletely-read password-protected MFUL
* nfc: Add reader password capture scene
* nfc: Set default MFUL password input to 0xFFFFFFFF
* nfc: Fix MFUL auth counter loading
* nfc: Be explicit about using manual auth method when using auto unlock
* nfc: Fill in MFUL has_auth when loading file
* nfc: Fix MFUL auth success usage, remove unused variable
* nfc: Display PWD and PACK in MFUL info if available
* nfc: Remove unnecessary include
* nfc: Add unlock options to loaded MFUL menu
* nfc: Move set default MFUL password. This way it can be edited if needed instead of reentered
* nfc: Fix unlock menu not maintaining selection index
* nfc: Move captured MFUL auth data from worker to device data
* nfc: Attempt to authenticate with default PWD when possible when reading NTAG
* nfc: Don't try to auth NTAG on read if we already authed
* nfc: Add title for all pages read but failed auth for NTAG auth
* nfc: Add faster auth callback patch
* lib: Remove scons submodule from index
* nfc: Revise MFUL unlock UI flow
* nfc: Disallow MFUL unlock with reader if card not read yet. Trying to read first results in either needing to make a new scene or badly jury rigging other scenes, so let's just not do that
* f7: Bump API symbols
* Format code

Co-authored-by: gornekich <n.gorbadey@gmail.com>
Co-authored-by: あく <alleteam@gmail.com>
2022-11-29 03:16:22 +09:00
Stephen Kent
a82c3ccc22
NFC: Fix MIFARE DESfire info action to open app menu (#2058)
When examining a MIFARE DESfire card, selecting "More >" currently leads
to the file menu for a single application even if the scanned card
contains multiple applications.

On examining the source code, a MIFARE DESfire application selection
menu is present as `NfcSceneMfDesfireData`. This change updates the
MIFARE DESfire Info "More >" action to open the application selection
menu. That menu may then be used to open the file selection menu for any
application in the read MIFARE DESfire card data.

Tested interactively with
c4cbdcd947/nfc/Desfire.nfc

Co-authored-by: あく <alleteam@gmail.com>
2022-11-29 02:05:24 +09:00
Maksim Derbasov
e121e6a287
Fix for spelling (#2051)
* Fix for spelling
* Review iteration

Co-authored-by: あく <alleteam@gmail.com>
2022-11-29 01:51:51 +09:00
Nikolay Minaylov
ffa6249b64
[FL-2985] Fix U2F HID vulnerability #2042
Co-authored-by: あく <alleteam@gmail.com>
2022-11-24 03:12:53 +09:00
Skorpionm
9bb0dbaa3e
SubGhz: frequency analyzer. 2dbi desensitization, rssi averaging to reduce jitter, new rssi indicators in log_mode, GUI fix (#2020)
Co-authored-by: あく <alleteam@gmail.com>
2022-11-23 22:31:39 +09:00
Kyhwana Pardus
1c8451fad4
Fix typos in subghz_cli.c (#2030)
Fix up the "receive" typos

Co-authored-by: あく <alleteam@gmail.com>
2022-11-23 22:23:11 +09:00
MangoTornado
669822cdd2
Fix typos in various outputs (#2032)
* Fix typos in various outputs
* Update u2f_view.c

Co-authored-by: あく <alleteam@gmail.com>
2022-11-23 22:15:08 +09:00
Sergey Gavrilov
c511c67e71
Core: thread allocation shortcut (#2007)
* Core: thread alloc+set shortcut
* Apps: use thread allocation shortcut
* Mark some service threads as services
* Init BT as soon as possible

Co-authored-by: あく <alleteam@gmail.com>
2022-11-23 21:49:17 +09:00
Nikolay Minaylov
73441af9c6
BadUSB and Archive fixes (#2005)
* BsdUsb: fix empty lines handling
* Archive: folders and unknown files rename fix

Co-authored-by: あく <alleteam@gmail.com>
2022-11-12 20:55:42 +09:00
MX
3c7a4eeaed
iButton: Fix header "Saved!" message stays on other screens (#2003)
* iButton: Fix header "Saved!" message stays on other screens
* SubGhz,iButton: proper popup reset

Co-authored-by: あく <alleteam@gmail.com>
2022-11-12 18:45:19 +09:00
Skorpionm
721ab717d7
[FL-2961] SubGhz: properly handle storage loss (#1990)
Co-authored-by: あく <alleteam@gmail.com>
2022-11-11 02:14:44 +09:00
Astra
e7c4b40dbe
Force card types in extra actions (#1961)
* Mifare Classic forced read
* Add all the needed card types
* nfc: remove unused scene
* nfc: remove unused worker state
* nfc: fix read card type scene state usage
* nfc: move NfcReadMode to NfcDevData struct
* nfc: fix bank card reading and scene navigation
* nfc magic: fix magic deactifate function

Co-authored-by: gornekich <n.gorbadey@gmail.com>
Co-authored-by: あく <alleteam@gmail.com>
2022-11-11 01:29:57 +09:00
Astra
820afd2aec
NFC Unit tests part 1.1 (#1927)
* Mifare Classic 1/4K, 4/7b uid, NFC-A: NFC-A is not complete yet, as there are no 4b uid tests. Also, Mifare Classic tests don't cover the key cache yet.
* NFC unit tests require access to the NFC app
* Made nfc_device_save accept full path as an argument
* Move from cstrs to furi strings and fix logic
* nfc tests: fix memory leak
* nfc: add mf_classic_get_total_blocks() to API
* nfc tests: simplify nfc tests
* nfc: fix memory leak in shadow file saving
* nfc: fix set uid scene
* nfc: fix saving files
* nfc: fix preload nfc file path
* nfc: remove comments

Co-authored-by: Sergey Gavrilov <who.just.the.doctor@gmail.com>
Co-authored-by: gornekich <n.gorbadey@gmail.com>
Co-authored-by: あく <alleteam@gmail.com>
2022-11-11 01:20:35 +09:00
あく
e8913f2e33
Code cleanup: srand, PVS warnings (#1974)
* Remove srand invocation

* PVS High priority fixes

* PVS High errors part 2

* Furi: heap tracing inheritance

* Furi add __builtin_unreachable to furi_thread_catch
2022-11-05 18:07:24 +03:00
hedger
04e50c9f89
fbt: fixes for ufbt pt3 (#1970)
* fbt: replaced debug dir paths with FBT_DEBUG_DIR
* scripts: updated requirements.txt
* fbt: fixed wrong import
* fbt: removed delayed import for file2image
* fbt: added UPDATE_BUNDLE_DIR internal var
* fbt: cleaner internal management of extapps
* applications: added fap_libs for core apps to link with resources when building with --extra-ext-apps
* fbt: removed deprecation stub for faps
* fbt: added quotation for icons build cmd
* fbt: reworked BUILD_DIR & fap work dir handling; fap debug: using debug elf path from fbt
* fbt: explicit LIB_DIST_DIR
2022-11-05 20:47:59 +09:00
Sergey Monchenko
3bd74b7f01
SubGhz: fix incorrect response in rpc mode. Code cleanup. (#1964)
* Code cleanup
* SubGhz: correct logic in RPC
* SubGhz: do not blink on app rpc fail

Co-authored-by: あく <alleteam@gmail.com>
2022-11-04 15:08:51 +09:00
Alexandre Díaz
60d125e72a
subghz: add analyzer frequency logs (#1914)
* subghz: add analyzer frequency logs
* SubGhz: switch to change on short press
* SubGhz: use full RSSI bar for history view

Co-authored-by: あく <alleteam@gmail.com>
2022-11-03 16:57:56 +09:00
head47
eee90c6c40
Run Bad USB immediately after connection (#1955)
Co-authored-by: あく <alleteam@gmail.com>
2022-11-03 14:21:44 +09:00
Nikolay Minaylov
95182b266c
BadUSB scrolllock typo fix (#1968)
Co-authored-by: あく <alleteam@gmail.com>
2022-11-03 13:42:54 +09:00
Georgii Surkov
d5f791b1fa
[FL-2911] IR Universal Audio Remote (#1942)
* Add Audio universal remote
* Add signal library for Audio Universal Remote
* Update UniversalRemotes.md
* Added IR profile for Samsung K450 soundbar (#1892)
* Add symbols to API file
* Rearrange Audio remote buttons
* Add new icons, remove old ones
* Remove old signals, add new ones
* Add universal audio remote to CLI, refactor code
* Improve help text
* Correct formatting
* Update UniversalRemotes.md
* Furi: restore correct api_symbols.csv version

Co-authored-by: Alexei Humeniy <yo@ahumeniy.net>
Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2022-10-29 01:43:54 +09:00
gornekich
93a6e17ce5
[FL-2933] Mf Classic initial write, update, detect reader (#1941)
* nfc: introduce nfc write
* nfc: add write logic
* nfc worker: add write state
* nfc: add mfc update logic
* nfc: add update success logic
* nfc: add custom card for detect reader
* nfc: update write logic
* nfc: add halt command, add notifications
* nfc: add write fail scene
* nfc: fixes and clean up
* nfc: fix navigation ad notifications
* nfc: fix detect reader nfc data setter

Co-authored-by: あく <alleteam@gmail.com>
2022-10-29 01:10:16 +09:00
Sergey Gavrilov
3434305630
[FL-2937] Remove resources from API to prevent frequent API version increase (#1935)
* Remove all icons from API
* Music player: icons
* Signal generator: icons
* Bt hid: icons
* Weather station: icons
* Picopass: icons
* File browser test: icons
* Example images: documentation
* Remove global assets header
* Fix picopass

Co-authored-by: あく <alleteam@gmail.com>
2022-10-28 23:08:50 +09:00
Georgii Surkov
f11df49468
[FL-2828] Dolphin score update take 2 (#1929)
* Move DolphinDeedNfcRead
* Move DolphinDeedNfcReadSuccess
* Move DolphinDeedNfcSave
* Move DolphinDeedNfcDetectReader
* Move DolphinDeedNfcEmulate
* Count DolphinDeedNfcEmulate when launched from file browser
* Implement most of the score accounting for NFC
* Fully update Nfc icounter handling
* Move DolphinDeedSubGhzFrequencyAnalyzer
* Update the rest of icounter in SubGHz
* Adjust SubGHz icounter handling
* Adjust LFRFID icounter handling
* Adjust Infrared icounter handling
* Don't count renaming RFID tags as saving
* Don't count renaming SubGHz signals as saving
* Don't count renaming NFC tags as saving
* Adjust iButton icounter handling
* Minor code refactoring
* Correct formatting
* Account for emulating iButton keys from file manager/rpc

Co-authored-by: あく <alleteam@gmail.com>
2022-10-28 16:18:41 +09:00
Skorpionm
aff99a72e8
SubGhz: fix variable types and CC1101 GPIO initialization optimization (#1931)
* SubGhz: fix variable types
* SubGhz: CC1101 GPIO initialization optimization
* SubGhz: return back gpio init
* SubGhz: cleanup grammar in math and format doxygen comments

Co-authored-by: あく <alleteam@gmail.com>
2022-10-27 04:40:13 +09:00
Skorpionm
5c8df66b7c
[FL-2927] SubGhz: add RAW Read threshold rssi (#1911)
* SubGhz: add RAW Read threshold rssi
* SubGhz: update indicator RSSI
* SubGhz: fix record file

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2022-10-27 00:13:00 +09:00
Sergey Gavrilov
42df7aa04a
Fix FuriString oplist (init move) (#1894)
* FuriString, Infrared: fix oplist and drop string_t.
* Elf loader: log size
* Comment fix
* API: furi_hal_console_init
2022-10-20 19:58:11 +09:00
Skorpionm
9a9abd59e9
[FL-2904, FL-2900, FL-2890] WS: add app WeatherStation (#1833)
* WeatherStation: start
* SubGhz: rename protocol magellen -> magellan
* WeatherStation: err Unresolved symbols: {'subghz_protocol_decoder_base_get_string'}
* WeatherStation: fix Unresolved symbols: {'subghz_protocol_decoder_base_get_string'}
* Subghz: add set protocol_items
* WeatherStation: adding your protocols
* WS: add Infactory protocol
* WS: add history
* WS: add setting
* WS: add lock
* WS: add hopper frequency
* WS: fix history
* WS fix string_t -> FuriString*
* WS: add images
* WS: history record update when receiving data from the sensor again
* WS: add receiver info, delete extra code
* WS: add protocol ThermoPRO_TX4
* [FL-2900] SubGhz: Move icons in Sub-GHz
* WS: add Notification
* [FL-2890] SubGhz: Rename *_user files in resources to _user.example
* WS: add about scene
* WS: removing redundant code
* WS: add  protocol Nexus-TH
* WS: add protocol GT_WT03
* WS: fix notification and rename "Weather Station" -> "Read Weather Station"
* SubGhz: partial unit tests fix
* SubGhz: fix unit_test
* SubGhz: remove dead code
* SubGhz: rename SubGhzPresetDefinition into SubGhzRadioPreset, cleanup subghz types.

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2022-10-20 02:27:26 +09:00
Kevin Kwok
72713d6f4e
Allow pins 0 and 1 as RTS/DTR for USB UART Bridge (#1864)
* Allow pins 0 and 1 as RTS/DTR for USB UART Bridge
* add logic to gpio_scene_usb_uart_config, fix flow_pins
* fixing count of pins
* disable PC0,PC1 RTS/DTR when using LPUART
* add logic to ensure flow pins dont overlap with uart lines

Co-authored-by: あく <alleteam@gmail.com>
2022-10-19 00:06:18 +09:00
Georgii Surkov
02c27becb0
[FL-2912] Forced RAW receive option for Infrared CLI #1891
Co-authored-by: あく <alleteam@gmail.com>
2022-10-18 23:10:21 +09:00
Travis Montoya
f61a8fda53
Feature/infrared add remote to cli (#1856)
* Initial testing of remote using cli
* More fixes for cli ir remote
* Fixes. Turns off power now
* Finished adding other tv remote commands
* Changed if-else formatting
* Cleaned up unused variables
* Updating cli unviersal remote to accept tv, ac and more modular. Listing signals still does not work properly
* Using mlib dictionary to get unique signals from files for ir universal list
* Fixing progress bar
* Added error checking for invalid signal to stop freezing cli
* Added error checking for arg length
* Api symbols was changed somehow.. changed back and updated the argument check to account for newline
* Fixing string compares and argument length issue
* Freeing InfraredBruteForce in cli brute force signals

Co-authored-by: sqlsquirreltm <sqlsquirreltm>
Co-authored-by: あく <alleteam@gmail.com>
2022-10-18 03:07:05 +09:00
Astra
5e35e51c57
[FL-2907] Remove the back button from MFC keys list #1878
Co-authored-by: あく <alleteam@gmail.com>
2022-10-18 02:49:00 +09:00
あく
f06930e4ae
Desktop: fix fap in settings (#1877) 2022-10-14 21:23:06 +03:00
Johannes Mittendorfer
9ff29d12b2
Fix typo in fap loader logging (#1875) 2022-10-15 01:54:52 +09:00
David
d5b239595f
Desktop: Set external apps as favorites (#1816)
* MVP
* Display app name and icon in browser
* Pre-select favorites in submenu and browser
* Show animation while external favorite is loading
* A little birdie told me... (Missing record_close)
* DesktopSettings: reset submenu before running dialog

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2022-10-14 03:09:37 +09:00
Thibaut CHARLES
ede3bac799
Badusb: show script errors on screen (#1506)
Co-authored-by: あく <alleteam@gmail.com>
2022-10-13 01:21:54 +09:00
gornekich
2552278a3d
[FL-2883] NFC: bank card rework reading (#1858)
* nfc: remove bank card save option
* nfc: remove bank card save from nfc device
* nfc: remove unused function in emv
* nfc: try several times to start emv application
* nfc: add AID display fallback for bank cards

Co-authored-by: あく <alleteam@gmail.com>
2022-10-12 02:13:12 +09:00
Nikolay Minaylov
04f5ad83f8
[FL-2828] Dolphin score points update #1809 2022-10-12 01:54:35 +09:00
Skorpionm
906124b091
[FL-2886] SubGhz: fix text overlap in read (#1853) 2022-10-10 13:43:15 +09:00
Roland Kammerer
a1ede0a2fc
BadUSB: add SYSRQ keys (#1460)
This allows sending of SysRq keys[1]. This then for example allows
sending the well known 'reisub' commands to safely reboot a otherwise
frozen Linux box. Or obviously any of the other magic keys.

The advantage compared to sending it to /proc/sysrq-trigger is that one
does not need a shell and depending on how broken the system is, one
might not even be able to get a new shell. The SysRq keys still work.

The cost is adding a new/"non-standard" keyword, IMO it is worth it.

Example:
DEFAULTDELAY 200
DELAY 1000
SYSRQ r
SYSRQ e
SYSRQ i
SYSRQ s
SYSRQ u
SYSRQ b

If one really wants to test it, I suggest h(elp) or w(ait).

[1] https://en.wikipedia.org/wiki/Magic_SysRq_key

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2022-10-09 02:56:56 +09:00
Sergey Gavrilov
31c0346adc
[FL-976] Removing lambdas (#1849)
* Removing lambdas...
* Wake the fk up, Gordon! We have a citadel to burn!
* Here comes the Nihilanth
* Lambda documentation

Co-authored-by: あく <alleteam@gmail.com>
2022-10-09 02:38:29 +09:00
Sergey Gavrilov
37b5e58a60
More correct elf loader (#1839)
* ELF File: more robust section loader
* ELF File: faster and smaller preinit, init and fini arrays handling
* ELF File: load sections on preload stage
* ELF File: naming
* Furi: fix use after free in thread join

Co-authored-by: あく <alleteam@gmail.com>
2022-10-08 02:06:29 +09:00