Commit Graph

669 Commits

Author SHA1 Message Date
SG
274c12fc56
[FL-2274] Inventing streams and moving FFF to them (#981)
* Streams: string stream
* String stream: updated insert/delete api
* Streams: generic stream interface and string stream implementation
* Streams: helpers for insert and delete_and_insert
* FFF: now compatible with streams
* MinUnit: introduced tests with arguments
* FFF: stream access violation
* Streams: copy data between streams
* Streams: file stream
* FFF: documentation
* FFStream: documentation
* FFF: alloc as file
* MinUnit: support for nested tests
* Streams: changed delete_and_insert, now it returns success flag. Added ability dump stream inner parameters and data to cout.
* FFF: simplified file open function
* Streams: unit tests
* FFF: tests
* Streams: declare cache_size constant as define, to allow variable modified arrays
* FFF: lib moved to a separate folder
* iButton: new FFF
* RFID: new FFF
* Animations: new FFF
* IR: new FFF
* NFC: new FFF
* Flipper file format: delete lib
* U2F: new FFF
* Subghz: new FFF and streams
* Streams: read line
* Streams: split
* FuriCore: implement memset with extra asserts
* FuriCore: implement extra heap asserts without inventing memset
* Scene manager: protected access to the scene id stack with a size check
* NFC worker: dirty fix for issue where hal_nfc was busy on app start
* Furi: update allocator to erase memory on allocation. Replace furi_alloc with malloc.
* FuriCore: cleanup memmgr code.
* Furi HAL: furi_hal_init is split into critical and non-critical parts. The critical part is currently clock and console.
* Memmgr: added ability to track allocations and deallocations through console.
* FFStream: some speedup
* Streams, FF: minor fixes
* Tests: restore
* File stream: a slightly more thread-safe version of file_stream_delete_and_insert

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2022-02-18 22:53:46 +03:00
Nikolay Minaylov
242241987e
[FL-2256] USB Service (#998)
* usb service, removed power observer
* fix usb restart after disable
* remove usb service from apps
* Applcations: remove dead extern
* New thread naming scheme for drivers
* New thread symbol naming scheme for drivers

Co-authored-by: あく <alleteam@gmail.com>
2022-02-16 20:52:34 +03:00
Albert Kharisov
a37f1d0f6f
[FL-2222] IR: fix font (#1000) 2022-02-16 20:02:22 +03:00
Albert Kharisov
17d6b9f612
[FL-2254] IR: fix hardfault, correct remote loading (#999)
* Bugfix: remove freeing of uninitialized object (IrdaAppSignal).
Therefore rubbish in memory sometimes caused HardFault.
* Fix: slow FFF makes IR-remotes loading take much time,
so we can glimpse previous scene's view while remote is parsing.
Reproducing: remove remote, fast press back (while popup is playing)
and select new remote - previous popup view is displayed.
2022-02-16 19:09:43 +03:00
Albert Kharisov
97c9a2229f
[FL-1461] Update progressbar UI (IR bruteforce) (#997)
Co-authored-by: あく <alleteam@gmail.com>
2022-02-16 14:29:28 +03:00
Albert Kharisov
b8b42d0bef
[FL-2260] IR CLI commands merge (#996)
Co-authored-by: あく <alleteam@gmail.com>
2022-02-16 14:25:23 +03:00
gornekich
7395caa7ce
[FL-2255], [FL-2259] NFC and Input CLI commands refactoring (#995)
* nfc: refactore cli commands
* input: refactore cli commands

Co-authored-by: あく <alleteam@gmail.com>
2022-02-16 14:15:40 +03:00
Albert Kharisov
07036cc0f5
[FL-2222] IR fixes (#994)
* Fix elements_multiline_text_aligned
* IR: fix delete menu
* IR: bold text on delete/saved
* IR: add safe back screen
* IR: don't clear text on rename
* Nfc,Infrared: update DialogEx usage

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2022-02-16 14:09:47 +03:00
あく
939998a8c8
Release Candidate 0.48.0 Bug Fixes (#991)
* Power: wait a little bit till message displayed on screen when executing power off. FuriCore: do not use bkpt in release builds(causing HardFault when SPI is active).
* Cleanup BSS section: add more consty consts to be more constish.
* Desktop: properly handle autostarted applications.
2022-02-13 22:24:03 +03:00
Albert Kharisov
2c616983cf
Add animations: box, cry, read, hack (#990)
* Add animations: box, cry, read, hack
* Desktop: unload animation if application is already started

Co-authored-by: あく <alleteam@gmail.com>
2022-02-10 22:06:45 +03:00
Albert Kharisov
21ac37a6f6
[FL-2152] New PIN lock (#989)
* [Fl-2152] New PIN Lock, part 1
* Fix errors & leaks, renaming
* Add support to f6
* Fix error, remove duplicate code
* Fix drawing corners of Lock Popup
* FuriHal: insomnia if usb connected
* Applications: cleanup timers use

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2022-02-10 21:17:41 +03:00
Nikolay Minaylov
2a52d2d620
[FL-2216, FL-2233] Archive fixes (#987)
* archive: badusb, u2f and various fixes
* archive: delete confirmation
* badusb: removed empty string check
* string pointer check
* FuriHal: insomnia overflow assert, fix double insomnia exit in ble. BadUsb: fix uncommitted model.
* view update fixes in gpio, badusb, u2f

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2022-02-10 16:01:49 +03:00
あく
df2d1ad13f
[FL-2219, FL-2251] System, FuriCore, FuriHal: various bug fixes and improvements (#986)
* Replace irq shenanigans with critical section
* Power: halt system on power off instead of crash.
* Gui: properly handle input event on NULL current_view
* FuriHal: correct gpio configuration sequence
* FuriHal: cleanup uart initialization. Makefile: allow to disable thread support.
* Loader: improve locking, fix simultaneous app start crash, full command line args support for gui apps, more consistent insomnia
* Loader: correct spelling
* FuriHal: increase gpio configuration readability
* FuriHal: correct gpio configuration error when mode is GpioModeEventRiseFall
Co-authored-by: DrZlo13 <who.just.the.doctor@gmail.com>
2022-02-10 14:20:50 +03:00
gornekich
6b78a8ccfe
[FL-2244] Companion reboot fix (#988)
* bt: don't open rpc session if it is busy
* bq27220: fix incorrect checksum calculation

Co-authored-by: あく <alleteam@gmail.com>
2022-02-09 15:03:27 +03:00
あく
2876499c4f
[FL-2249] Bluetooth: update status bar icon #985 2022-02-09 14:57:44 +03:00
Skorpionm
b71f3c6323
[FL-2168] SubGhz: fix auto highlight name when saving RAW (#984) 2022-02-08 21:41:10 +03:00
gornekich
3f6deecdae
[FL-2243] Restart BT advertising after forgetting devices #982
Co-authored-by: あく <alleteam@gmail.com>
2022-02-07 16:37:56 +03:00
Nikolay Minaylov
40479e1761
u2f: check files before register/login (#980) 2022-02-07 16:34:09 +03:00
gornekich
8cfd0eab9e
[FL-2198], [FL-2161] NFC emulation refactoring (#968)
* rfal: add state changed callback
* furi_hal_nfc: add NFC-A emulation API
* nfc: add emulation logger, refactor scenes
* elements: fix text_box element
* gui: fix text box module
* nfc: remove unnecessary buffers
* nfc: introduce emulation callback concept
* nfc: format sources
* bt settings: fix incorrect scene switch
* bt settings: format sources
* Debug: fix x2d import for python 3
* Gui: rename method name widget_clear to widget_reset
* nfc: add nfca emulation handler
* nfc: add global custom events enum
* nfc: UID emulation Data -> Log
* furi_hal_nfc: fix incorrect timings
* u2f, badusb: widget_clear() -> widget_reset()

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2022-02-02 22:59:28 +03:00
gornekich
838df4c9ea
[FL-2229] New assets paths (#978)
* assets: change resources paths
* apps: rework nfc, irda and subghz with new assets path
* subghz: remove unused paths
* subghz: fix incorrect path
* badusb and u2f fix

Co-authored-by: あく <alleteam@gmail.com>
Co-authored-by: nminaylov <nm29719@gmail.com>
2022-02-02 18:58:52 +03:00
Nikolay Minaylov
d2c4f15af5
[FL-2226] BadUSB, U2F: missing assets error (#979)
* badusb, u2f: showing error screen if assets are missing
* BadUsb: remove dead code
* U2F: remove dead code

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2022-02-02 17:27:33 +03:00
gornekich
0acea5b25f
bt_settings: fix incorrect switch to forget devices (#977) 2022-02-01 10:43:38 +03:00
Albert Kharisov
9f1a2f2d99
[FL-2237] Fix animation frame order, increase its max size (#976)
* [FL-2237] Fix animation frame order, increase its max size
* Make frame_order variable sized
2022-01-31 16:09:15 +03:00
あく
3cdb59805e
Desktop: fix crash caused by unconsumed back button short press (#974) 2022-01-30 19:45:08 +03:00
あく
2b2a798407
Pre-RC Bug Fixes and Gui lockdown mode. (#973)
* Rfid: fix incorrect StringElement parameters
* Gui, Desktop: add lockdown mode, integrate with desktop.
* Gui: fix runglish in doxy
2022-01-29 14:20:55 +03:00
Nikolay Minaylov
6264ee8c3b
[FL-2212] File validators and archive fixes #972
Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2022-01-29 12:39:10 +03:00
Albert Kharisov
84410c83b5
[FL-2183] [FL-2209] Dolphin Deeds, Level up, assets generation, refactoring (#965)
* Desktop: cleanup headers
* Get loader pubsub via record
* [FL-2183] Dolphin refactoring 2022.01
* Restruct animations assets structure
* Rename assets
* Cleanup headers
* Update Recording animation
* Add BadBattery animation
* Provide loader's pubsub via record
* Fix load/unload animations
* Scripts: add flipper format support, initial dolphin packager rework. Assets: internal and external dolphin.
* Sync internal meta.txt and manifest.txt
* Reorder, rename dolphin assets
* Split essential generated assets
* Add ReadMe for dolphin assets
* Separate essential blocking animations
* Scripts: full dolphin validation before packaging
* Assets, Scripts: dolphin external resources packer
* Github: update codeowners
* Scripts: proper slots handling in dolphin animation meta
* Scripts: correct frames enumeration and fix compiled assets.
* [FL-2209] Add Dolphin Deeds points and many more
* Remove excess frame_rate
* Change dolphin assets directory
* Scripts: add internal resource support to dolphin compiler
* Scripts: add internal assets generation, renaming
* Scripts: correct assert, renaming
* Code cleanup, documentation, fixes
* Update Levelup animations
* Rename essential -> blocking
* Fix Unlocked hint
* Scripts: rewrite Templite compiller, replace regexps with token parser, split block types into code and variable blocks. Update dolphin templates.
* Documentation: add key combos description and use information
* Scripts: cleanup templit, more debug info and add dev comment

Co-authored-by: あく <alleteam@gmail.com>
2022-01-29 12:20:41 +03:00
Skorpionm
53e7415d12
[FL-2215, FL-2168] Display long names and rename RAW files (#971)
* [FL-2215] SubGhz:  fix long names on RAW and Delete screens
* [FL-2168] SubGhz: fix rename RAW
2022-01-27 19:38:47 +03:00
Skorpionm
cb0369a7f3
SubGhz: add protocol Somfy Telis RTS, Somfy Keytis RTS (#964)
* SubGhz: add 433.42 MHz  for Somfy
* SupGhz: add protocol Somfy Telis RTS, Somfy Keytis RTS

Co-authored-by: あく <alleteam@gmail.com>
2022-01-27 15:28:21 +03:00
あく
e804015fea
[FL-2225] About: add serial number to hardware info screen (#970) 2022-01-27 15:21:21 +03:00
gornekich
23ff6723cf
[FL-2204] Bluetooth forget devices (#967)
* bt: update connection parameters
* bt: set correct connection latency and timeout
* gui popup: add clean method
* furi_hal_bt: add connection parameters request, clear database
* bt: add forget bonded devices API
* bt_settings: add forget bonded devices GUI
* bt: rework pin code show with view port to hide view
* bt: support conn parameters for different profiles
* furi_hal_bt: sync f6 target
* target f6: fix build
* bt: format sources
* furi_hal_bt: update connection parameters
* bt: update connection params, fix GUI
* FuriHal: fix spelling
* Refactoring: rename _clean to _reset

Co-authored-by: あく <alleteam@gmail.com>
2022-01-21 20:32:03 +03:00
Nikolay Minaylov
d4787e859e
[FL-1506, FL-2197] Power, USB, LED driver improvements (#966)
* Power, USB, LED driver improvements
* u2f hid descriptor fix
* variable_item_list: value alignment fix
* InputTypeRepeat handling in menu/submenu/var_item_list
* lp5562: fix bugs on 400khz i2c
* Scripts: lint in parallel.
* FuriHal: rename some USB structure to match naming convention. Drivers: update magic values in LP5562.

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2022-01-21 19:55:44 +03:00
Skorpionm
d4d87aa6a8
[FL-2045] SubGhz: new protocol (GSN , Beninca/Allmatic, Elmes) and validator (#958)
* SubGhz: add new method of obtaining a manufactory code subghz_protocol_keeloq_common_magic_xor_type1_learning
* TextInput: checking for a lock on a file with the same name
* TextInput:  fix checking for a lock on a file with the same name
* Assets: rename and recompile
* TextInput: added picture and timer to turn off blob
* TextInput: Fix graphics
* TextInput:  fix validator
* Validators: Add validator is file
* TextInput: fix callback validator_is_file_alloc
* SubGhz: add propocol GNS (dimamic), Beninca/Alcatic,  Elmes
* SubGhz: fix function description
* Gui: correct timer routine on deallocation
* Format sources

Co-authored-by: あく <alleteam@gmail.com>
2022-01-21 16:55:09 +03:00
Albert Kharisov
8f8aba2a34
[FL-2203] Fix CLI RPC stall (#961)
* [FL-2203] Fix CLI RPC stall
2022-01-14 17:09:43 +03:00
Albert Kharisov
17d0d19348
[FL-2116] RPC: stop session on decode error (#959)
* [FL-2116] RPC: stop session on decode error
* Rollback protobuf
* Send only DECODE_ERR, fix session tests
* Tests: replace asserts with checks. Fix broken production build

Co-authored-by: あく <alleteam@gmail.com>
2022-01-14 12:58:26 +03:00
Nikolay Minaylov
a3aaf50ecd
[FL-2084] I2C memory read/write (#951)
* furi_hal_i2c: read/write registers
* remove i2c_acqure/release
* i2c_is_device_ready without reading data

Co-authored-by: あく <alleteam@gmail.com>
2022-01-12 18:29:28 +03:00
gornekich
407f68c08a
[FL-2182] NFC-V UID show fix (#955)
* nfc: rework static inline functions
* nfc: show uid for NFC-B,F,V
2022-01-12 17:02:20 +03:00
Albert Kharisov
a0c16e8a19
Add protobuf versioning (#954)
* Add protobuf versioning
* Add protobuf version unit test
* Change pb version providing
* Remove redundant 'call'
2022-01-12 16:12:40 +03:00
gornekich
1d31000516
iButton fix data layout (#953)
* ibutton: fix info and delete scenes layout
* loader: fix incorrect heap allocation memory calc
* ibutton: cleanup
2022-01-11 20:45:49 +03:00
Albert Kharisov
9ade2349ad
[FL-2188] Fix Desktop crush: stub dolphin stats (#950)
* Fix Desktop crush: stub dolphin stats

Fix Desktop crash on butthurt > 11, so hardcoded animations
are always available. Stub good dolphin stats till
correct deeds management implemented.

* Update ReadMe to match real project structure.

Co-authored-by: あく <alleteam@gmail.com>
2022-01-10 22:46:20 +03:00
Albert Kharisov
990a065bd0
[FL-1929, FL-2164] IR App migrate to FFF (#949)
* IR app move to FFF
* [FL-2164] Hide unimplemented submenus
* Fix brute force fail
* Fix FFF endless reading
* Reformat TV bruteforce lib to FFF
* fixes & cleanup
* Infrared: switch to constexpr.

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2022-01-10 20:13:41 +03:00
あく
389ff92cc1
Naming and coding style convention, new linter tool. (#945)
* Makefile, Scripts: new linter
* About: remove ID from IC
* Firmware: remove double define for DIVC/DIVR
* Scripts: check folder names too. Docker: replace syntax check with make lint.
* Reformat Sources and Migrate to new file naming convention
* Docker: symlink clang-format-12 to clang-format
* Add coding style guide
2022-01-05 19:10:18 +03:00
gornekich
c98e54da10
[FL-1849] NFC and iButton gui fixes (#943)
* nfc: fix spaces between lines in delete and info scenes
* gui widget: add extern c
* ibutton: rework gui in info and delete scenes
* Loader, Desktop: fix debug apps and plugins start from cli, fix deadlock in archive

Co-authored-by: あく <alleteam@gmail.com>
2022-01-03 03:01:54 +03:00
Nikolay Minaylov
7e2f0fcc22
[FL-2121] U2F GUI (#942)
* U2F: new gui
* U2F: user cert key encryption
* FuriCore: move type casting to dangerous_defines
* FuriCore: exclude dangerous things from furi.h

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2022-01-03 02:33:28 +03:00
gornekich
2cbf99e15a
[FL-2019] Battery test application (#940)
* Power: rework API
* Applications: introduce battery test application
* Power: fix typo
* Desktop: cleanup merge artifacts

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2022-01-03 01:52:45 +03:00
gornekich
7522b111c2
[FL-1220] BLE scan MAC addresses test (#939)
* bt: refactore cli commands
* bt: add radio stack control, add scan mac addresses
* bt: refactore with new furi-hal-bt API
* bt: f6 targer sync
* bt: code cleanup, update documentation
* Bt: new command names, proper radio stack handling

Co-authored-by: あく <alleteam@gmail.com>
2022-01-03 01:36:42 +03:00
Albert Kharisov
a39002ce22
[FL-2150] Dolphin animation refactoring (#938)
* Dolphin Animation Refactoring, part 1
* Remove animations from desktop
* Remove excess, first start
* Split animation_manager with callbacks
* allocate view inside animation_view
* Work on ViewComposed
* Draw white rectangles under bubble corners
* Fix bubbles sequence
* RPC: remove obsolete include "status.pb.h"
* Add animations manifest decoding
* Flipper file: add strict mode
* FFF: Animation structures parsing
* Assembling structure of animation
* Lot of view fixes:
  Add multi-line bubbles
  Add support for passive bubbles (frame_order values starts from passive now)
  Add hard-coded delay (active_shift) for active state enabling
  Fix active state handling
  Fix leaks
  Fix parsing uncorrect bubble_animation meta file
  Fix bubble rules of showing
* Animation load/unload & view freeze/unfreeze
* Blocking & system animations, fixes:
  View correct activation
  Refactoring + blocking animation
  Freeze first passive/active frames
  Many insert/eject SD tests fixes
  Add system animations
  Add Loader events app started/finished
  Add system no_sd animation
* Assets: dolphin packer. Scripts: minor refactoring.
* Desktop: update logging tags. Scripts: add metadata to dolphin bundling process, extra sorting for fs traversing. Make: phony assets rules.
* Github: rebuild assets on build
* Docker: add missing dependencies for assets compilation
* Docker: fix run command syntax
* ReadMe: update naming rules with link to source
* Assets: recompile icons
* Loader: add loader event
* Desktop, Gui, Furi Core: const shenanigans macros

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2022-01-03 00:39:56 +03:00
Nikolay Minaylov
1202f9b82d
[FL-2159] BadUSB alt codes (#935)
* badusb: alt code commands
* badusb: demo script update
* usb hid: consumer control descriptor
* BadUsb: remove dangerous type casting, rename variable to match codding style guide

Co-authored-by: あく <alleteam@gmail.com>
2022-01-02 20:34:39 +03:00
Albert Kharisov
5b1f50e63a
Much better crash handling. So wow.
* Furi, FuriHal, Desktop: much better crash handling. So wow.
* FuriHal: add missing include in FreeRTOSConfig.h

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2021-12-31 20:32:49 +03:00
Anna Prosvetova
475fa91ba6
☦️ Rpc: implement SystemPlayAudiovisualAlert (#937)
* Rpc: update protobuf sources
* Notification: allow user settings override
* Notification: add audiovisual alert sequence
* Rpc: implement SystemPlayAudiovisualAlert
2021-12-28 18:46:08 +03:00
あく
5252b207c8
SubGhz: replace incorrect frequency value (#933) 2021-12-26 18:31:48 +03:00
Skorpionm
fb7cc1dd60
[FL-2162] SubGhz: Cli refactoring (#926)
* [FL-2162] SubGhz: Cli refactoring
* SubGhz: power reduction for Australia
* SubGhz: add frequencies for testing the Japanese region
* Desktop: fix fav app

Co-authored-by: Anna Prosvetova <anna@prosvetova.me>
Co-authored-by: あく <alleteam@gmail.com>
2021-12-25 16:19:30 +03:00
Nikolay Minaylov
f061b937d0
[FL-2133, FL-2151] charging icon, fix gui buttons size (#925)
Co-authored-by: あく <alleteam@gmail.com>
2021-12-24 23:00:45 +03:00
Anna Prosvetova
f6d4e8fa84
CI: conditional compact build (#930)
* CI: conditional compact build
* Rpc: fix log line ending
2021-12-24 22:35:25 +03:00
Anna Prosvetova
46a25c295c
Decouple apps to allow smaller builds. Loader deadlock fix and refactoring. (#929)
* Lib: always include rfal
* Gui: remove screen_stream
* Input: decouple from Cli
* Loader: decouple from Cli
* Desktop: ignore missing favorite app, decouple from Archive
* Make: make Notification a Gui dependency
* Make: embed debugging information into elfs
* Loader: hide Plugins submenu when plugins ga arimasen
* Applications: update on start hook usage
* Loader: fix dead lock on menu rebuild with open rpc, new cli command.

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2021-12-24 21:47:48 +03:00
あく
7cea359be8
Storage: lfs config fingerprinting. RTC: fix data collision in lock register, refactor and cleanup. (#928) 2021-12-24 17:33:58 +03:00
Nikolay Minaylov
9e62f08e4d
[FL-1958] U2F prototype (#879)
* U2F implementation prototype
* U2F data encryption and store, user confirmation request
* remove debug prints
* fix notification bug in chrome
* split u2f_alloc into u2f_init and u2f_alloc
* typo fix, furi-hal-trng -> furi-hal-random
* rand/srand redefinition
* SubGhz: a little bit of Dante.
* u2f_data naming fix

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2021-12-22 23:04:08 +03:00
Skorpionm
9b62b557b4
SubGhz: fix transmission frequency (#922) 2021-12-22 22:35:53 +03:00
Skorpionm
3a86da5526
[FL-2139] SubGhz: refactoring GUI SubGhz (#910)
* SubGhz: refactoring GUI ReadRAW
* SubGhz: replacing memcpy with strcpy
* SubGhz: fix button name "Mode",  fix delete scene, fix show name when loading a key
* SubGhz: refactoring GUI SubGhz
* scene_manager: add exit from last scene API
* subghz: stop scene manager before stopping view dispatcher

Co-authored-by: gornekich <n.gorbadey@gmail.com>
Co-authored-by: あく <alleteam@gmail.com>
2021-12-22 16:01:20 +03:00
Skorpionm
51aa169c3b
[FL-2149] SubGhz: Additional frequencies for testing (#920)
* SubGhz: add new frequency for testing
* [FL-2149] SubGhz: power reduction for Australia

Co-authored-by: あく <alleteam@gmail.com>
2021-12-22 14:05:14 +03:00
Albert Kharisov
cdfc420ddf
Replace Laptop animation text (#919)
* Fix Laptop animation bubble
* Correct new animation select
2021-12-21 17:10:34 +03:00
Albert Kharisov
b4a49cdb30
[FL-2148] Infrared - fast erase when rename (#914)
Erase whole string during renaming remote/button in Infrared app

Co-authored-by: あく <alleteam@gmail.com>
2021-12-21 15:53:57 +03:00
Nikolay Minaylov
51b823d1ca
[FL-2115][FL-2122] BadUSB demo scripts (#915)
* BadUSB: support for dual-modifier key commands, demo script for windows
* BadUSB: ALT-GUI command, demo script for macOS

Co-authored-by: あく <alleteam@gmail.com>
2021-12-21 15:49:57 +03:00
gornekich
b0f582df99
[FL-1972], [FL-1920] Mifare Ultralight and NTAG separation (#918)
* nfc: rename read mifare ultralight menu
* nfc: separate ntag and mifare ultralight
* nfc: save Mifare Ultralight type
* nfc: add valid ack and nack messages
* nfc: add compatible write command implementation
* nfc: support f6 target
2021-12-21 15:33:17 +03:00
あく
439fb9c18d
[FL-1910, FL-2146] Update to new FreeRTOS, fix CMSIS thread flags collision with stream buffer. New cube. (#917)
* Libs: add FreeRTOS submodule. FuriHal: replace ST provided FreeRTOS with original one. FuriHal: for cmsis os hal and patch it for better compatibility with stream buffer.
* Makefile: fix svd plugin on blackmagic
* Lib: update STM32CubeWB package. Project: update project to match new cube package.
* Lib: properly rebase and upload STM32CubeWB
* BleGlue: switch ack logging level to trace
2021-12-21 15:16:25 +03:00
Vlad Roskov
26b2d07dd6
Round up the charge % when drawing battery icon (#912)
Causes anxious urge to recharge otherwise
2021-12-18 14:11:18 +03:00
gornekich
93871f9425
BT hid navigation fix (#911)
* bt: fix bt hid navigation
* Cli: change datetime format to more ISO-ish, add datetime validation.

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2021-12-17 16:24:37 +03:00
Anna Prosvetova
4013da5b59
Rpc: implement SystemGetDateTime, SystemSetDateTime, update GuiStartVirtualDisplay (#908)
* Rpc: update protobuf sources
* Rpc: implement SystemGetDateTime, SystemSetDateTime
* Rpc: add first frame parameter to GuiStartVirtualDisplay
2021-12-16 18:41:55 +03:00
gornekich
36089c7472
Change NFC log messaged level (#906)
* nfc: change nfc worker log messaged to debug level
* FuriHal: switch logging level to trace in nfc

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2021-12-15 22:07:37 +03:00
ghettorce
de006aa06a
NFC: fixes & improvements (#897)
* nfc: (mf_ul) fix overflow while reading
* nfc: (mf_ul) fix FAST_READ command emulation
* nfc: (mf_ul) implement non-strict PWD_AUTH command emulation for NTAG21x
* nfc: (mf_ul) improve emulation stability by removing frequent furi_hal_console_put() calls that cause delays or something
* nfc: (mf_ul) remove calls to blocking functions from emulation worker

Co-authored-by: あく <alleteam@gmail.com>
2021-12-15 21:27:25 +03:00
gornekich
f0d4584b40
[FL-2119] BT HID App (#888)
* view_dispatcher: add default back processing for Long events
* assets: add ble connected and disconnected assets
* bt keyboard: introduce new application
* bt keyboard: add logic to keyboard mode
* bt: remove debug ble hid application
* bt hid: introduce media controller
* gui canvas: rename CanvasFontDirection -> CanvasDirection
* gui canvas: add arrow element
* assets: update finilized assets
* bt hid: finalise keynote GUI
* bt hid: finalise media player GUI
* bt: add media key buttons support
* bt: add exit confirm view
* bt: change Clicker -> Remote
* bt: support f6 target
* bt: hopefully final bt hid design
* bt hid: add blue led notification when device is connected
* bt: leave only bt clicker for now
* bt: add display notification on pin code show event
2021-12-15 20:39:06 +03:00
あく
63642617ee
Hide debug tools if debug is not enabled. Application: update debug tools code base. SubGhz: log duty cycle. (#903)
* Application: clean debug_tools code base.
* SubGhz: add duty cycle logging.
* Application: hide debug tools if not enabled. Gui: move icon_animation allocation to menu module.
2021-12-15 15:23:16 +03:00
あく
6579368053
[FL-1818] System setting and debug options. RTC HAL refactoring. (#902)
* FuriHal: RTC API refactoring. System Setting application. FuriCore: adjustable log levels. Minor code cleanup.
* Storage: change logging levels for internal storage.
* FuriCore: fix broken trace logging level
2021-12-15 01:39:59 +03:00
Albert Kharisov
965067b5bd
[FL-2132] IRDA: fix crush in Saved Remote (OK + back) (#894)
Pressing Back button before releasing OK on Saved Remote scene
freezes application, because it doesn't expect that button is
pressed when leaving Saved Remote scene.

Issue: 893
2021-12-14 02:52:13 +03:00
Skorpionm
1232defcf1
[FL-2129] SubGhz: Fix Duty cycle at 433/868 (#892)
* [FL-2129] SubGhz: Fix Duty cycle at 433/868
* SubGhz: fix syntax
* SubGhz: increased silence time in the 868 range
* SubGhz: added build flag LAB_TESTS
* SubGhz: better LAB_TESTS flag handling
* NFC: LAB_TESTS flag handling

Co-authored-by: DrZlo13 <who.just.the.doctor@gmail.com>
2021-12-13 15:21:37 +03:00
SG
58ce937321
[FL-1891] Release 0.42 bugfixes (#891)
* Fixed the "ibutton can only emulate after reading" bug
* Fixed previous fix. FIXES FOR THE FIX GOD! BUGS FOR THE BUG THRONE!
* Fixed "Repeat code" position on code input screen
* Changed CAME protocol icon
* Brewfile: add imagemagick missing assets compiler dependency
* Correct fix for "Repeat code" position on code input screen

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2021-12-12 14:03:39 +03:00
Anna Prosvetova
195f422bb9
Rpc: implement SystemFactoryReset (#890)
* Rpc: update protobuf sources
* Rpc: implement SystemFactoryReset
2021-12-10 14:51:36 +03:00
SG
d6f080f7d0
[FL-2125] Cli: input_dump (#887)
* Cli: input_dump
* Tied together input_dump and input service
* input_dump and input service are now very tightly tied
* Input: remove record open in input_dump.

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2021-12-09 19:53:29 +03:00
Skorpionm
9f28338d9e
[FL-2100] SubGhz: GUI download and transfer RAW file (#881)
* SubGhz: fix exit subghz_chat
* SubGhz: refactoring GUI RAW

Co-authored-by: あく <alleteam@gmail.com>
2021-12-08 18:00:54 +03:00
tonyfreeman
c6cb6ae810
BLE: Increase mtu (#837)
* Incease mtu & buffer size
* bt: process mtu size in RPC callbacks

Co-authored-by: Tony Freeman <tonyfreeman@users.noreply.github.com>
Co-authored-by: gornekich <n.gorbadey@gmail.com>
2021-12-08 16:59:40 +03:00
Skorpionm
f0aed7e583
SubGhz: add GFSK modulation, refactoring subghz_chat (#866)
* SubGhz: add GFSK modulation, refactoring subghz_chat
* SubGhz: off echo subghz_chat
* SubGhz: subghz_chat add sending and receiving formatted text, translation of the chat to events
* SubGhz: add UTF support in subghz_chat_worker_alloc

Co-authored-by: あく <alleteam@gmail.com>
2021-12-08 16:42:01 +03:00
gornekich
7170864fe4
[FL-1976] BLE HID (#852)
* ble: prototype ble hid
* ble: add HID service and characteristics
* debug tools: add ble keyboard app
* ble: change appearance
* ble: working keyboard
* bt: introduce furi-hal-bt-hid
* bt: restart hid service on each keyboard app enter
* bt: introduce switch profile
* bt: add profile to ble glue
* bt: working profile switch
* bt: introduce bt serial profile, rework API
* bt: rewotk HID profile
* bt: rework gap with profile configuration
* bt: move change profile routine to furi hal bt
* bt: change switch profile API to blocking
* bt: move battery update to furi hal bt
* bt: cleanup
* bt: add support for f6 target
* bt: update documentation
* bt: clean up code
* bt: remove NO OUTPUT setting
* bt: set numeric comparison pairing in BLE HID
* bt: support f6 target
* bt: set mac address in profile configuration
* bt: set advertise name in profile config
* bt: rework with furi thread
* bt: support f6 target
* bt: clear hci command buffer on core2 restart
* bt: correct thread kill sequence
* bt: fix freertos functions calls
* bt: add some enterprise delays fo correct memory free
* bt: code cleanup
* bt: change terminate -> stop
* bt: fix memory leakage

Co-authored-by: あく <alleteam@gmail.com>
2021-12-08 14:28:01 +03:00
Anna Prosvetova
03d7476e4f
Rpc: StorageInfo, StorageRename, SystemReboot, SystemDeviceInfo (bonus: +FuriHalInfo) (#862)
* Rpc: update protobuf sources
* Rpc: rename Status to System
* Rpc: implement StorageInfoRequest
* Rpc: implement StorageRenameRequest
* Rpc: implement SystemRebootRequest
* FuriHal: introduce FuriHalInfo, refactor device_info
* Rpc: implement DeviceInfoRequest
* Rpc: use strdup where it suites the best.
* Make: add do not page align data to linker flag.

Co-authored-by: あく <alleteam@gmail.com>
2021-12-07 16:47:20 +03:00
Albert Kharisov
604d80aed4
[FL-2083] Bring Passport back (#868)
* [FL-2083] Bring Passport back
* Move Passport to Settings
* Hide icounter editing

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2021-12-07 16:13:07 +03:00
Albert Kharisov
185647a09a
Play only basic good animations (#872)
* New Basic Animations
* Keep only basic calm animations

Co-authored-by: あく <alleteam@gmail.com>
2021-12-07 16:02:19 +03:00
SG
e09009e497
LFRFID-debug: proxy comparator to gpio (#876) 2021-12-07 15:49:44 +03:00
あく
98bc190ac4
Hackathone session: bugfixes and documentation update (#869)
* ReadMe: update flashing scripts section
* Furi: add record exists method to record store.
* FuriHal: early OS init and i2c timeouts based on os ticks.
* Storage: replace malloc with furi_alloc, fix errors found by pvs.
* iButton: properly handle shutdown in cli search command
* SubGhz: proper argument type in sscanf and incorrect position of logging in switch.
2021-12-05 14:47:02 +03:00
Lesha Lomalkin
4b8653e061
Subghz chat: add vibration on input message, send joined/left events … (#863)
* SubGhz: add vibration on input chat message, send joined/left events to room on start and exit app.
* SubGhz: optimize notification api usage

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2021-12-04 16:40:17 +03:00
Oleg Kalachev
c2c17c761e
Fix address in I2C scanner (#865) 2021-12-04 16:21:58 +03:00
Skorpionm
fbd05598ad
[FL-2086] SubGhz: Fix Errors (#861)
* CLI: fix main GUI freeze while subghz chat is running
* CLI: fix processing backspace in the web console
* [FL-2086] SubGhz: fix can't save signals in sub'e to internal memory
* Cli: remove warning message in i2c command

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2021-12-02 14:19:47 +03:00
あく
0b0629e6fe
Cli: add I2C scanning command (#860)
* Cli: add I2C scanning command

* Cli: proper scanning limits in i2c command

* Cli: better output readability on i2c scan
2021-12-02 02:21:57 +03:00
あく
41b5d5f5c9
Gui: fix random crashes under load in icon_animation (#859) 2021-12-02 01:13:21 +03:00
Skorpionm
b912cc7991
SubGhz: sending / receiving messages via subghz (#851)
* SubGhz: add worker subghz_txrx
* SubGhz: added support for transferring Russian characters and support for backspace in CLI subghz_txrx
* SubGhz: refactoring subghz_txrx_worker, added a callback for accepting data in an empty one RX buffer
* SubGhz: fix conflict
* SubGhz: fix syntax errors
* Cli: document string_move usage and its behavior
* FuriHal: update subghz api and documentation. Subghz: move chat to subghz cli subcommand.
* Subghz: update text in chat cli

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2021-12-01 18:44:39 +03:00
Albert Kharisov
d86125c7f7
Fix butthurt and battery (#850)
* Fix butthurt and battery
2021-11-29 15:51:15 +03:00
あく
cf591ef7eb
[FL-1911] FuriHal: i2c refactoring (#847)
* Project: fix release build, replace asserts with checks.
* FuriHal: i2c refactoring, new bus access model, flexible bus gpio configuration.
* FuriHal: set i2c pins to high on detach.
* FuriHal: more i2c bus events, put bus under reset when not used, move bus enable/disable routine to bus handler.
* FuriHal: fix i2c deadlock in power api, add external i2c handle.
2021-11-28 21:28:19 +03:00
Skorpionm
7c0943e736
SubGhz: fix GUI ReadRAW and add new man (#843)
* Notification: add sequence_single_vibro
* SubGhz: optimizing the performance of the GUI ReadRAW
* SubGhz: full highlighting of the default filename on save
* SubGhz: add man Leopard, Faraon, Reff, ZX-750, Back_SL-B9, fix syntax

Co-authored-by: あく <alleteam@gmail.com>
2021-11-26 17:01:03 +03:00
Nikolay Minaylov
f52e9fc578
[FL-2051] BadUSB: new GUI (#844)
* [FL-2051] BadUsb: new GUI
* add missing assets
* skip empty lines and leading spaces
* SubGhz: add alignment check to keystore mess with iv routine

Co-authored-by: あく <alleteam@gmail.com>
2021-11-26 16:53:51 +03:00
Albert Kharisov
3ab9112c21
Fix out of screen drawings (#842)
* Fix lock screen menu
* Fix pin setup in lock menu
* Desktop GUI layer on FS, black status bar
* Desktop: fix spelling
* Fix first start screen
* Fix status bar drawing

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2021-11-26 15:19:30 +03:00
あく
2db5eee03b
Gui: define status bar workarea, remove unused icon. (#841)
* Gui: define status bar workarea, remove unused icon.

* Format Sources
2021-11-24 21:19:34 +03:00
Albert Kharisov
9b8a139e2b
[FL-1995] New dolphin animations (part 1) (#835)
* Desktop Animation (part 1): Ugly naked ohmygod architecture
* fix butthurt, fix locked scene
* Change SD icons, fixes
* Fix level update animation
* Fixes, correct butthurt
* Clean up code
* furi_assert(0) -> furi_crash("msg")
* Gui: rename none layer to desktop, update docs.

Co-authored-by: あく <alleteam@gmail.com>
2021-11-24 19:21:12 +03:00