Commit Graph

625 Commits

Author SHA1 Message Date
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
gornekich
92c499b41b
[FL-2049] Reset submenu index on exit #840
Co-authored-by: あく <alleteam@gmail.com>
2021-11-24 17:05:23 +03:00
Skorpionm
a13f87fedb
[FL-2047] SubGhz: New GUI ReadRAW view (#832)
* SubGhz: GUI RAW Read view
* SubGhz:  GUI Read RAW refactoring
* SubGhz: fix bug wrong frequency of the allowed transmission
* GUI Read RAW refactoring
* SubGhz: fix set the default frequency
* SubGhz: fix save filename when returning from another menu
* SubGhz: fix Send and Back button behavior

Co-authored-by: あく <alleteam@gmail.com>
2021-11-24 16:59:45 +03:00
Oleg Schwann
68274b6c27
Add Snake game (#829)
* Add snake game
* Applications: Added a classic game https://en.wikipedia.org/wiki/Snake_(video_game_genre)
* Snake Game: Making it impossible to lose button presses
* Use more native press button event
* Snake Game: use low level InputTypePress event instead of InputTypeShort high level unpredictable event

Co-authored-by: LionZXY <nikita@kulikof.ru>
Co-authored-by: あく <alleteam@gmail.com>
2021-11-23 19:07:46 +03:00
tonyfreeman
e54e4a6d77
RPC: Add data field to ping request & response (#836)
* Update protobuf
* Send ping data back
* Add check for has_next, more readability
* Fix nullptr dereference

Co-authored-by: Tony Freeman <tonyfreeman@users.noreply.github.com>
Co-authored-by: Albert Kharisov <albkharisov@gmail.com>
Co-authored-by: あく <alleteam@gmail.com>
2021-11-23 11:30:54 +03:00
Oleg Schwann
949079cb74
All strange time constants are now frequency multipliers (#834) 2021-11-22 21:49:57 +03:00
Nikolay Minaylov
efded63bcb
USB-UART: New GUI (#826)
* USB-UART: new gui
* Furi: use furi_console for logging instead of printf.
* CDC: calling open/close callbacks on interface change
* fix vcp_tx block on disconnect
* USB mode set by struct pointer
* FuriHal: proper event sequence on vcp reconnect
* disable debug prints
* HAL: add context to UART IRQ's
* Context usage in UART IRQ and CDC callbacks
* USB-UART: geting rid of baudrate limitations
* FuriHal: remove struct pollutant in usb api.

Co-authored-by: あく <alleteam@gmail.com>
Co-authored-by: DrZlo13 <who.just.the.doctor@gmail.com>
2021-11-21 18:17:43 +03:00
gornekich
a5052a0375
[FL-2053] BLE MTU processing #830
Co-authored-by: あく <alleteam@gmail.com>
2021-11-21 17:47:54 +03:00
SG
013ed64cbb
UART echo app (#831)
* HAL: add context to UART IRQ's
* Apps: uart echo/log application
* Sync api
* Another api sync
2021-11-20 01:19:31 +03:00
gornekich
cc044c5033
Fix incorrect RPC session termination on BLE disconnect #828 2021-11-17 21:15:58 +03:00
あく
65e6ab5b8b
[FL-2017] Gui: correct empty folder handling in file_select. #824 2021-11-16 17:10:06 +03:00
SG
4cb986b534
[FL-1904] LFRFID: dedicated reading modes (#823)
* LFRFID: dedicated reading modes
* LFRFID: normal and indala mode
2021-11-16 11:47:49 +03:00
あく
b3d8f0b950
[FL-2038] Power off and auto power off on first start screen (#821)
* Power: change power_off signature to match implementation

* Desktop: auto power off on first start screen and with ok button.

Co-authored-by: SG <who.just.the.doctor@gmail.com>
2021-11-16 03:12:30 +03:00
あく
516a437305
Storage: move factory reset to the place it belongs, add gui version. (#822) 2021-11-16 03:04:33 +03:00
あく
1571d4ec54
Project: enum cast fix. Makefile: blackmagic rule in global makefile (#819) 2021-11-15 22:55:25 +03:00
あく
2e46ec36a7
Lib: update m-lib to latest release. Update m-lib usage across project. (#818) 2021-11-15 20:09:40 +03:00
あく
70d0519178
Subghz: fix crash on arg free (#815) 2021-11-12 18:45:51 +03:00
Anna Prosvetova
558fa5670b
RPC: Add Virtual Display & Unify log tags (#814)
* RPC: Update protobuf sources
* RPC: Add Virtual Display
* Unify log tags
* RPC: Virtual Display placeholder
* Rpc: clear frame buffer callback before confirm.
* Firmware: full assert for hal, move fatfs initialization to furi hal.
* FuriHal: VCP optimizations, thread safe console. Rpc: adjust buffer sizes.

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2021-11-12 16:04:35 +03:00
Nikolay Minaylov
b564e8eb38
[FL-2010] furi-hal-vcp rework (#812)
* [FL-2010] furi-hal-vcp rework
* Fix connect state change on vcp enable
* New thread naming scheme and stack size adjustment.
* Applications: rename worker threads to match new naming scheme.

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2021-11-11 19:17:50 +03:00
Skorpionm
ac8b1457f2
[FL-1931, FL-2005] SubGhz: migration in flipper file format (#807)
* SubGhz: add save key in flipper file format
* [FL-2005] SubGhz: fix stored signals cannot be deleted
* SubGhz: add load key in flipper file format
* SubGhz: fix syntax
* SubGhz: fix bad file upload
* Storage: add function to get the next free filename
* SubGhz: add save RAW  in flipper file format
* SubGhz: add load RAW in flipper file format
* SubGhz: refactoring protocol
* SubGhz: refactoring scene
* SubGhz: fix SubGhzNotificationState define
* Makefile: proper comapre for FORCE

Co-authored-by: あく <alleteam@gmail.com>
2021-11-11 15:49:19 +03:00
あく
5209701add
[FL-1991] Rewrite flash driver (#813)
* Toolbox: fix null pointer dereference in manchester decoder.
* FuriHal: use MPU to protect from null pointer dereference, replace flash driver with our own implementation.
2021-11-10 12:53:00 +03:00
gornekich
90d450368c
[FL-1919] NFC rework with Flipper File Format (#756)
* nfc: allocate nfc device on heap
* nfc: rework save with flipper file format
* nfc: rework nfc device load with flipper file
* nfc: save AID length and data
* nfc: remove file worker usage
* nfc: format sources
* nfc: rework with flipper file format addons
* assets: update EMV resources with flipper file format
* nfc: rework EMV resources parsing with new file format
* assets: fix EMV AID file format
* nfc: fix nfc_device usage

Co-authored-by: あく <alleteam@gmail.com>
2021-11-09 00:55:06 +03:00
gornekich
54dc16134d
[FL-1922] BLE buffer overflow (#789)
* rpc: increase RPC buffer size. Add get available buffer size API
* bt: add flow control characteristic to serial service
* ble: change updating flow control characteristic logic
* rpc: add buffer is empty callback
* bt: add notification about empty RPC buffer
* ble: add more debug info
* serial_service: add mutex guarding available buffer size
* ble: remove debug logs in serial service
2021-11-08 22:41:40 +03:00
coreglitch
4e9e9f32d7
Use NFC device format when NFC app runs with args #810 2021-11-05 15:38:59 +03:00
Nikolay Minaylov
f8d3cc251c
[FL-1984, FL-2004, FL-2010] USB CDC Fixes (#801)
* [FL-1984, FL-2004] USB-UART Fixes, test with high timer task priority
* added forgotten file
* switch from EventFlags to ThreadFlags
* [FL-1984, FL-2010] USB-UART and furi-hal-vcp rework
* Scripts: modernize string formatting.

Co-authored-by: あく <alleteam@gmail.com>
2021-11-04 22:33:28 +03:00
gornekich
3225f40870
[FL-1952] BLE bonding fix (#805)
* furi-hal-bt: add mutex guarding core2 state
* ble-glue: configure ble keys storage in SRAM2
* bt: add load and save ble keys in internal storage
* bt: improve work furi_hal_bt API
* bt: rework app_entry -> ble_glue
* bt: apply changes for f6 target
* desktop: remove furi check
* ble-glue: comment NVM in SRAM2 configuration
* FuriHal: fix flash controller state corruption, fix incorrect semaphore release, implement C1-C2 flash controller access according to spec. Gui: change logging level.
* Libs: better lfs integration with lfs_config.
* Ble: switch C2 NVM to RAM.
* FuriHalCrypto: ensure that core2 is alive before sending shci commands
* Ble: fix incorrect nvm buffer size

Co-authored-by: あく <alleteam@gmail.com>
2021-11-04 20:26:41 +03:00
SG
bb9c464a13
Storage: internal error getter (#806)
* Storage: internal error getter

Co-authored-by: あく <alleteam@gmail.com>
2021-11-04 13:46:45 +03:00
SG
7f94ef3179
[FL-1926] Flipper File Format addons (#753)
* Flipper file format: remove C wrapper
* Flipper file format: open append, float, uint32_t as array, delete key, value count
* Flipper file format: fix scratchpad location
* Flipper file format: add EOL on append
* SubGHZ keystore: update encryption type read and write
* Flipper File Format: enhanced version
* Flipper File Format: fix naming
* Flipper File Format: fix "open" subset naming
* Flipper File Format: tests
* Flipper File Format: file helper naming
* SubGHZ keystore: merge with current state of flipper file format
* Flipper File Format:  update make recipe
* Flipper File Format: open new file method
2021-11-04 13:06:13 +03:00
Albert Kharisov
0c1bcf144b
[FL-1994] Add Saved Struct (#804)
Co-authored-by: あく <alleteam@gmail.com>
2021-11-03 20:22:49 +03:00
Skorpionm
6d548637f2
SubGhz: reading keys from encrypted files (#803)
* SubGhz: add file with manufactory codes, and the ability to add your own manufactory codes for KeeLog
* SubGhz: add encrypt RAW data, add decrypt and get RAW data
* SubGhz: add encrypt  magic_xor_atomo
* SubGhz: parsing atomo using file encrypt
* SubGhz: fix calculating the size of the read buffer
* SubGhz: parsing Nice FLOR S using file encrypt
* SubGhz: add file encrypt nice_flor_s_tx, fix name load file
* SubGhz: fix checking read buffer size
* Update subghz_keystore.c
* SubGhz: fix calculating the size of the read buffer

Co-authored-by: あく <alleteam@gmail.com>
2021-11-03 19:41:07 +03:00
あく
300302cb7c
Fix gpio debug (#802) 2021-11-02 02:49:48 +03:00
Anna Prosvetova
e9e76e144c
RPC: Implement storage_stat_request (#800)
* RPC: Update protobuf sources
* RPC: Implement storage_stat_request
* RPC: Test storage_stat_request
* FuriRecord: fix use after free in destroy method.
* Furi: refactor PubSub and it's usage. Fix allocation in RPC.
* FuriCore: fix memory leak in pubsub
* FuriCore: update unsubscribe method signature in pubsub, make subscription structure lighter.
* FuriCore: remove dead code

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2021-11-01 23:35:54 +03:00
Albert Kharisov
63fe452746
[FL-1854] NEC42ext displaying (#796)
* Add correct key-reading asset
* IRDA: correct NEC42ext displaying
* IRDA App: correct vibro

There are no double vibro, but 1 vibro for any successful
new signal read, and 1 for sending just read signal.

Co-authored-by: あく <alleteam@gmail.com>
2021-11-01 19:34:50 +03:00
Anna Prosvetova
86bced5b2c
RPC: Screen streaming & Input injection (#794)
* RPC: Screen stream
* Move callback to rpc_screen, implement graceful stop
* RPC: Implement input injection
* Update protobuf submodule
* Gui: thread safe frame buffer callback setter.
* RPC: Keep gui record open

Co-authored-by: あく <alleteam@gmail.com>
2021-11-01 19:26:37 +03:00
あく
22a4bac448
[FL-1934] Core: wipe memory after free. SubGhz: key encryption tool. (#797)
* Core: wipe memory after free. RFID,iButton: fix iterator use after invalidation.

* Debug: support unix wildcards for register matching in svd, update MCU description file and minify it.

* Toolbox: getter for File in FlipperFile.

* Makefile: conditional flashing

* SubGhz: keeloq_mfcodes encryption tool.

* FuriHal: proper IV handling on CBC in crypto. SubGhz: add support for encrypted keeloq keys. Makefile: move formatting to top Makefile.

* SubGhz: rename some function names to match naming scheme.

* SubGhz: encryption tool, fix windows line endings

Co-authored-by: DrZlo13 <who.just.the.doctor@gmail.com>
2021-11-01 16:11:25 +03:00
gornekich
146cd51894
[FL-1497] GUI textbox element and widget (#792)
* canvas: add font parameters
* elements: add text box element
* widget: add text box element
* nfc: rework delete and info scene with text box widget
* gui: update documentation
* gui: fix canvas_get_font_params return

Co-authored-by: あく <alleteam@gmail.com>
2021-10-27 21:55:03 +03:00
Skorpionm
26c53f3dfd
SubGhz: Refactoring Read RAW (#791)
* SubGhz: rename save_raw -> read_raw
* SubGhz: add manually saving files to read_raw, confirming that saving is unnecessary, refactoring
* Format sources
* SubGhz: fix runglish

Co-authored-by: あく <alleteam@gmail.com>
2021-10-27 20:37:11 +03:00
Albert Kharisov
10c65daad7
RPC CLI: Change ParallelSafe cli command (#793)
Starting RPC session is parallel safe.
Launching application command do lock check inside.
2021-10-27 18:20:08 +03:00
Nikolay Minaylov
732b9546fc
[FL-1984] USB-UART improvements and fixes (#785)
* [FL-1984] USB-UART fixes
* FuriHal: fix SOF wait on CDC0
* FuriHal: fixed stuck in UART IRQ with ORE event

Co-authored-by: あく <alleteam@gmail.com>
2021-10-26 21:41:56 +03:00
its your bedtime
fae8d8f23c
[FL-1968] Pin code locking (#788)
* Gui: code input module
* Gui: fix size to fit frame
* Desktop: PIN config and lock option
* Gui: code input: cleanup, offset input fields if no header present
* Desktop: move code unlock to desktop_locked scene
* Desktop: fix unlock with back key
* Desktop: bump settings version
* Desktop: correct scene usage.

Co-authored-by: あく <alleteam@gmail.com>
2021-10-26 21:34:31 +03:00
Albert Kharisov
400d672e81
[FL-1955] CLI RPC (#781)
- RPC: added CLI command to start session - all input bytes goes into RPC, all RPC output goes into VCP
- RPC: added command to close session (actually it only notifies transport layer)
- RPC: added recursive rmdir
- RPC: hard-coded listing for root directory (any, ext, int)
- Fixed CLI leak
- Fixed furi_record_delete leak
- Unit tests: repaired
- Unit tests: corrected output - remove excess, change dots with progress spinner
- Unit tests: added leak check
- Unit tests: SD mount check before start

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2021-10-26 19:05:28 +03:00
あく
ae016ce464
[FL-1990] Correct release type in copro manifest and rename boot to bootloader (#787)
* World: rename boot to bootloader.
* Scripts: correct release type in copro bundler.
2021-10-26 15:24:14 +03:00
Skorpionm
9d952ed855
[FL-1913, FL-1963] SubGhz: save raw signal, add came atomo decoder (#783)
* File_Worker: getting the name of a new file with an index
* SubGhz: add decoder RAW protocol
* SubGhz: add view Save RAW
* SubGhz: refactoring subghz custom event
* SubGhz: fix syntax
* SubGhz: fix error build
* SubGhz: test build
* SubGhz: refactoring subghz, add rename, delete, start and emulate RAW signal
* SubGhz: fix triangle glitch in save raw view
* SubGhz: fix receiver config scene
* SubGhz: fix transfer after returning from save scene
* Canvas: add font rotation
* SubGhz: raw protocol encoder
* SubGhz: fix error completion of transfer raw encoder
* SubGhz: increased the speed of reading RAW data from a flash drive, displaying the name of the saved file in the Save RAW scene
* Canvas: fix font rotation
* SubGhz: fix navigation save RAW  scene
* SubGhz: add decode came atomo
* Git: renormalize
* Cleanup sources and enums
* Gui: add font direction to canvas reset, canvas init sequence cleanup.
* SubGhz: reorder menu.
* Gui: correct canvas_set_font_direction signature

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2021-10-25 17:37:14 +03:00
Nikolay Minaylov
88cee4601a
[FL-1885] USB-UART bridge (#778)
* [FL-1885] USB-UART: app and worker
* [FL-1885] USB-UART: UART on CDC0

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2021-10-21 21:12:20 +03:00
gornekich
c2535f4269
[FL-1937] Bluetooth new assets (#774)
* assets: add new ble assets
* bt: update pairing screen with new icon
* bt: add bt status and update status bar
* bt: update statusbar width from thread
* Icons: new BT icon

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2021-10-21 19:27:58 +03:00