Commit graph

510 commits

Author SHA1 Message Date
MX
b90060e574
Merge branch 'fz-dev' into dev 2023-03-03 23:22:40 +03:00
Nikolay Minaylov
5d4057f722
Archive browser: update path on dir leave (#2455) 2023-03-04 03:07:41 +09: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
Georgii Surkov
6cc5119c64
[FL-3117] Infrared: Fix hangups on repeated button press (#2441)
Co-authored-by: あく <alleteam@gmail.com>
2023-03-03 21:37:02 +09:00
Astra
42d27d04f6
[FL-3127] Fix navigation on unsupported card types (#2440)
Co-authored-by: あく <alleteam@gmail.com>
2023-03-03 19:55:51 +09:00
MX
43ef3d9bff
Fix ibutton app - add manually - duplicate names 2023-03-03 07:34:49 +03: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
f8dc1939cd
Return kostyli and velosipedy back, apply different fix 2023-03-01 12:02:53 +03:00
MX
1b8cf6a5b1
Fix default frequency being overwritten bug 2023-03-01 11:57:16 +03:00
Georgii Surkov
ab6b3f8ed3
Fix hangups when the user mashes the transmit button 2023-03-01 02:15:13 +03:00
Astra
cc52253e22
Exit to the main menu on pressing BACK 2023-03-01 02:14:56 +03:00
MX
24726ab8a3
More precise debug counter ++ 2023-02-28 06:19:21 +03:00
MX
6bd5e22872
Somfy Telis - add manually 2023-02-28 06:15:55 +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
2c95a7cba4
Somfy Telis - Custom buttons + Prog mode 2023-02-28 00:02:30 +03:00
MX
04250632d7
Merge branch 'fz-dev' into dev 2023-02-27 21:34:30 +03:00
Nikolay Minaylov
9ae58f5462
[FL-3116, FL-3136] BadUSB UI fixes (#2439) 2023-02-27 23:04:14 +09:00
MX
182296d8af
Nice flor s - custom buttons 2023-02-27 01:13:21 +03:00
MX
12c1ec37a2
Fix PVS warnings (#2430)
Co-authored-by: あく <alleteam@gmail.com>
2023-02-26 17:08:05 +09:00
MX
a19768e376
Throw small delay 2023-02-26 06:39:42 +03:00
MX
0bf0267edd
Fix pvs warnings from OFW 2023-02-26 06:07:31 +03:00
MX
2b8f55322e
Merge branch 'fz-dev' into dev 2023-02-26 05:51:58 +03:00
MX
b15a15411f
Revert "Fix BadUSB bug (#365)"
This reverts commit 543346f885.
2023-02-26 05:51:37 +03:00
MX
a71abedd25
Rename some vars 2023-02-26 05:25:22 +03:00
MX
b53924c27a
Infrared debug settings - output pin 2023-02-26 05:23:26 +03:00
MX
543346f885
Fix BadUSB bug (#365) 2023-02-26 04:22:06 +03:00
MX
a435959ee3
Fix counter settings being reset w custom btns 2023-02-26 04:14:55 +03:00
MX
d33b092a9d
Fix Subghz item removal bug 2023-02-26 04:13:28 +03:00
MX
f676072e15
Fix custom button counter bug 2023-02-26 01:09:08 +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
n30f0x
eaf965c66f
BadUsb: STRINGDELAY feature, worker signal handling refactoring (#2269)
* BadUsb: Added stringdelay feature
* BadUsb: added stringdelay feature, fixed delay
* BadUsb: fix cursed delay structure
* BadUsb: long delay check added
* BadUsb: long delay distribution
* furi_delay_ms(0) edgecase fix, add documentation entry
* additional documentation entry
* BadUsb: get rid of bad logic, fixed documentation
* BadUSB script: fix events handling
* Delay value fix
* Script execution fix

Co-authored-by: あく <alleteam@gmail.com>
Co-authored-by: nminaylov <nm29719@gmail.com>
2023-02-26 02:34:48 +09:00
MX
5132b16305
Merge branch 'dev' into dev2 2023-02-21 23:23:07 +03:00
MX
a0b02b0110
Merge branch 'fz-dev' into dev 2023-02-21 23:10:51 +03:00
Liam Hays
663eb6cd6d
Display Mifare Classic data in NFC app (#2389)
* Add data display for Mifare Classic cards.
* Clean up log statements and data display.

Co-authored-by: あく <alleteam@gmail.com>
2023-02-21 16:15:48 +09:00
Round-Pi
b89902942b typo combing 2023-02-20 10:55:53 -05:00
MX
80a64d8e1a
Merge branch 'fz-dev' into dev 2023-02-17 21:55:32 +03:00
Mathie
009c9b1b71
Update nfc_cli.c (#2402)
Modified the f to a capital F, looks cleaner.

Co-authored-by: あく <alleteam@gmail.com>
2023-02-17 20:43:06 +09:00
MX
f93462667c
Remove 467.75 From freq analyzer since it has too much noise
Frequency is still can be used, just excluded from FA to avoid false detections
2023-02-13 20:54:03 +03:00
MX
b5a60dc10b
Merge branch 'fz-dev' into dev 2023-02-13 19:30:36 +03:00
Nikolay Minaylov
bc06d407f3
[FL-3113] BadUSB: disable CDC mode, USB mode switch fix (#2394) 2023-02-14 00:43:29 +09:00
Willy-JL
cb89bb9628 Fix archive sorting (skip on big folders) 2023-02-13 14:54:23 +00:00
Willy-JL
fbf99d6cb3 Skip browser inputs while loading / sorting 2023-02-13 14:54:15 +00:00
MX
d247eb43de
Fbt format 2023-02-12 23:58:16 +03:00
MX
70af1e3bfb
Merge branch 'dev' into fix-filebrowser 2023-02-12 20:04:00 +03:00
MX
896a78c645
Use 17 (1W) pin for subghz debug mode 2023-02-12 20:02:27 +03:00
Willy-JL
5a2f693551 File browser load speed improvements (skip redraw) 2023-02-12 11:22:52 +00:00
Willy-JL
82f77edc70 Fix file browser back history 2023-02-12 11:22:37 +00:00
MX
c1e2d2443a
Merge branch 'dev' into filebrowser 2023-02-12 02:48:52 +03:00
jbohack
73a9425f73 added the common pager frequency to the frequency list 2023-02-11 15:20:34 -05:00
jbohack
462836346e added pager modulation for restaurant pagers
credit to jimi for the modulation :)
2023-02-11 15:16:09 -05:00
MX
a4c28ed5bf
Show internal memory only in DEBUG mode + other fixes
Remove unused imports and remove my old code that used to hide layouts and tmp history folders, this was removed in dev but somehow was added back here
2023-02-11 21:59:22 +03:00
MX
b8deb931c2
Merge branch 'dev' into filebrowser 2023-02-11 21:47:21 +03:00
Willy-JL
99b126f0ef Fix archive tab switch code 2023-02-11 17:34:43 +00:00
MX
9d2297410e
fbt format 2023-02-11 18:28:58 +03:00
VerstreuteSeele
371f3b3869 De-xtreme-ify the code 2023-02-11 16:13:49 +01:00
VerstreuteSeele
6b99999566 Update browser 2023-02-11 15:49:00 +01:00
Clara K
11f3464e1b
Update archive_browser_view.h 2023-02-11 15:41:18 +01:00
Clara K
e5bef61364
Update archive_browser_view.c 2023-02-11 15:40:46 +01:00
Clara K
c0afbf659a
Update archive_browser.h 2023-02-11 15:40:11 +01:00
Clara K
a6dc16a98c
Add Internal Tab 2023-02-11 15:39:30 +01:00
MX
36f1283bb3
Fix: line was hidden under image in decode raw 2023-02-10 03:58:09 +03:00
MX
1b1f58408d
SubGHz Decode Raw GUI fixes 2023-02-10 02:25:30 +03:00
MX
a098e0561e
Temp fix
BUG: Now sound works but sending signal with sound on doesn't actually send signal!!!
Need to return previous implementation with 2 channel Timer or find another way
2023-02-10 00:56:29 +03:00
MX
175287ee0a
Fix again 2023-02-09 23:56:36 +03:00
MX
c5e225656d
Throw in some copy pastas
temp solution, maybe not temp, maybe its forever
2023-02-09 23:25:00 +03:00
MX
07093d072f
Fix Debug pin 2023-02-09 23:21:36 +03:00
MX
fda38c9d04
Debug pin setting for subghz protocol development
When DEBUG is on in settings, you can turn on debug pin in radio settings now, DO NOT use it if you don't know what it is!!!!
2023-02-09 22:41:12 +03:00
MX
16a5b13be4
Max 55 signals Seems stable, setting it to 55 for now
Subghz history
2023-02-09 22:12:03 +03:00
MX
ef2c668e31
Small GUI fixes
remove static line in subghz receiver because now we have RSSI line
2023-02-09 18:01:52 +03:00
MX
539c4e2dd0
Fixes & imporvements
Use our custom icon for Bin RAW
2023-02-09 17:49:28 +03:00
MX
b9351649ed
Merge branch 'fz-dev' into dev 2023-02-09 17:48:50 +03:00
MX
be33e099be
Fix read raw GUI
Now showing internal or external module usage properly
2023-02-09 17:22:19 +03:00
MX
ba36f4672c
Throw away Kostily & Velosipedy
Ne bag a ficha, bolshe ne nuzhna
2023-02-09 17:21:40 +03:00
Skorpionm
163be139eb
SubGhz: add protocol BinRAW (binarization of data quantized by the minimum correlated duration) (#2322)
* SubGhz: add protocol DataRAW (binarization of data quantized by the minimum correlated duration)
* SubGhz: fix name history
* SubGhz: add encoder Data_RAW protocol
* SubGhz: decreasing the size of the LevelDuration structure
* SubGhz: history, added check that there is free RAM
* SubGhz: checking for free memory, support to pass without gap
* SubGhz: add running average to average the result, auto cut noise at the end of a burst
* SubGhz: support for repeating sequences
* SubGhz: fix secplus_v2 decoder
* SubGhz: bin_RAW fix add history
* SubGhz: add debug
* SubGhz: debug refactoring
* FURI_LOG: add FURI_LOG_RAW_x formatted string output like printf
* SubGhz: fix new FURI_LOG metod
* FURI_LOG: fix unit test
* SubGhz: add enable/disable BinRAW protocol decoding
* SubGhz: fix PVS
* SubGhz: forcibly turn off the speaker when exiting SubGhz
* SubGhz: adaptive adjustment to the noise level

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2023-02-09 13:48:06 +09:00
MX
eaffe0ec17
Fix small bugs 2023-02-08 21:45:23 +03:00
MX
d02c586b92
Merge branch 'fz-dev' into dev 2023-02-08 21:05:17 +03:00
MX
ed78c4ca04
Fixes 2023-02-08 20:49:06 +03:00
itsweekly
39841bd5a9
Universal Projector Remote (#2343)
Co-authored-by: Georgii Surkov <georgii.surkov@outlook.com>
Co-authored-by: あく <alleteam@gmail.com>
2023-02-09 02:28:34 +09:00
MX
bbc1ba62fc
Merge branch 'fz-dev' into dev 2023-02-08 20:12:10 +03:00
Skorpionm
31259d5304
[FL-3091] SubGhz: add protocol Alutech at-4n (#2352)
* GubGhz: add protocol Alutech at-4n
* SubGhz: fix syntax
* SubGhz: fix subghz_protocol_decoder_alutech_at_4n_get_hash_data
* SubGhz: add unit test alutech at-4n
* SubGhz: add name key

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2023-02-09 01:59:49 +09:00
MX
c8cf3e41a7
Fix that sound switcher was not present in read raw 2023-02-08 18:48:28 +03:00
Brandon Weeks
8288a08eb3
SubGhz: add protocol "Linear Delta-3" (#2239)
* SubGhz: add protocol "Linear Delta-3"
* SubGhz: fix Leniar Delta 3
* BadUSB: mask pvs studio warning for valid code

Co-authored-by: SkorP <skorpionm@yandex.ru>
Co-authored-by: あく <alleteam@gmail.com>
Co-authored-by: Skorpionm <85568270+Skorpionm@users.noreply.github.com>
2023-02-09 00:26:45 +09:00
MX
b1f581239b
BadUSB: Keyboard Layouts (#2256)
* BadUSB: Keyboard Layouts
* Apply requested changes pt1
* Add layout file check when we loading config

Co-authored-by: Nikolay Minaylov <nm29719@gmail.com>
Co-authored-by: あく <alleteam@gmail.com>
2023-02-09 00:01:00 +09:00
MX
0dccbe28bb
Merge branch 'fz-dev' into dev 2023-02-08 17:15:17 +03:00
Skorpionm
99253a0e28
[FL-3093, FL-3087] SubGhz: Fix Raw write, add short duration filter setting (#2300)
* SubGhz: Fix recording RAW files, sometimes could not start at a high level
* SubGhz:  subghz_worker, add short duration filter setting
* SubGhz: capture raw timings in cli. Furi: clear pending interrupts on ISR set/reset
* SubGhz: fix start  duration in furi_hal_subghz_start_async_rx
* [FL-3093] SubGhz: hopping issue in some regions
* [FL-3087] SubGhz: fix delete-ok issue
* SubGhz: remove copypasta from rx_raw cli command

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2023-02-08 22:20:42 +09:00
MX
30081b79c4
Mirror my changes to badusb layouts from PR 2023-02-08 16:10:47 +03:00
MX
81316255f9
Fix after merge issues pt1 2023-02-08 12:22:11 +03:00
MX
6c768f2019
Merge branch 'fz-dev' into dev 2023-02-08 12:09:57 +03:00
Liam Hays
111c7557b3
Fix minor UI inconsistencies and bugs (#2361)
* Changed blue LED to cyan in NFC Magic and Picopass apps.
* Fix capitalization of ATQA and UID in NFC Add Manually wizard.
* Fix reselection of "Saved" menu item in NFC and RFID apps.
* Fix double back press after deleting a file in the SubGhz browser.
* Make NFC app behave like other apps: return to the file browser after deleting a file.
* Rename NfcSceneSetAtqua to NfcSceneSetAtqa.
* Save selected menu items in NFC Magic and Picopass apps in a way that always works.
* Restore previous selection in Universal Remotes menu.
* Other way to do universal remote menu saving, and NFC Extra Actions saves last selection.

Co-authored-by: あく <alleteam@gmail.com>
2023-02-08 17:08:50 +09:00
Georgii Surkov
7a3a1aaf0d
[FL-3057] Allow use of any suitable pin for 1-Wire devices (#2350)
* 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
* Fix formatting
* Fix PVS-studio warnings
* Update CODEOWNERS
* Add furi_hal_gpio_get_ext_pin_number
* Create README.md
* FuriHal: move furi_hal_gpio_get_ext_pin_number to resources

---------

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2023-02-08 14:40:44 +09:00
hedger
224d0aefe4
[FL-2733] multitarget support for fbt (#2209)
* First part of multitarget porting
* Delete firmware/targets/f7/Inc directory
* Delete firmware/targets/f7/Src directory
* gpio: cli fixes; about: using version from HAL
* sdk: path fixes
* gui: include fixes
* applications: more include fixes
* gpio: ported to new apis
* hal: introduced furi_hal_target_hw.h; libs: added one_wire
* hal: f18 target
* github: also build f18 by default
* typo fix
* fbt: removed extra checks on app list
* api: explicitly bundling select mlib headers with sdk
* hal: f18: changed INPUT_DEBOUNCE_TICKS to match f7
* cleaned up commented out code
* docs: added info on hw targets
* docs: targets: formatting fixes
* f18: fixed link error
* f18: fixed API version to match f7
* docs: hardware: minor wording fixes
* faploader: added fw target check
* docs: typo fixes
* github: not building komi target by default
* fbt: support for `targets` field for built-in apps
* github: reworked build flow to exclude app_set; fbt: removed komi-specific appset; added additional target buildset check
* github: fixed build; nfc: fixed pvs warnings
* attempt to fix target id
* f7, f18: removed certain HAL function from public API
* apps: debug: enabled bt_debug_app for f18
* Targets: backport input pins configuration routine from F7 to F18

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2023-02-08 01:33:05 +09:00
MX
559c4567cb
Rename: Radio settings -> Radio Settings 2023-02-03 17:43:17 +03:00
MX
8c50225da4
Fix issue with external module settings
It was possible to set it to external module without module connected, and as it saves its state in memory, all other plugins that uses subghz will not work, now we checking for module when you changing that setting
2023-02-03 17:20:10 +03:00
MX
bfbcce030c
Fix GUI issues
Fix secplus v1 text too
2023-02-03 15:39:02 +03:00
Victor
5458157924 Added external CC1101 support 2023-02-02 22:47:50 +03:00
MX
16f8f2c2df
Merge branch 'fz-dev' into dev 2023-02-02 11:54:20 +03:00
Noam Drong
5db7fdf985
Add support for GUI-CTRL in bad_usb (#2315)
Co-authored-by: あく <alleteam@gmail.com>
2023-01-30 15:03:10 +07:00