moving non critical settings to sd

based on WillyJL's work

TODO: fix loader_menu
This commit is contained in:
MX
2026-01-11 09:30:28 +03:00
parent c407fd2d1a
commit 2db115783c
33 changed files with 3103 additions and 34 deletions
+2
View File
@@ -26,6 +26,7 @@ class FlipperAppType(Enum):
STARTUP = "StartupHook"
EXTERNAL = "External"
MENUEXTERNAL = "MenuExternal"
EXTSETTINGS = "ExtSettings"
METAPACKAGE = "Package"
PLUGIN = "Plugin"
@@ -260,6 +261,7 @@ class AppBuildset:
FlipperAppType.PLUGIN: True,
FlipperAppType.DEBUG: True,
FlipperAppType.MENUEXTERNAL: False,
FlipperAppType.EXTSETTINGS: False,
}
DIST_APP_TYPES = list(
# Applications that are installed on SD card
+19 -10
View File
@@ -33,10 +33,16 @@ class ApplicationsCGenerator:
),
}
APP_EXTERNAL_TYPE = (
"FlipperExternalApplication",
"FLIPPER_EXTERNAL_APPS",
)
EXTERNAL_TYPE_MAP = {
FlipperAppType.MENUEXTERNAL: (
"FlipperExternalApplication",
"FLIPPER_EXTERNAL_APPS",
),
FlipperAppType.EXTSETTINGS: (
"FlipperExternalApplication",
"FLIPPER_EXTSETTINGS_APPS",
),
}
def __init__(self, buildset: AppBuildset, autorun_app: str = ""):
self.buildset = buildset
@@ -100,12 +106,15 @@ class ApplicationsCGenerator:
]
)
entry_type, entry_block = self.APP_EXTERNAL_TYPE
external_apps = self.buildset.get_apps_of_type(FlipperAppType.MENUEXTERNAL)
contents.append(f"const {entry_type} {entry_block}[] = {{")
contents.append(",\n".join(map(self.get_external_app_descr, external_apps)))
contents.append("};")
contents.append(f"const size_t {entry_block}_COUNT = COUNT_OF({entry_block});")
for apptype in self.EXTERNAL_TYPE_MAP:
entry_type, entry_block = self.EXTERNAL_TYPE_MAP[apptype]
external_apps = self.buildset.get_apps_of_type(apptype)
contents.append(f"const {entry_type} {entry_block}[] = {{")
contents.append(",\n".join(map(self.get_external_app_descr, external_apps)))
contents.append("};")
contents.append(
f"const size_t {entry_block}_COUNT = COUNT_OF({entry_block});"
)
return "\n".join(contents)
+1
View File
@@ -456,6 +456,7 @@ def _gather_app_components(env, appname) -> AppDeploymentComponents:
if host_app.apptype in [
FlipperAppType.EXTERNAL,
FlipperAppType.MENUEXTERNAL,
FlipperAppType.EXTSETTINGS,
]:
components.add_app(host_app)
else:
+1
View File
@@ -232,6 +232,7 @@ apps_to_build_as_faps = [
FlipperAppType.PLUGIN,
FlipperAppType.EXTERNAL,
FlipperAppType.MENUEXTERNAL,
FlipperAppType.EXTSETTINGS,
]
known_extapps = [