Commit graph

838 commits

Author SHA1 Message Date
its your bedtime
5cb5d15376
Archive: fix delete from favorites tab (#752)
* archive_delete_file vargs, fix wrong path when deleting item from favorites tab
* use string_t for archive vargs funcs
* favorites manual sorting

Co-authored-by: あく <alleteam@gmail.com>
2021-10-12 16:09:34 +03:00
SG
b85a50f912
[FL-1792] RPC service (#698)
* Lib: added nanopb
* Hal rfid: fixed confused arguments
* Lib: update makefile, include nanopb
* Lib: remove nanopb
* Lib: add nanopb as submodule
* Assets: remove protobuf
* Assets: add protobuf message definitions as submodule
* WIP: [FL-1792] Add Protobuf RPC
* WIP: RPC add ping
* Add Ping
* Fix Ping, Add (WIP) storage
* Update submodule
* ble-glue: add ptotobuf to ble
* WIP: Add storage list test
* revert applications.mk
* Add Storage List command
* ble-glue: fix fast updating rx charachteristic
* ble serial: split long ble packets
* Add Storage Read/Write/Mkdir/Delete
* Disable tests
* Rename Element -> File
* Add md5sum, fix test leak
* Regenerate Protobuf
* Fix review comments
* ble-glue: sync f7 target

Co-authored-by: Albert Kharisov <albert@flipperdevices.com>
Co-authored-by: gornekich <n.gorbadey@gmail.com>
Co-authored-by: あく <alleteam@gmail.com>
2021-10-12 14:48:34 +03:00
Skorpionm
841e18dfec
[FL-1940] SubGuz: fix te pricenton protocol #755 2021-10-11 22:48:54 +03:00
Skorpionm
4418e73b26
[FL-1912, FL-1939] Sub-GHz frequency analyzer and add new protocol (#746)
* ToolBox: add manchester-decoder and manchester-encoder
* SubGhz: add new FM config cc1101
* Subghz: add protocol Kia
* SubGhz: fix receiving the last packet Nero Radio
* SubGhz: app protocol CAME Twin (TW2EE/TW4EE)
* SubGhz: add protocol CAME Atomo (AT03EV/ AT04EV)
* F7: sync with F6
* SubGhz: add frequency analyzer
* SubGhz: remove space from file name 
* SubGhz: frequency analyzer add filter and fix view
* [FL-1939] GubGhz: Frequency analyzer redesign
* SubGhz: fix incorrect subghz api call sequence in frequency analyzer worker

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2021-10-10 17:35:10 +03:00
its your bedtime
5dbfe3d90a
Dolphin_srv timestamp and butthurt; Desktop_srv refactoring (#750)
* dolphin_srv: save timestamp on deed; desktop_srv minor refactoring
* dolphin_srv timegated butthurt increse, desktop refactoring
* desktop app: update debug screen
* remove debug logging
* increasing icounter affects butthurt value
* Dolphin: correct error message on DolphinStore load

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2021-10-07 16:32:37 +03:00
its your bedtime
1dd96419ab
[FL-1917] Archive: fix duplicates in favorites (#749)
* Archive: fix last_offset usage when switching to another tab
* fix the fix
2021-10-07 12:41:30 +03:00
gornekich
5232d5daba
[FL-1905] Fix power off notification (#748)
* view dispatcher: add set view front API
* power: add power off notification
* Gui: rename ViewPort `send_to` API.
* Makefile: add blackmagick support

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2021-10-06 18:41:22 +03:00
SG
c8b36dd406
[FL-1791] Flipper file format (#740)
* Lib: new flipper file format library
* Lib: flipper file format cpp wrapper
* Storage: simple function for remove file and check error
* iButton app: remove file worker, use new flipper file format instead
* Dialogs: storage error message
* Storage: simple function for mkdir and check error
* iButton app: error messages
* Libs: update makefile
* RFID app: remove file worker, use new flipper file format instead
* Flipper File: library documentation

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2021-10-06 12:40:28 +03:00
Nikolay Minaylov
e0c1928fde
[FL-1857] New USB stack (#735)
* libusb_stm32 USB stack test
* USB: Add dual CDC mode
* USB HID demo, added libusb_stm32 as submodule
* Target F6/F7: remomve unused ll_usb

Co-authored-by: n.minaylov <n.minaylov@flipperdevices.com>
Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2021-10-06 12:24:09 +03:00
gornekich
42e553bad5
[FL-1723, FL-1662, FL-1870] NFC bug fixes (#745)
* nfc: fix notifications in read EMV sequence
* nfc: set focus on previously saved card
* nfc: add incorrect file format message
* mifare ultralight: increase size of max dump
* elements: draw multiline text only until it fits screen
* nfc: support variable PAN number length
* nfc: change AID display
* nfc: change worker custom event to prevent scene reenter
* nfc: double check for PAN tag
* nfc: fix edit card name appearance
* Nfc: read EMV card without name if PDOL is present.
* Desktop: increase unlock key press interval, switch to OS ticks instead of HAL.
* Desktop: remove debug logging

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2021-10-05 08:14:19 +03:00
its your bedtime
73a13f584f
Desktop: locked view timeout refactoring, Switch hwmismatch custom view to popup (#744)
Co-authored-by: SG <who.just.the.doctor@gmail.com>
2021-10-04 12:33:31 +03:00
あく
832fb1b795
[FL-1228] FuriHal: add charge suppress API. (#743)
* FuriHal: add charge suppress API.

* FuriHal: add guards to insomnia and charge suppress routines.

* FuriHal: proper API for scheduler in power.

* FuriHal: move charging control from critical section, fix deadlock.

* Gui: use FreeRTOS native timers controls for IconAnimation, fix crash on animation start stop
2021-10-04 10:01:41 +03:00
tonyfreeman
a7edebce69
RFID: Fix integer overflow, fix printf usage (#742)
* Fix comparison of constant 300 with expression of type 'uint8_t' is always false

rfid-worker.cpp:111 if(validate_counts > (5 * 60))

* Fix format string is not a string literal (potentially insecure)

Co-authored-by: Tony Freeman <tonyfreeman@users.noreply.github.com>
2021-10-04 02:30:47 +03:00
あく
89a6c09a7a
[FL-1906] Documentation: add Doxyfile, prepare sources for doxygen. (#741)
* Documentation: add Doxyfile, prepare sources for doxygen.

* Update ReadMe and remove obsolete CLA

* Add contribution guide

* Contributing: update text

* Correct spelling
2021-10-03 13:36:05 +03:00
あく
1208a5077f
Code of Conduct (#739) 2021-10-02 20:32:18 +03:00
あく
05b610f265
Furi: refactor records (#736)
Co-authored-by: DrZlo13 <who.just.the.doctor@gmail.com>
2021-10-02 20:05:43 +03:00
あく
61aaed8abb
[FL-1908] New animation update scheme (#737)
* Assets: update desktop animation frame rate and cleanup.

* Power: update ViewPort only if changed.

* Gui: tie IconAnimation with View, new update event generation scheme. Desktop: update IconAnimation usage.

Co-authored-by: DrZlo13 <who.just.the.doctor@gmail.com>
2021-10-02 20:00:56 +03:00
Anna Prosvetova
6f346597d2
Archive: reorder tabs (#738) 2021-10-02 19:54:10 +03:00
Anna Prosvetova
32467cedd7
Menu: reorder applications (#734) 2021-10-01 14:57:32 +03:00
gornekich
638f276308
[FL-1884] GPIO application (#732)
* gpio: rename gpio application
* bq25896: add reading OTG config
* furi-hal-power: add is_otg_enabled API
* gpio: introduce new GPIO app, add OTG enable / disable
* variable-item-list: add enter callback
* gpio: add output test view and scene
* gpio app: fix GpioItemTester -> GpioItemTest

Co-authored-by: あく <alleteam@gmail.com>
2021-09-30 23:03:28 +03:00
its your bedtime
7a89791b2b
Dolphin_srv: fix state load on startup (#731)
* Dolphin_srv: fix dolphin state load on startup
* Dolphin: new sync and async API, state autosave. Makefile: properly escaped asterisks.

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2021-09-30 22:50:58 +03:00
gornekich
2eafae6b90
[FL-1498] Keyboard save focus (#730)
* text_input: set focus on Save button if text is set
* text_input: add clear API, format documentation
* all: rework text input clean with new API
2021-09-29 17:08:24 +03:00
あく
8b6c466058
Loader: forget menu position on main menu reentry, proper NULL arg passing. Gui: set current item for menu gui module. (#729) 2021-09-29 07:18:28 +03:00
its your bedtime
0126b3aba4
[FL-1850] Archive: limit name length in text input view #728 2021-09-28 19:18:06 +03:00
あく
ec18c1a92a
[FL-1781] Desktop: change first start logic, show only if factory provisioned. (#727)
* Desktop: change first start logic, show only if factory provisioned.
* Desktop: code cleanup, correct first start scene position in scene stack.
* Desktop: Remove unused include
2021-09-28 17:42:52 +03:00
gornekich
61c8f3325a
[FL-1217] Menu refactoring (#726)
* menu: remove dead code
* loader: change views from modules instead of menu service
* dolphin: start main menu with loader API
* applications: don't start menu service
* loader: add debug tools menu
* gui modules: introduce menu model
* loader: remove calls to menu service API
* gui modules: implement menu module
* loader: add menu view
* gui menu: add animation
* applications: remove menu service
* gui modules: rename icon_menu -> menu
* loader: clean up code
* menu module: add documentation, format code
* menu: remove unused parameter
* desktop: use loader to launch primary menu
* Applications: cleaner makefile app declaration. Loader: application autostart
* Gui: cleanup menu and submenu API.

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2021-09-28 16:10:13 +03:00
its your bedtime
1c4e6ec74d
[FL-1824] Dolphin refactoring (#701)
* refactoring p1
* refactoring p2
* cleanups
* locked screen refresh rate fix
* better locked view logic
* seperate dolphin service and desktop app
* Desktop: Favorite app acess (Left key), Settings app
* Desktop settings version, submenu header
* remove unused icon anomation + naming fix

Co-authored-by: あく <alleteam@gmail.com>
2021-09-28 12:40:39 +03:00
Skorpionm
a8981d317a
[FL-1815, FL-1851, FL-1856] SubGhz: preparation for certification, add deleting stored signals and rename file in SubGHz app (#714)
* [FL-1811] FuriHal: move core2 startup to hal init stage, prevent working with flash controller till core2 startup finish. #704
* SubGhz: fix GO0 low on last hop transmission,  decreased DutyCycle in tests
* SubGhz: test_static fix max 5 sec in transmission mode, DutyCycle <23%
* [FL-1815] SubGhz: prohibiting transmission if it is not within the permitted range for the given region
* SubGhz: fix F7 furi-hal-subghz
* SubGhz: fix logic working tests
* SubGhz: fix princeton encoder for test
* SubGhz: add log princeton encoder
* [FL-1856] Subghz: fix output a double error if the file cannot be opened
* [FL-1851] SubGhz: add deleting Stored Signals in SubGHz App
* SubGhz: add rename file SubGhz app
* SubGhz: update stats message in princeton
* SubGhz: correct spelling
* SubGhz: fix FM config,  add hardware signal processing less than 16 μs,  add added filter for processing short signals
* SubGhz: add Scher-Khan MAGICAR Dinamic protocol
* SubGhz: sync fury targets

Co-authored-by: あく <alleteam@gmail.com>
2021-09-28 03:05:40 +03:00
SG
416e1bda35
[FL-1881] iButton cli: enable "OTG" when performing "onewire search" #725 2021-09-27 17:00:03 +03:00
SG
34f9493451
[FL-1747] iButton: fix forgotten timer IRQ #724 2021-09-25 02:13:07 +03:00
SG
acb8508249
[FL-1880] Dialogs: fix semaphore lock (#722)
* Dialogs: fix queued message lock
* Dialogs: file select, fix queued message lock
* Dialogs: file select, free context after freeing callback holder
* Dialogs: better lock, separated wait and free

Co-authored-by: あく <alleteam@gmail.com>
2021-09-24 19:36:53 +03:00
gornekich
d3b58f732f
[FL-1783] Power service refactoring (#718)
* settings power: introduce power settings app
* power: move power API to separate file
* settings power: implement reboot scene
* settings power: add power off scene
* assets: add crying dolphin, fix Subghz assets names
* settings power: fix power off scene GUI
* settings power: add battery info scene
* power: add cli to application on start hook
* power: remove power from main menu
* power: move to power service folder
* power service: rework power off logic
* power: add pubsub events
* bt: subscribe to battery level change, update characteristic
* application: change order of Settings applications
* gui: add bubble element
* power: gui improvements
* application: rename Notification -> LCD and notifications
* Applications: menu order according to documentation and add missing power cli init
* settings power: add disconnect USB scene
* power cli: notify user to disconnect USB after poweroff
* Power: update poweroff message in cli

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2021-09-24 19:28:02 +03:00
SG
c64052b491
[FL-1042][FL-1485][FL-1747] Metakom emulation fix (#721)
* iButton: Metakom emulation fix
* iButton: do not threat NVIC
* iButton: use proper GPIO from resources

Co-authored-by: あく <alleteam@gmail.com>
2021-09-24 15:16:59 +03:00
its your bedtime
effda5ab44
[FL-1852] Archive: browser offset fix (#716)
* Archive app: check last offset value upon updating offset
* fix browser empty storage hang up

Co-authored-by: あく <alleteam@gmail.com>
2021-09-24 15:03:04 +03:00
SG
1448b9cf66
[FL-1819][FL-1848] About: hw, fw, boot version screens. Misc corrections of the About screens. (#719)
* About: hw, fw, boot version screens
* About: fix comment
* FuriHal: proper ARR in OS tick timer
* GpioTester: all pins on/off option
* Irda: fix release build
* Format sources

Co-authored-by: あく <alleteam@gmail.com>
2021-09-24 14:56:27 +03:00
SG
0ff677b174
[FL-1862] Scripts, ob.py: improved return of error codes #720 2021-09-22 23:57:34 +03:00
Lesha Lomalkin
b3becb9d63
FL-1862 add return codes to ob.py (#717) 2021-09-22 23:00:05 +03:00
its your bedtime
4c05f67686
[FL-1823, FL-1824] Archive app: refactoring and UI improvements (#711)
* Archive app: skip empty app folders, file menu in favorites tab, looped tab switching
* refactoring
* cleanup
* better filepath trim
* fix excessive view updates, various small optimizations
* better list_offset calculation, favorites vargs)
* revert poor fix

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2021-09-21 13:56:33 +03:00
gornekich
0e1922db4d
BT: stop advertising in bt test cli commands (#712)
* bt: stop advertising in bt test cli commands
* furi-hal-bt: add switch context in furi_hal_bt_lock_flash
* Lib: update STM32CubeWB to latest version. Scripts: update supported copro binaries version
* Scripts: proper version extraction from Cube manifest
* bt: add debug application and comment it
* bt: fix stop advertising command
* bt: debug on f7 target
* furi-hal-console: add console tx + new line
* bt: fix debug trace function

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2021-09-21 12:48:08 +03:00
tonyfreeman
69f54973cc
Nfc: fix incorrect type castings. Global: fix printf usage, types casting, overall cleanup. Drivers: incorrect array index in cc1101 driver. (#713)
* fix 'function cannot return qualified void/bool type'
* Fix variable 'consumed' is used uninitialized
* Fix format string is not a string literal (potentially insecure)
* Fix conflicting types for 'menu_item_get_type'
* Fix implicit conversion from enumeration type 'NfcDeviceType' to different enumeration type 'rfalNfcDevType'
* Fix hal_gpio_init incorrect arguments order
* Fix nfc->dev.dev_name condition will always evaluate to 'true'
* Fix explicitly assigning value of variable to itself
* Fix furi_hal_bt_wait_startup counter overflow
* Fix implicit conversion from 'StorageStatus' to 'SDError'
* Remove #include <sys/param.h>
* Add FIXME
* Fix syntax
* Fixup for 'furi_hal_bt_wait_startup counter overflow'
* nfc: fix different nfc device types
* Drivers: fix incorrect offset in cc1101_read_fifo
* Remove obsolete comment

Co-authored-by: Tony Freeman <tonyfreeman@users.noreply.github.com>
Co-authored-by: gornekich <n.gorbadey@gmail.com>
Co-authored-by: あく <alleteam@gmail.com>
2021-09-21 12:34:16 +03:00
SG
9b0aa0d6dc
Settings: about screen (#715) 2021-09-20 21:39:52 +03:00
あく
322bdf049d
[FL-1826] Crypto: correct key provisioning procedure. (#709)
* Crypto: correct key provisioning procedure.
* Format Sources
* Cli: target for bootloder in device_info
2021-09-17 12:21:08 +03:00
gornekich
f05153ed5c
[FL-1816] Fix ble radio stack is alive check (#707)
* bt: fix bt_is_alive return, add bt_is_active
* bt: fix bt_is_alive return
* Cli: show heap usage in ps.
* FuriHal: strict sequence for flash operations
* Scripts: add stress test
* Core: proper heap calculation.

Co-authored-by: あく <alleteam@gmail.com>
2021-09-16 19:12:07 +03:00
あく
b4ffc1f81b
[FL-1817] Add firmware target in device_info (#708) 2021-09-16 16:42:21 +03:00
Albert Kharisov
4f233ff0a3
[FL-1800] IRDA: enc/decoder refactoring, Add NEC42 (#705)
* WIP: IRDA: multilen protocol refactoring, NEC42
* IRDA: Refactoring encoder/decoder

Co-authored-by: あく <alleteam@gmail.com>
2021-09-15 20:22:58 +03:00
gornekich
4768177cf5
[FL-1796] Disable bluetooth (#703)
* bt: add authentication for all characteristics
* bt: app_ble cleanup
* bt: add start and stop advertising API
* bt: rework application with start and stop advertising API
* bt: support f7 target
* bt: f7 target remove unused files
* bt: stop advertising in bt debug application
* bt: fix bt status bar update
* bt: change bluetooth On Off order
2021-09-15 19:58:32 +03:00
Skorpionm
8fd411097e
[FL-1758, FL-1790] SubGhz refactoring part 2, fix generation of a new GateTX serial (#696)
* WidGet: fix name  Multiline String Element
* SubGhz: rename  SubGhzProtocol to SubGhzParser and bring it up
* SubGhz: a new way to navigate in receiver views
* SubGhz: fix syntax
* WedGet: add forwarding input type to wedget button callback, fix using a callback in an application
* SubGhz: add assertions and status checks
* SubGhz: fix syntax
* [FL-1790] SubGhz: fix GateTX
* SubGhz:  add 434.42 MHz frequency support
* SubGhz: rename type protocol, add decoder stage names
* SubGhz: fix navigation through received signals when changing scenes
* SubGhz: fix 2-fsk config

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2021-09-15 18:24:19 +03:00
あく
72ca76097a
[FL-1811] FuriHal: move core2 startup to hal init stage, prevent working with flash controller till core2 startup finish. #704 2021-09-15 17:40:09 +03:00
あく
66f9d946ae
[FL-1490] FuriHal: crypto api. Crypto cli tool. (#702)
* FuriHal: crypto layer
* Furi: add crash routine.
* FuriHal: crypto api. Crypto: cli command to manipulate secure enclave and encrypt/decrypt plain text.
* DeviceInfo: secure enclave verification.
* Rename original to enclave_valid
* Update expected enclave signature to match production keys
* F7: remove unused files
2021-09-15 12:59:49 +03:00
gornekich
95d9140d24
[FL-1795] BLE GAP refactoring (#694)
* ble: remove heart rate profile
* ble-glue: delete dead code
* ble-glue: dis refactoring
* ble-glue: add battery service
* broken ble_common refactoring
* ble-glue: advertise 128 bit service uid
* ble-glue: remove dead code
* ble: advertise service 16 bit uid depending on flipper color
* ble-glue: remove debug
* ble: intriduce serial service
* ble: serial over ble
* bt: serial echo server
* bt: serial service process indicate acknowledge
* bt: serial service event handler update
* bt: refactore battery service
* bt: add battery level apdate API
* power: update battery level on change
* bt: refactore device information service
* app_ble: pairing configuration
* bt: display pin code
* bt: refactor battery service
* bt: refactor device info service
* bt: change advertise timer to freertos one
* bt: separate app_ble to hci and gap
* bt: increase max ble packet size
* gap: refactoring
* bt: refactor serial service
* bt: support f7 target
* bt: not blocking pin code show request

Co-authored-by: Anna Prosvetova <anna@prosvetova.me>
Co-authored-by: あく <alleteam@gmail.com>
2021-09-13 14:25:37 +03:00