Commit Graph

72 Commits

Author SHA1 Message Date
Willy-JL
4ad6297285 Merge branch 'dev' of https://github.com/DarkFlippers/unleashed-firmware into dev --nobuild 2023-09-30 19:26:24 +01: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
Willy-JL
02a50dda1f Merge branch 'dev' of https://github.com/DarkFlippers/unleashed-firmware into xfw-dev 2023-09-08 04:11:19 +02: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
Willy-JL
17a6822a09 Merge branch 'dev' of https://github.com/DarkFlippers/unleashed-firmware into xfw-dev 2023-08-27 22:14:33 +02: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
hedger
35cdefa1ca Removed explicit dependency on scons for external scripting (#2999) 2023-08-23 02:11:53 +09:00
Willy-JL
1e2f2cc784 Merge branch 'dev' of https://github.com/DarkFlippers/unleashed-firmware into xfw-dev --nobuild 2023-08-13 02:33:47 +02: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
Willy-JL
367389367a Merge branch 'dev' of https://github.com/DarkFlippers/unleashed-firmware into xfw-dev 2023-08-10 02:18:22 +02: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
Willy-JL
8d16b0e8f5 Merge branch 'dev' of https://github.com/flipperdevices/flipperzero-firmware into xfw-dev 2023-07-18 17:17:34 +01: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
ClaraCrazy
37b6375aaa Merge branch 'dev' of https://github.com/flipperdevices/flipperzero-firmware into dev 2023-07-17 18:23:18 +02:00
hedger
20f6394ad8 [FL-3431] Radio headers in SDK (#2881) 2023-07-17 11:51:15 +04:00
Willy-JL
49167866ea Fix default MENUEXTERNAL category 2023-07-14 04:12:18 +02:00
Willy-JL
ef907152b4 Remove FAPP and fix main menu 2023-07-13 20:42:01 +02:00
Willy-JL
9d1987e661 Merge branch 'dev' of https://github.com/DarkFlippers/unleashed-firmware into xfw-dev 2023-07-13 20:08:56 +02: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
Willy-JL
81f1135839 Use standard "assets" dir for FAPPs 2023-06-25 23:06:01 +01:00
Willy-JL
71d1c1d0f1 FAPP(TM) support 2023-06-25 22:39:15 +01:00
Willy-JL
888e325fa7 Begone retarded comment 2023-06-25 22:14:33 +01:00
Willy-JL
1a0f51bd25 Merge branch 'dev' of https://github.com/flipperdevices/flipperzero-firmware into xfw-dev 2023-06-25 20:57:33 +01:00
Willy-JL
99cd94f39f Revert extmainapp stuff 2023-06-25 20:35:40 +01: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
Willy-JL
c8ac5cc7b4 Revert "Option to preload extmainapps or not"
This reverts commit 33b8519202.
2023-06-23 00:47:19 +01:00
Willy-JL
4ff29e8910 Revert "Preload extmainapps"
This reverts commit fc56e39075.
2023-06-23 00:46:34 +01:00
Willy-JL
c5b10b56c7 Merge branch 'zlo/fast-fap-tm-loader' of https://github.com/flipperdevices/flipperzero-firmware into xfw-dev 2023-06-23 00:31:16 +01:00
SG
42056d17b1 FBT: build and add FastFAP(tm) sections 2023-06-21 17:16:25 +03:00
Willy-JL
4955567148 Merge branch 'dev' of https://github.com/DarkFlippers/unleashed-firmware into xfw-dev 2023-06-07 19:44:35 +01: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
Willy-JL
33b8519202 Option to preload extmainapps or not 2023-05-28 17:03:23 +01:00
Willy-JL
fc56e39075 Preload extmainapps 2023-05-28 00:27:58 +01:00
Willy-JL
805f14b996 Merge branch 'dev' of https://github.com/DarkFlippers/unleashed-firmware into xfw-dev 2023-05-22 14:27:27 +01:00
MX
d9fc408d96 fbt: Use union for old py (#2685) 2023-05-21 21:50:38 +04:00
MX
d7db7b8b67 fix builds for old pythons 2023-05-21 20:18:09 +03:00
Willy-JL
04102b35ae Merge branch 'dev' of https://github.com/DarkFlippers/unleashed-firmware into xfw-dev 2023-05-14 19:52:54 +01:00
hedger
8d1f5b04b3 [FL-3317] fbt: allow strings for fap_version field in app manifests (#2672) 2023-05-14 20:49:52 +09:00
Willy-JL
22e0d83ab7 Merge branch 'ofw-dev' into xfw-dev 2023-05-04 01:42:30 +01: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
Willy-JL
265473dff6 Better integrate external main apps 2023-03-28 21:23:42 +01:00
Willy-JL
09bc580497 Merge branch 'ul-dev' into xfw-dev 2023-03-17 23:52:05 +00: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
Willy-JL
39ddf75f91 Merge branch 'ul-dev' into xfw-dev 2023-03-14 01:07:01 +00: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
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
Willy-JL
876229db51 Merge branch 'dev' of https://github.com/DarkFlippers/unleashed-firmware into xfw-dev 2023-03-04 02:55:19 +00:00
Sergey Gavrilov
777a4d109d [FL-3055] Getter for application data path (#2181)
* Threads: application id
* Unit tests: appsdata getter test
* Unit tests: moar test cases for appsdata getter
* Unit tests: remove folders after test
* Storage: dir_is_exist, migrate, + unit_tests
* Plugins: migration
* Storage: common_exists, moar unit_tests 4 "common_migrate", "common_migrate" and "common_merge" bugfixes
* Storage: use FuriString for path handling
* Storage API: send caller thread id with path
* Storage: remove StorageType field in storage file list
* Storage: simplify processing
* Storage API: send caller thread id with path everywhere
* Storage: /app alias, unit tests and path creation
* Storage, path helper: remove unused
* Examples: app data example
* App plugins: use new VFS path
* Storage: file_info_is_dir
* Services: handle alias if the service accepts a path.
* App plugins: fixes
* Make PVS happy
* Storage: fix storage_merge_recursive
* Storage: rename process_aliases to resolve_path. Rename APPS_DATA to APP_DATA.
* Apps: use predefined macro instead of raw paths. Example Apps Data: README fixes.
* Storage: rename storage_common_resolve_path to storage_common_resolve_path_and_ensure_app_directory
* Api: fix version
* Storage: rename alias message
* Storage: do not create app folders in path resolving process in certain cases.

---------

Co-authored-by: Astra <93453568+Astrrra@users.noreply.github.com>
Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2023-03-02 03:57:27 +10:00