Commit Graph

148 Commits

Author SHA1 Message Date
Sergey Gavrilov
4705812d24
SD-Card: proper HAL (#3058)
* Storage: remove unused error from SDInfo
* FatFS: remove sd_spi_io
* HAL: sd card api
* Update: use sd hal
* FatFS: use sd hal
* Storage: use sd hal
* API: sd hal
* Fix TODO workflow
* SD Hal: Fix source buffer overflow
* fix for fix!
* HAL: cleanup sd detection api
* HAL: FURI_HAL_SD_SPI_DEBUG flag
* HAL: FuriHalSdStatus -> FuriStatus
* API: downgrade
* Change define logic
* HAL: presence
2023-09-11 18:30:56 +09:00
あく
1c0276a0be
Various Fixes and Improvements (#3059)
* FuriHal: lower MGG display contrast by 4 points
* FuriHal: unify external gpio resources initialization
* Infrared: parse raw in universal TV file, cleanup it with new ifrared script. Other minor changes.
* Gui: fix elements_multiline_text_aligned eating symbols
* Lib: human readable errors in flipper application package
* Special request from marketing team
2023-09-11 16:23:00 +10:00
Astra
8cbb757533
[FL-3583]Account for the "-" in line carry-over (#3038)
Co-authored-by: あく <alleteam@gmail.com>
2023-09-05 22:13:50 +09:00
Sergey Gavrilov
0b806c2360
Storage: force mount (#3033)
* Storage: count opened files
* Storage: sd mount
* Storage: prompt to mount SD card if not mounted
* F18: update API
* F18: update API version
* Fix logger naming scheme
* Storage: storage_files_count -> storage_open_files_count

Co-authored-by: あく <alleteam@gmail.com>
2023-09-04 14:10:07 +09:00
Max
52b5966262
Add File Naming setting for more detailed naming (#3002)
* added filename mode setting
* added furi_flag checks for when filename_mode is set
* changed naming for ibutton, lfrfid and subghz
* requested changes from PR
* Lib: gather all naming bits and pieces under name generator module. Properly bump api version. FuriHal: fix RTC flag enum.
* PR requested changes
* bug fix for arg type
* added functionality for other application scenes
* Lib: cleanup name generator API, simplify usage. Sync API symbols.
* Lib: proper size type in name_generator. Cleanup.
* FuriHal: cleanup rtc api usage across firmware

Co-authored-by: あく <alleteam@gmail.com>
2023-09-01 14:57:49 +09:00
Astra
e5fdb2e069
[FL-3314] Disconnect from BLE on protobuf error (#2955)
* Disconnect from BLE on protobuf error
* Set profile instead of disconnecting and add logging

Co-authored-by: あく <alleteam@gmail.com>
2023-09-01 13:54:12 +09:00
あく
f218c41d83
Undo some TODO (#3024)
* TODO FL-3497: impossible to fix with current memory allocator

* TODO FL-3497: removed, requires radically different settings approach

* TODO FL-3514: removed, yes we should

* TODO FL-3498: implemented, guarding view port access with mutex.

* TODO FL-3515: removed, questionable but ok

* TODO FL-3510: removed, comment added

* TODO FL-3500: refactored, store pin numbers in GpioPinRecord, fix gpio app crash caused by incorrect gpio_pins traversal.

* Format Sources

* TODO FL-3505: removed, mutex alone is not going to fix issue with WPAN architecture

* TODO FL-3506: removed, change ownership by copy is good

* TODO FL-3519: documentation and link to source added

* Lib: remove unneded total sum from comment in bq27220

---------

Co-authored-by: hedger <hedger@users.noreply.github.com>
2023-09-01 05:54:52 +04:00
Sergey Gavrilov
809418b9da
[FL-3563] StorageListRequest: size filter (#3018)
* Protobuf: size filter
* Update protobuf
* Scripts: types for fwflash.py
* RPC: handle fliter for StorageListRequest
* RPC: StorageListRequest tests for filtering
* Fix unit tests configuration
* Assets: sync protobuf with upstream

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2023-09-01 10:23:37 +09:00
Astra
60182aa2cd
[FL-3564] New IR universal remote graphics (#3006)
* New IR universal remote layout
* Remove redundant checks

Co-authored-by: あく <alleteam@gmail.com>
2023-08-24 03:24:47 +09:00
Nikolay Minaylov
15f92f765d
[FL-3479] Desktop: more favorites, configurable dummy mode (#2972)
* Desktop: more favorite app shortcuts
* Making PVS happy
* Desktop settings submenu fix

Co-authored-by: あく <alleteam@gmail.com>
2023-08-23 21:26:47 +09:00
Dzhos Oleksii
dc7517e5fd
Fix display last symbol in multiline text (#2967)
* Revert submodules
* Compare without round
* Gui: slightly more integer logic in elements_get_max_chars_to_fit

Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: あく <alleteam@gmail.com>
2023-08-23 04:15:38 +09:00
Astra
e353433cd8
[FL-3488] Assign tickets to all TODO items (#2988)
Co-authored-by: あく <alleteam@gmail.com>
2023-08-23 02:56:27 +09:00
hedger
200c44bdca
loader: restored support for debug apps (#2993)
* fbt: restored loader support for debug apps (no GUI tho)
* desktop: fixed code for handling autorun apps
* loader: fixed autorun app messing up last update stage
* Loader: handle status without message

Co-authored-by: あく <alleteam@gmail.com>
2023-08-23 02:38:45 +09:00
あく
b90e2ca342
SubGhz: add timeout to subghz_hal_async_tx_test_run (#2975)
* SubGhz: add timeout to subghz_hal_async_tx_test_run

* Removed full API from unit_test build config

---------

Co-authored-by: hedger <hedger@nanode.su>
Co-authored-by: hedger <hedger@users.noreply.github.com>
2023-08-16 13:16:42 +04:00
MMX
f75fcd4e34
UI: Clock on Desktop (#2891)
* Clock on desktop
* Gui: gui_active_view_port_count
* Gui: move gui_active_view_port_count to private header, update docs
* Desktop: simplify desktop clock code
* Desktop: refactor clock
* Desktop: optimize clock code
* Desktop: 3rd cleanup round
* Desktop: 4th cleanup round, missing bits and pieces

Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: あく <alleteam@gmail.com>
2023-08-11 01:10:15 +09:00
twisted-pear
c976ff11bf
Expose additional functions of the crypto engine to user (#2923)
* Allow loading user supplied keys and add CTR mode
* Add GCM mode to furi_hal_crypto
* Split up CTR and GCM code, add flag for adv crypto
* Add convenience functions for GCM crypto
* Run fbt format
* Update GCM to support additional auth data
* Update APIs
* FuriHal: update crypto documentation, method names and usage
* Clean up code for key (un)loading, GCM and CTR
  - get rid of goto
  - do not use furi_hal_bt_is_alive() when not using secure enclave
  - give defines a type and wrap in ()
* Add unit test for CTR and GCM crypto
* FuriHal: const in crypto unit tests, cortex timer for crypto operations timeouts
* FuriHal: update crypto docs

Co-authored-by: twisted_pear <twstd@posteo.net>
Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: あく <alleteam@gmail.com>
2023-08-10 17:44:46 +09:00
Sergey Gavrilov
00cdc3d1cb
[FL-3461] RPC: md5 in storage list (#2929)
* Protobuf: update
* Toolbox: md5 for file. Unit-Tests: test md5_calc.
* Storage RPC, CLI, unit tests: use new md5_calc
* Protobuf: update
* RPC, StorageList: append md5 info to file
* fbt: attempt to fix shallow submodule checkouts
* pvs: make happy
* Protobuf: update to latest release

Co-authored-by: hedger <hedger@nanode.su>
Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2023-08-09 06:34:54 +09:00
Astra
3e8e999909
[FL-3470] Rename Applications to Apps (#2939)
* Applications are now apps
* Desktop: Apps in settings

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2023-08-02 23:58:59 +09:00
Astra
035e447009
[FL-3462] External apps icounter (#2928)
Co-authored-by: あく <alleteam@gmail.com>
2023-08-02 12:58:39 +09:00
MMX
aadb72af53
UI: New way to input bytes in byte_input (#2890)
* New byte input UI option
* Gui: reformat and cleanup byte_input docs, make PVS happy

Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: あく <alleteam@gmail.com>
2023-08-01 18:09:30 +09:00
Nikolay Minaylov
a2a4fa8cda
[FL-3408, FL-3429, FL-3430] Backlight notification fix (#2878)
* Notifications: display brightness override fix
* FuriHalVersionColor update
* float comparison fix

Co-authored-by: あく <alleteam@gmail.com>
2023-08-01 16:56:11 +09:00
あく
76e97b8d35
[FL-3051] Gauge initialization routine refactoring, new DataMemory layout, configuration update (#2887)
* FuriHal: refactor power gauge config

* Format sources and move gauge DM load to separate method

* FuriHal: bq27220 refactoring part 1

* Power: use SYSDWN battery status flag for system shutdown

* Libs: bq27220 read DM before write, fix incorrect shift

* FuriHal: cleanup gauge config, add flags, add ptr DM type, update symbols

* FuriHal: 2 stage gauge DM verification and update, better detection routine

* FuriHal: update gauge configuration, lower sleep current and deadband

* FuriHal: gauge and charger health reporting

* Lib: cleanup bq27220 sources

* FuriHal: correct documentation for furi_hal_power_is_shutdown_requested

* FuriHal: proper gauge config for f7
2023-07-18 14:46:38 +04:00
Nikolay Minaylov
e073c603a4
[FL-3334] Storage: explosive rename fix (#2876)
Co-authored-by: あく <alleteam@gmail.com>
2023-07-14 13:16:22 +04:00
Sergey Gavrilov
8dc1edac18
Loader: good looking error messages (#2873)
* Loader: special error for unknown external app
* Loader: update special error
* Loader: beautify GUI errors, remove redundant logs
* Loader: fix gui error vertical position
* Desktop settings: add external menu apps
* Desktop: smaller settings struct and fix incorrect behavior with ext apps

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2023-07-13 16:02:59 +04:00
あく
b55d97f827
Desktop,Cli: add uptime info (#2874) 2023-07-13 21:02:08 +10:00
Nikolay Minaylov
92c0baa461
[FL-3383, FL-3413] Archive and file browser fixes (#2862)
* File browser: flickering and reload fixes
* The same for archive browser
2023-07-12 20:35:11 +04:00
あく
a4b4802897
Revert "[FL-3420] Storage: directory sort (#2850)" (#2868)
This reverts commit 136114890f.
2023-07-12 21:02:52 +10:00
Sergey Gavrilov
dcb49c540f
[FL-3422] Loader: exit animation fix (#2860)
Co-authored-by: あく <alleteam@gmail.com>
2023-07-12 13:49:17 +04:00
Astra
8bccfd6fd8
[FL-3363] More descriptive error messages for the log command (#2835)
* More descriptive error messages for the log command
* Log level description improvements
* Log help changes

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2023-07-11 15:41:16 +04:00
Sergey Gavrilov
136114890f
[FL-3420] Storage: directory sort (#2850)
* Storage: sort_data holder in file structure
* Storage: sort directory if it possible
* make pvs happy
* Storage: fail sorting if there is no more space for realloc
* Storage: case insensitive sorting.

Co-authored-by: あく <alleteam@gmail.com>
2023-07-11 11:29:45 +04:00
Sergey Gavrilov
9b2d80d6b7
[FL-3400] External menu apps (#2849)
* FBT, applications: add MENUEXTERNAL app type
* FBT, uFBT: build MENUEXTERNAL as EXTERNAL app
* Loader menu: show external menu apps
* LFRFID: move to sd card
* FBT: always build External Applications list
* Archive: look for external apps path
* Infrared: move to sd card
* Apps: add "start" apps
* iButton: move to sd card
* BadUSB: move to sd card
* External apps: update icons
* GPIO: move to sd card
* Loader: look for external apps path
* U2F: move to sd
* SubGHz: move to sd
* Apps: "on_start" metapackage
* NFC: move to sd
* Sync f7 and f18

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2023-07-10 12:03:41 +04:00
Slavik Nychkalo
88f8f68e29
fix width of submenu items on Vertical orientation (#2306)
* fix width of submenu items on vertical view
* Gui: slightly better canvas width handling in submenu
* Gui: remove unused include

Co-authored-by: あく <alleteam@gmail.com>
2023-07-01 00:50:46 +09:00
Astra
bf975ad786
Fix roll-over in file browser and archive (#2811) 2023-06-28 20:46:42 +09:00
Petr Portnov | PROgrm_JARvis
75354ec5ba
fix: make dialog_file_browser_set_basic_options initialize all fields (#2756)
* fix: make `dialog_file_browser_set_basic_options` initialize all fields
* fix(GH-2756): use alternative test for `test_dialog_file_browser_set_basic_options_should_init_all_fields`

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2023-06-27 18:46:04 +09:00
Astra
168fa72d53
[FL-3373] Scroll acceleration (#2784)
* Support for scroll acceleration
* Revert keyboard acceleration
* Add scroll acceleration to the text box
* Remove redundant code from the file manager input handler
* Archive: slightly better scrolling
* Gui,Archive: final version of accelerated scrolling

Co-authored-by: あく <alleteam@gmail.com>
2023-06-27 18:22:35 +09:00
Sergey Gavrilov
761a14e6e2
[FL-2837][FL-3270] Loader refaptoring: second encounter (#2779)
* Core: rename internal FlipperApplication to FlipperInternalApplication
* FAP Loader: move load_name_and_icon to flipper_application library
* Loader menu: rework api
* View holder: move to gui service
* Loader: simple "loading" worker
* Loader: applications dialog
* Loader: fapping
* Update f18 api
* Apps: remove fap_loader
* Libs, flipper application: store args, rename thread allocation
* Loader: error handling
* Apps: use loader error handling
* Loader: documentation
* FBT: accomodate loader
* Loader: do not raise gui error if loader is locked
* Archive: accomodate loader
* Loader: fix loading message
* Flipper: drop some old dolphin legacy
* Loader: generalize error construction

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2023-06-23 21:01:40 +09:00
Sergey Gavrilov
0e4344a83c
Services: simplify api (#2540)
Co-authored-by: あく <alleteam@gmail.com>
2023-06-09 20:02:47 +09:00
hedger
e3e64e5e83
[FL-3267] ble: refactored bt gatt characteristics setup (#2587)
* ble: refactored bt gatt characteristics setup
* ble: naming fixes, small optimizations
* ble: expanded bitfields; fixed pvs warnings
* ble: fixed pvs warnings for real
* ble: using FlipperGattCharacteristicDataPropsFixed for char[] props
* ble: removed flipper_gatt_characteristic_props_const_char
* ble: gatt: naming changes
* ble: gatt: fixed device_info service constant attrs sizes
* ble: gatt: copy descriptors to char instances; reworked hid chars to be callback-based; moved max size getter to callback with NULL data; added comments
* ble: gatt: removed hid_svc_report_data_callback
* ble: hid svc: better double loop idx naming
* ble: hid svc: simplified hid_svc_update_info
* ble: gatt: removed magic values; fixed type for HidSvcGattCharacteristicInfo
* ble: gatt: moved long uuids to separate files

Co-authored-by: gornekich <n.gorbadey@gmail.com>
Co-authored-by: あく <alleteam@gmail.com>
2023-06-08 18:42:02 +09:00
あく
76c70bdf2c
[FL-3316] Settings: add contrast adjustment (#2737)
Co-authored-by: hedger <hedger@users.noreply.github.com>
2023-06-06 21:46:01 +04:00
Yukai Li
77bb997b0b
desktop: Refactor favorites settings and allow app browser in selection (#2687)
* desktop: Refactor favorites settings and allow app browser in selection
* desktop: Gate app browser entry add, just in case
* Desktop: simplify favorite application selection
* Desktop: refactor favorite application opening routine and cleanup code
* Desktop: handle exit from external application selection

Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: あく <alleteam@gmail.com>
2023-05-26 01:16:41 +09:00
あく
080324f7e0
[FL-3315] Desktop,Rpc: desktop status subscription (#2696)
* Desktop,Rpc: desktop status subscription
* Desktop,RPC: properly handle unsubscribe

Co-authored-by: Sergey Gavrilov <who.just.the.doctor@gmail.com>
2023-05-25 23:22:31 +09:00
Sergey Gavrilov
88f0b63577
Storage, common_rename: check that old path is exists (#2698)
* Storage, common_rename: check that old path is exists
* Storage, common_rename: return correct status
2023-05-25 22:44:32 +09:00
あく
3217f286f0
Services: remove deallocator for persistent services (#2692)
Co-authored-by: hedger <hedger@users.noreply.github.com>
2023-05-23 19:17:12 +04:00
Sergey Gavrilov
711f0fef40
[FL-3327] Storage: common_rename is now POSIX compliant (#2693)
* Storage: common_rename is now POSIX compliant

* storage: check for success on storage_common_remove in file rename

---------

Co-authored-by: hedger <hedger@nanode.su>
2023-05-23 18:59:32 +04:00
あく
341cd5e860
[FL-3312] fix PIN retry count reset on reboot (#2671) 2023-05-14 16:04:03 +04:00
あく
aa8a369e2a
Rpc: add desktop service. Desktop: refactor locking routine. (#2665)
* Rpc: add desktop service
* Protobuf: sync to latest release. Desktop: rewrite PIN locking, finalize locking API
* Desktop: cleanup code a little bit
2023-05-11 19:50:17 +10:00
hedger
538f96f0ac
[FL-3300] API version in UI (#2649)
* desktop, about: replaced commit# with API version
* scripts: storage: added approx speed for file uploads
* scripts: selfupdate: use folder name by default
* vscode: fixed broken get_blackmagic shell integration on *nix

Co-authored-by: あく <alleteam@gmail.com>
2023-05-08 20:11:23 +09:00
あく
914129a0d9
[FL-3289] Various Furi/FuriHal bug fixes and improvements (#2637)
* Furi: properly handle thread free before TCB scrapping, add furi_free - more invasive version of free to memmgr. FuriHal: add DWT comparator api to cortex. Updater, RPC: refactor various thread shanenigans. Code cleanup.
* Rollback free macros and related changes
2023-05-05 21:40:55 +09:00
Sergey Gavrilov
a7d1ec03e8
[FL-3270] Loader refactoring, part 1 (#2593)
* Loader: menu part
* Settings: remove unused loader api
* Desktop: get loader from record_open
* CLI: remove unneeded loader api
* gitignore: ignore .old files
* Loader: now really a service
* Loader: working service prototype
* Loader: cli, system start hooks
* CI/CD: make happy
* Loader: autorun
* Loader: lock and unlock
* Loader: rearrange code
* Gui, module menu: fix memleak
* Updater test: add timeout
* added update timeouts and max run duration
* Github: revert updater test workflow changes
* Loader: less missleading message in info cli command

Co-authored-by: doomwastaken <k.volkov@flipperdevices.com>
Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2023-05-04 12:48:13 +09:00
hedger
c5b460b416
[FL-3260] Added API version to device info (#2611)
* hal: device_info: added API version to "firmware.api.major" & "firmware.api.minor"
* FuriHal: bump device info version

Co-authored-by: あく <alleteam@gmail.com>
2023-05-03 12:58:59 +09:00