hedger
e1030e7999
fbt: reworked tool path handling ( #3105 )
...
* fbt: removed absolute paths from env setup; moved abs paths to cdb tool
* fbt: moved tool lookup to cdb emitter
* fbt: cdb: quote only tools with spaces in path
* typo fix
* fbt: pvs: suppress license expiration warning
2023-09-25 14:04:34 +09:00
hedger
1891d54baf
[FL-3600] Added fal_embedded
parameter for PLUGIN apps ( #3083 )
...
* fbt, ufbt: added `fal_embedded` parameter for PLIGIN apps, to embed them into .fap
* fbt: fixed dependency settings for assets
* fbt: extapps: Removed unneeded casts
* fbt: extapps: code simplification
* fbt: fal_embedded: fixed dependency relations
Co-authored-by: あく <alleteam@gmail.com>
2023-09-21 21:56:00 +09:00
あく
338fc3afea
New clock switch schema, fixes random core2 crashes ( #3008 )
...
* Updated stack to 1.17.0
* hal: ble: Fixed stack config
* Bumped stack version in config
* scripts: added validation of copro stack version in update bundles
* Copro: update to 1.17.2
* FuriHal: adjust tick frequency for HSE as sys clk
* FuriHal: adjust systick reload on sys clock change
* Sync api and format sources
* scripts: updated ob.data for newer stack
* FuriHal: return core2 hse pll transition on deep sleep
* FuriHal: cleanup ble glue
* FuriHal: rework ble glue, allow shci_send in critical section
* FuriHal: sync api symbols
* FuriHal: cleanup BLE glue, remove unused garbage and duplicate declarations
* FuriHal: BLE glue cleanup, 2nd iteration
* FuriHal: hide tick drift reports under FURI_HAL_OS_DEBUG
* Lib: sync stm32wb_copro with latest dev
* FuriHal: ble-glue, slightly less editable device name and duplicate definition cleanup
* FuriHal: update ble config options, enable some optimizations and ext adv
* FuriHal: update clock switch method documentation
* FuriHal: better SNBRSA bug workaround fix
* FuriHal: complete comment about tick skew
* FuriHal: proper condition in clock hsi2hse transition
* FuriHal: move PLL start to hse2pll routine, fix lockup caused by core2 switching to HSE before us
* FuriHal: explicit HSE start before switch
* FuriHal: fix documentation and move flash latency change to later stage, remove duplicate LL_RCC_SetRFWKPClockSource call
---------
Co-authored-by: hedger <hedger@nanode.su>
Co-authored-by: hedger <hedger@users.noreply.github.com>
2023-09-19 18:22:21 +04: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
hedger
452e27b05e
github: workflow improvements ( #3032 )
...
* github: compact build: status reporting step
* github: build: matrix strategy
* debugging
* github: added version_token to /uploadfiles request
* github: reworked main build flow
* github: suppressed non-zero cp status
* github: build: fixed comment lookup; experimental changes to apps build order
* github: removed summary step for compact builds; united map analyzer steps
* fbt: added get_apiversion target; moved ext apps processing logic to AppBuildset
* ufbt: added missing global
* fbt: Moved incompatible app list to firmware config output
* fbt: cleaner extapps processing
* github: build: added automation for SDK publishing
2023-09-05 20:49:39 +09: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
hedger
56b5b35236
Intelligent probing with warnings for fwflash.py ( #3005 )
...
* scripts: fwflash: intelligent probing with warnings
* scripts: fwflash: better texting
Co-authored-by: あく <alleteam@gmail.com>
2023-08-24 03:04:12 +09:00
Konstantin Volkov
4ade0fc76d
[FL-3421] Unit bench: multiple attempts to find flipper ( #2960 )
...
* Unit bench: added retry count for finding flipper for reboot/reboot2dfu and power off scripts. Changed returns to sys.exit() since scripts are being used standalone
* fixed typo in await flipper and changed debug level to info for searching flipper in power.py
* reversed return operator instead of sys.exit, changed app.py exit behavior
* test run to see if exit(1) fails the run
* reversed test changes, fixed flipper name and increased await flipper timeout
* await after flash increase
* increased serial timeout
* increased serial timeout, apparently it is for entire run
Co-authored-by: doomwastaken <k.volkov@flipperdevices.com>
Co-authored-by: あく <alleteam@gmail.com>
2023-08-23 21:51:02 +09:00
hedger
ace0901125
[FL-3486,FL-3392] fbt: various improvements and bug fixes ( #2982 )
...
* fbt: extapps: compact debug format for .faps
* fbt: sdk: fixed symbol cache regen logic for removed-only symbols
* lib: elf_file: early .fap file handle release
* fbt: extapps: added FAP_VERSION define for application environments
* github: added appsymbols artifact
* api: updates for f18
* github: fixed early fap_dist
* fbt: added flash_dap
* ufbt: added flash_dap
* fbt: reworked flash target; scripts: program.py->fwflash.py and changes
* vscode: updated configuration
* scripts: fwflash.py: ugly fixes for ufbt
* scripts: fwflash.py: cleanup
* fbt: flash: always use .elf file
* scripts: fwflash: fixed elf file path
Co-authored-by: あく <alleteam@gmail.com>
2023-08-23 03:33:10 +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
35cdefa1ca
Removed explicit dependency on scons for external scripting ( #2999 )
2023-08-23 02:11:53 +09:00
dogtopus
a7f0f5ad27
Improve vscode clangd experience ( #2431 )
...
* Improve vscode clangd experience
- Resolve and use absolute path for the toolchain. This allows clangd to use compile_commands.json file without running under fbtenv, simplifies setup for vscode clangd extension. As a side effect, a rebuild is needed to update compile_commands.json after moving the source tree.
- Add the recommended default settings of the extension to settings.json.
* Use build/latest for compile-commands-dir
This makes it behave closer to c-cpp-properties.
* Reformat crosscc.py
This is a PEP-8 violation but black seems to enforce it
* Bypass --query-driver
This has some security implications as it grants clangd the ability to execute any executables anywhere while trying to probe a compiler based on CDB. However it's very hard to do this the safe and intended way without resorting to config generation due to reason listed in #2431 . Besides that we already have workspace trust so what could go wrong? ;)
* Add an option for vscode_dist to switch between clangd and cpptools
This will install different extensions.json tuned for either clangd or cpptools based on user selection. It will also install c_cpp_properties.json when using cpptools since clangd doesn't use this file.
The root .gitignore now also doesn't accidentally ignore everything under the .vscode directory.
* Use absolute path for .vscode gitignore
Turns out the previously used "relative" paths aren't even valid gitignore patterns and to actually do what it means one needs to use the absolute paths instead.
* Handle variable parsing in commandline.scons
commandline.scons is the place where all other command line parsing happens. Move LANG_SERVER variable parsing there and add a constraint to make the code more consistent.
---------
Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: hedger <hedger@nanode.su>
2023-08-16 05:23:09 +04:00
hedger
7178bd20cf
ufbt: fixed FAP_SRC_DIR ( #2970 )
...
* fbt, ufbt: fixed "_appdir" internal property and FAP_SRC_DIR not working in ufbt environment
* fbt, ufbt: reworked CompileIcons(); added app's own root to app's #include path
* fbt: cleaner resolve_real_dir_node
Co-authored-by: あく <alleteam@gmail.com>
2023-08-11 01:21:56 +09:00
Sergey Gavrilov
498aee20a2
uFBT: devboard_flash to update WiFi devboard ( #2969 )
...
* uFBT: devboard_flash to update WiFi devboard
* uFBT: help
2023-08-10 21:29:44 +09:00
あく
2702c00ba4
Scripts: OB recovery ( #2964 )
...
* Scripts: OB recovery
* Scripts: slightly different ob
* Scripts: remove excessive return
* Scripts: simplifying work with registers
* Make PVS happy
Co-authored-by: SG <who.just.the.doctor@gmail.com>
2023-08-10 19:45:17 +10:00
Alexandre L
d9e931b7b7
fbt: Fix building using path with space ( #2948 )
...
* fbt: Fix building on Windows using path with space
* scripts: Fixed formatting
---------
Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: hedger <hedger@nanode.su>
2023-08-09 04:46:07 +04:00
Lesha Lomalkin
c7648eb932
fbtenv: add additional environ variable to control execution flow ( #2938 )
...
* fbtenv: add flags FBT_PRESERVE_TAR, FBT_SKIP_CHECK_SOURCED for usage with external tools
* fbtenv: beautify, add info to fbtenv_print_config section if FBT_VERBOSE
* fbtenv: fixes
Co-authored-by: あく <alleteam@gmail.com>
2023-08-03 00:38:51 +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
Max Andreev
ff2e1acfdb
Fix fbtenv restore ( #2924 )
2023-07-28 23:45:27 +04:00
hedger
309f65e401
[FL-3437] fbt: build
target for faps ( #2888 )
...
* fbt: added build target for faps. Usage: ./fbt build APPSRC=<appid>
* Updated docs & vscode config
* Code cleanup
2023-07-18 13:39:30 +04:00
hedger
20f6394ad8
[FL-3431] Radio headers in SDK ( #2881 )
2023-07-17 11:51:15 +04:00
Max Andreev
a319a6fdf2
Update toolchain to v23 ( #2824 )
...
Co-authored-by: あく <alleteam@gmail.com>
2023-07-11 19:36:15 +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
Sergey Gavrilov
645a7c5989
[FL-3386] Fast FAP Loader ( #2790 )
...
* FBT: build and add FastFAP(tm) sections
* Elf file: fast loading fap files. Really fast, like x15 times faster.
* fastfap.py: cleanup unused imports
* Toolchain: 23 version
* Elf File: remove log messages
* Scripts: fix file permissions
* FBT: explicit interpreter for fastfap invocation
Co-authored-by: あく <alleteam@gmail.com>
2023-06-28 17:19:10 +09:00
Konstantin Volkov
e680cf59b6
Actions: unit_test and updater timeouts ( #2807 )
...
* added some extra timeouts, fixed duration of units run command and minor logging changes. No list_ports yet needed
* increased timeouts
* make pvs happy
---------
Co-authored-by: doomwastaken <k.volkov@flipperdevices.com>
Co-authored-by: SG <who.just.the.doctor@gmail.com>
2023-06-28 06:47:13 +10: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
あく
4ddfe05a59
Debug: sync apps on attach, makes it possible to debug already started app that has crashed ( #2778 )
2023-06-16 10:48:57 +04:00
hedger
2312fe5bfc
[FL-3361] fbt: stable build dates ( #2751 )
...
* scripts: using commit date for clean build timestamp; current day otherwise
* scripts: version: Removing GIT_COMMIT_DATE from final data
Co-authored-by: あく <alleteam@gmail.com>
2023-06-09 21:27:47 +09:00
hedger
1c306a04fc
[FL-3359] github: added debugapps artifact; packaging resources per-target ( #2750 )
...
* github: added debugapps artifact; packaging resources per-target
* github: target name fixes
* github: fixed path for debug apps
* scripts: dist: removed lib stub artifact
* scripts: fixed broken SDK
* github: removed unused step
2023-06-08 21:43:05 +09:00
Sergey Gavrilov
e5343fdc9a
Scripts: WiFi board updater ( #2625 )
...
* Scripts: wifi updater
* WiFi board updater: lint, process download error
* WiFi board updater: auto cleanup temp dir
* Scripts: fix server address
2023-06-08 17:28:08 +09:00
hedger
3226254876
[FL-3351] github: re-enabled f18 build ( #2743 )
...
* github: re-enabled f18 build
* scripts: storage: better transfer logging
* Fix PVS warnings
Co-authored-by: あく <alleteam@gmail.com>
2023-06-08 15:16:01 +09:00
hedger
436194e6c7
[FL-3346] fbt: added Flipper selection when multiple are connected over USB ( #2723 )
...
* fbt: added Flipper selection when multiple are connected over USB
* scripts: serial_cli: added --port (-p) option
2023-06-08 13:47:27 +09:00
glebmashanov
09fae620d9
Map parser licence description ( #2739 )
...
* Add map parser licence description
* Add map parser copyright text & licence note
---------
Co-authored-by: hedger <hedger@users.noreply.github.com>
2023-06-07 17:30:26 +04:00
hedger
754e640c8d
[FL-3246] fbt, ufbt: added checks for appid in app manifests( #2720 )
...
Co-authored-by: あく <alleteam@gmail.com>
2023-06-07 11:14:33 +09:00
Max Andreev
6f6ead1726
[FL-3045] Fix core2 permisions ( #2742 )
...
* Fix core2 permisions
* Fix Python code style
* scripts: copro: changed int literals
* scripts: copro: shorter string line in code
---------
Co-authored-by: hedger <hedger@nanode.su>
Co-authored-by: hedger <hedger@users.noreply.github.com>
2023-06-06 23:33:04 +04:00
DEXV
e4a2e9a920
Serial_CLI: Fixing serial cli logger error so it sounds more concise ( #2721 )
...
Co-authored-by: hedger <hedger@users.noreply.github.com>
2023-06-06 22:18:24 +04:00
Max Andreev
72ad22bb91
[DEVOPS-18]: Add map file parser, mariadb inserter ( #2732 )
2023-06-05 19:25:43 +09:00
Zoë Prosvetova
3a7203e32e
Update dolphin.py ( #2717 )
...
Co-authored-by: あく <alleteam@gmail.com>
2023-06-01 18:59:41 +09:00
hedger
8d2ea14f06
[FL-3330] fbt: added hooks for build & dist environments; added FW_ORIGIN_* macro for apps & SDK ( #2705 )
...
* fbt: added hooks for build & dist environments
* Moved env hooks to an optional file
* Fixed var name
* Added fw origin to device info
* Bumped device info version
* fbt: added FIRMWARE_ORIGIN option. Different implementation for FW_ORIGIN_* C macro.
* api: bumped versions
* fbt: added fbt_options_local.py
* gitignore: cleanup
Co-authored-by: あく <alleteam@gmail.com>
2023-05-30 01:40:56 +09:00
hedger
a821a2fcc0
[FL-3328] Removed user-specific data from tar artifacts ( #2691 )
2023-05-23 19:51:21 +09:00
Yukai Li
5f1ac6e1b1
fbt: Fix tar uid overflow when packaging ( #2689 )
...
* fbt: Fix tar uid overflow when packaging
* Fix trailing spaces
2023-05-22 13:14:18 +04:00
MX
d9fc408d96
fbt: Use union for old py ( #2685 )
2023-05-21 21:50:38 +04:00
hedger
8d1f5b04b3
[FL-3317] fbt: allow strings for fap_version field in app manifests ( #2672 )
2023-05-14 20:49:52 +09:00
あく
f57f0efc48
Debug: revert cortex debug to lxml and drop DWT ( #2651 )
...
* Debug: revert cortex debug to lxml
* Debug: update PyCortexMDebug readme
* fbt: moved "debug" dir to "scripts" subfolder
* ufbt: added missing debug_other & debug_other_blackmagic targets; github: fixed script bundling
* lint: fixed formatting on debug scripts
* vscode: updated configuration for debug dir changes
---------
Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: hedger <hedger@nanode.su>
2023-05-09 03:31:44 +04:00
hedger
241b4ef6e4
[FL-3299] furi_crash: added C2 status; added fw-version gdb command ( #2638 )
...
* furi_crash: added C2 status
* debug: Added "fw-version" gdb command; vscode: updated configuration to use new command
* debug: added fw-info command to debug_other session
* Toolbox: versioned structure for Version
* debug: fw-version: no longer needs an ELF file loaded
* debug: flipperversion: removed unused variable
* debug_other: print running fw version
Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2023-05-09 07:31:39 +09:00
hedger
268b88be0d
[FL-3285] Removed STM32CubeWB module ( #2608 )
...
* libs: removed STM32CubeWB module; split cube into 3 submodules
* fixed f18 version
* fbt: options: fixed expected stack version
* pvs: updated for new paths
* fbt: ep: multithreaded submodule update
* libs: stm32cubewb: fixed duplicate include path; renamed to stm32wb; codeowners: updated paths; docs: updated paths
* pvs: updated paths
* libs: added cmsis_core from ARM sources, v.5.4.0, from https://github.com/ARM-software/CMSIS_5/tree/develop/CMSIS/Core/Include
* Updated stm32wb_copro structure
* PVS: exclude cmsis core from analysis
---------
Co-authored-by: あく <alleteam@gmail.com>
2023-05-09 06:30:33 +09: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
hedger
f7dd77795a
ufbt: deploying sample ufbt automation for new apps; added source "ufbt -s env"
for toolchain access ( #2648 )
2023-05-08 20:01:52 +09:00
Perry Fraser
954780ed24
Fix storage.py exist_dir logic ( #2639 )
...
* Fix storage.py exist_dir logic. This method would return true if the given path existed as either a directory or
a file, which is what the plain exist method is for.
2023-05-07 22:40:38 +04:00
hedger
c3ececcf96
[FL-3174] Dolphin builder in ufbt; minor ufbt/fbt improvements ( #2601 )
...
* ufbt: added "dolphin_ext" target (expects "external" subfolder in cwd with dolphin assets); cleaned up unused code
* ufbt: codestyle fixes
* scripts: fixed style according to ruff linter
* scripts: additional cleanup & codestyle fixes
* github: pass target hw code when installing local SDK with ufbt
* ufbt: added error message for missing folder in dolphin builder
* scripts: more linter fixes
* sdk: added flipper_format_stream; ufbt: support for --extra-define
* fbt: reduced amount of global defines
* scripts, fbt: rearranged imports
Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2023-05-03 14:48:49 +09:00