MX
fdb9748acc
Merge branch 'ofw_dev' into dev
2023-09-05 16:22:49 +03: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
MX
20593d56c0
Merge branch 'ofw-dev' into dev
2023-08-22 21:53:50 +03: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
MX
15ac511dea
Merge branch 'ofw-dev' into dev
2023-08-16 16:52:43 +03: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
MX
4b81046b6f
Merge branch 'ofw-dev' into dev
2023-08-11 18:08:12 +03: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
MX
7027f6a4c4
Merge branch 'ofw-dev' into dev
2023-08-09 15:05:12 +03: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
MX
2f532a547e
Merge branch 'ofw-dev' into dev
2023-07-18 22:53:16 +03: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
MX
bb7ffd6ff5
Merge branch 'ofw-dev' into dev
2023-07-10 16:55:28 +03: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
MX
b0988e4d86
Merge branch 'ofw-dev' into dev
2023-06-29 04:22:51 +03: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
MX
18220515b5
Merge branch 'ofw-dev' into dev
2023-06-08 14:58:46 +03: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
MX
0ab530e750
Merge branch 'ofw-dev' into dev
2023-05-29 20:33:12 +03: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
MX
face4bd3c7
Merge branch 'fz-dev' into dev
2023-05-09 18:28:46 +03: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
MX
417343e3dd
Merge branch 'fz-dev' into dev
2023-05-09 01:14:42 +03: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
MX
cae4790ef2
Merge branch 'fz-dev' into dev
2023-05-03 17:15:59 +03: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
hedger
1ef70c0bb4
[FL-3280] cubewb: downgraded to v1.15.0 ( #2605 )
...
* cubewb: downgraded to v1.15.0
* hal: updated f18 symbols to match LL
* hal: flash: use furi_hal_cortex_timer for timeouts
* scripts: fixed cube version validation from config file
* hal: flash: added 3 seconds timeout when waiting for C2 to unlock flash controller. On timeout, triggers furi_check
* nfc: fixed missing interrupt setup on multiple platformSetIrqCallback() invocations
* hal: gpio: don't trigger furi_check on furi_hal_gpio_add_int_callback() with same parameters
* Reverted NFC fixes - will be in a separate PR
* scripts: storage: fixed exception handler for paths
2023-04-24 16:19:36 +09:00
hedger
3561f79cf4
cubewb: downgraded to v1.15.0
2023-04-22 20:42:27 +03:00
MX
aac7654ca3
Merge branch 'fz-dev' into dev
2023-04-06 07:14:48 +03:00
hedger
a91d319839
[FL-3162] Moved ufbt to fbt codebase ( #2520 )
...
* scripts: moved ufbt code
* ufbt: fixed tool path
* ufbt: fixed linter/formatter target descriptions
* scripts: ufbt: cleanup
* fbt: moved fap launch target to tools; ufbt fixes
* fbt: fixed missing headers from SDK
* ufbt: removed debug output
* ufbt: moved project template to main codebase
* ufbt: fixed vscode_dist
* ufbt: path naming changes
* fbt: error message for older ufbt versions
* ufbt: docs fixes
* ufbt: fixed build dir location
* fbt: fixes for extapps objcopy
* fbt: extapps: removed extra debug output; fixed formatting
* ufbt: handle launch target for multiple known apps
* ufbt: dropping wrapper; linter fixes
* ufbt: fixed boostrap path
* ufbt: renamed entrypoint
* ufbt: updated vscode config
* ufbt: moved sconsign db location
* ufbt: fixed sconsign path
* fbt: SDK builders rework
* fbt: reworked sdk packaging
* ufbt: additional checks and state processing
* ufbt: fixed sdk state file location
* dist: not packaging pycache
* dump commit json content
* Github: more workflow debug prints
* Github: fix incorrect commit meta extraction in get_env.py
* ufbt, fbt: changed SConsEnvironmentError->StopError
* fbtenv: no longer needs SCRIPT_PATH pre-set
* ufbt: fixed sdk state check
* scripts: exception fixes for storage.py
* scripts: fbtenv: added FBT_TOOLCHAIN_PATH for on Windows for compat
* ufbt: app template: creating .gitkeep for images folder
* ufbt: app template: fixed .gitkeep creation
* docs: formatting fixes for AppManifests; added link to ufbt
* fbt: added link to PyPI for old ufbt versions
* sdk: fixed dir component paths
Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2023-04-06 10:44:37 +08:00
MX
dd99c22792
Merge branch 'fz-dev' into dev
2023-03-14 19:55:16 +03:00
hedger
53435579b3
[FL-3097] fbt, faploader: minimal app module implementation ( #2420 )
...
* fbt, faploader: minimal app module implementation
* faploader, libs: moved API hashtable core to flipper_application
* example: compound api
* lib: flipper_application: naming fixes, doxygen comments
* fbt: changed `requires` manifest field behavior for app extensions
* examples: refactored plugin apps; faploader: changed new API naming; fbt: changed PLUGIN app type meaning
* loader: dropped support for debug apps & plugin menus
* moved applications/plugins -> applications/external
* Restored x bit on chiplist_convert.py
* git: fixed free-dap submodule path
* pvs: updated submodule paths
* examples: example_advanced_plugins.c: removed potential memory leak on errors
* examples: example_plugins: refined requires
* fbt: not deploying app modules for debug/sample apps; extra validation for .PLUGIN-type apps
* apps: removed cdefines for external apps
* fbt: moved ext app path definition
* fbt: reworked fap_dist handling; f18: synced api_symbols.csv
* fbt: removed resources_paths for extapps
* scripts: reworked storage
* scripts: reworked runfap.py & selfupdate.py to use new api
* wip: fal runner
* fbt: moved file packaging into separate module
* scripts: storage: fixes
* scripts: storage: minor fixes for new api
* fbt: changed internal artifact storage details for external apps
* scripts: storage: additional fixes and better error reporting; examples: using APP_DATA_PATH()
* fbt, scripts: reworked launch_app to deploy plugins; moved old runfap.py to distfap.py
* fbt: extra check for plugins descriptors
* fbt: additional checks in emitter
* fbt: better info message on SDK rebuild
* scripts: removed requirements.txt
* loader: removed remnants of plugins & debug menus
* post-review fixes
2023-03-14 23:29:28 +09:00
MX
f67a02203b
Merge branch 'fz-dev' into dev
2023-03-10 14:21:43 +03:00
あく
4bd3dca16f
Fbt: fix broken resource deployment ( #2477 )
2023-03-10 20:13:11 +09:00
Sergey Gavrilov
c5db1aaaf5
Revert "Revert "Embed assets in elf file ( #2466 )""
...
This reverts commit a04c01a2fd
.
2023-03-10 13:57:44 +03:00
Sergey Gavrilov
a04c01a2fd
Revert "Embed assets in elf file ( #2466 )"
...
This reverts commit 4fd043398a
.
2023-03-10 01:43:46 +03:00
MX
68fed0e03d
Merge branch 'fz-dev' into dev
2023-03-09 21:17:57 +03:00
Sergey Gavrilov
4fd043398a
Embed assets in elf file ( #2466 )
...
* FBT: file_assets generator
* Elf file: process manifest section externally
* FBT, file_assets generator: add assets signature
* Storage: assets path alias
* Flipper application: assets unpacker
* Apps, Storage: use '/data' alias for apps data
* Storage: copy file to file
* Assets: log flag, fixes
* Update f18 api
* Assets: asserts
* Assets: fix signature_data check
* App assets: example
* Example assets: fix folder structure in readme
* Assets: fix error handling
* Assets builder: use ansii instead of utf-8, use .fapassets section instead of .fapfiles, add assets path to signature
* Elf file: comment strange places
* Storage: totaly optimized storage_file_copy_to_file
2023-03-10 01:01:53 +10:00
Round-Pi
b89902942b
typo combing
2023-02-20 10:55:53 -05:00
hedger
d0c6c3402c
Updater visual fixes ( #2391 )
...
* updater: removed unused code; fbt: fixed build error processing in certain cases
* updater: simplified internal pre-update state
* updater: rebalanced stage weights; fixed progress hiccups
2023-02-13 23:07:53 +09:00
Victor Nikitchuk
d7ecc95de4
Firmware fixes and improvements for flashing via blackmagic ( #2321 )
...
Co-authored-by: quen0n <quen0n@github.com>
Co-authored-by: あく <alleteam@gmail.com>
Co-authored-by: hedger <hedger@users.noreply.github.com>
2023-02-09 12:40:04 +09:00
Michal Suchánek
00076deece
SCons: do not include backup files in build ( #2221 )
...
* SCons: do not include backup files in build
* fbt: now GlobRecursive by default excludes backup files
* fbt: added backup file exclusion to plain libs
Signed-off-by: Michal Suchanek <msuchanek@suse.de>
Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: hedger <hedger@nanode.su>
Co-authored-by: あく <alleteam@gmail.com>
2023-02-08 18:35:38 +09:00
hedger
224d0aefe4
[FL-2733] multitarget support for fbt ( #2209 )
...
* First part of multitarget porting
* Delete firmware/targets/f7/Inc directory
* Delete firmware/targets/f7/Src directory
* gpio: cli fixes; about: using version from HAL
* sdk: path fixes
* gui: include fixes
* applications: more include fixes
* gpio: ported to new apis
* hal: introduced furi_hal_target_hw.h; libs: added one_wire
* hal: f18 target
* github: also build f18 by default
* typo fix
* fbt: removed extra checks on app list
* api: explicitly bundling select mlib headers with sdk
* hal: f18: changed INPUT_DEBOUNCE_TICKS to match f7
* cleaned up commented out code
* docs: added info on hw targets
* docs: targets: formatting fixes
* f18: fixed link error
* f18: fixed API version to match f7
* docs: hardware: minor wording fixes
* faploader: added fw target check
* docs: typo fixes
* github: not building komi target by default
* fbt: support for `targets` field for built-in apps
* github: reworked build flow to exclude app_set; fbt: removed komi-specific appset; added additional target buildset check
* github: fixed build; nfc: fixed pvs warnings
* attempt to fix target id
* f7, f18: removed certain HAL function from public API
* apps: debug: enabled bt_debug_app for f18
* Targets: backport input pins configuration routine from F7 to F18
Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2023-02-08 01:33:05 +09:00
hedger
a0814aab31
[FL-3081] fbt: removed DEBUG_TOOLS & FAP_EXAMPLES flags ( #2291 )
...
* fbt: deprecated DEBUG_TOOLS & FAP_EXAMPLES flags
* fixes for PVS warnings
* scripts: fbt: fixed leaking PYTHONHOME
2023-01-17 18:07:47 +03:00
hedger
341610b8a1
[FL-3080] fbt: PVS support ( #2286 )
...
* fbt: added firmware_pvscheck & firmware_pvs targets for *nix
* fbt: pvs support on Windows
* fbt: additional fixes & docs for PVS support
* fbt: fixes for updater env configuration
* github: reworked pvs workflow
* vscode: added PVS shortcut
* pvs: added --ignore-ccache flag
* fbt: pvs: opening web browser if there are warnings
* fbt: pvs: added browser handler for mac
* github: fixed report path for PVS
* fbt: pvs: fixed report upload path
* removed intentional PVS warning
* fixed more PVS warnings
* fixed secplus_v1 PVS warning
* fbt: added PVSNOBROWSER flag
* github: setting PVSNOBROWSER for pvs runs
* fbt: less debug output
Co-authored-by: あく <alleteam@gmail.com>
2023-01-17 15:55:49 +03:00
Stephen Kent
d2df35a35b
fbt: add fap_deploy
target to build and copy all .fap apps to flipper ( #2146 )
...
* fbt: add `faps_copy` target to build and copy all .fap apps to flipper
* fbt: restore default runfap.py invocation behavior, use -n for copy only
* fbt: proper implementation of fap_deploy target
Co-authored-by: hedger <hedger@nanode.su>
2023-01-11 13:13:07 +03:00
Georgii Surkov
8582670a34
[FL-2811] Fix PVS-Studio warnings ( #2142 )
...
Co-authored-by: あく <alleteam@gmail.com>
Co-authored-by: gornekich <n.gorbadey@gmail.com>
2022-12-26 21:13:30 +09:00
Smooklu
03140e4349
Bluetooth Remote to HID Remote ( #2039 )
...
* WIP BT + USB Hid
* Refactoring Submenus/Views
* Changed to bool instead of enum
* Revamp finished
* Removed usb_keyboard
* Renaming device_types that can do USB+BT
* Removed error view
* Renaming folder structure and file names
* Fixed views.h
* Fixed hid.h
* Fixed hid_mouse.c
* Fixed a accidetnal renaming
* Apps: add missing view remove call in hid app destructor
* Hid app: hal abstraction, split into bluetooth and usb remotes. Fbt: customizable icon symbol name.
* Hid app: update usb remote icon
* Hid: single status change routine
* HID App: final touches
* HID App: rename BtHidTikTok to HidTikTok, format sources
* HID App: fix comma in keyboard
Co-authored-by: あく <alleteam@gmail.com>
2022-11-29 01:27:16 +09:00