mirror of
https://github.com/Next-Flip/Momentum-Firmware.git
synced 2026-04-24 03:29:57 -07:00
Merge remote-tracking branch 'OFW/dev' into dev
This commit is contained in:
@@ -24,8 +24,8 @@ ICONS_TEMPLATE_C_FRAME = "const uint8_t {name}[] = {data};\n"
|
||||
ICONS_TEMPLATE_C_DATA = "const uint8_t* const {name}[] = {data};\n"
|
||||
ICONS_TEMPLATE_C_ICONS = "const Icon {name} = {{.width={width},.height={height},.frame_count={frame_count},.frame_rate={frame_rate},.frames=_{name}}};\n"
|
||||
|
||||
MAX_IMAGE_WIDTH = 128
|
||||
MAX_IMAGE_HEIGHT = 64
|
||||
MAX_IMAGE_WIDTH = 2**16 - 1
|
||||
MAX_IMAGE_HEIGHT = 2**16 - 1
|
||||
|
||||
|
||||
class Main(App):
|
||||
|
||||
@@ -354,10 +354,10 @@ class AppBuildset:
|
||||
).append(app)
|
||||
|
||||
def get_ext_apps(self):
|
||||
return self.extapps
|
||||
return list(self.extapps)
|
||||
|
||||
def get_incompatible_ext_apps(self):
|
||||
return self.incompatible_extapps
|
||||
return list(self.incompatible_extapps)
|
||||
|
||||
def _check_conflicts(self):
|
||||
conflicts = []
|
||||
@@ -402,14 +402,30 @@ class AppBuildset:
|
||||
def _group_plugins(self):
|
||||
known_extensions = self.get_apps_of_type(FlipperAppType.PLUGIN, all_known=True)
|
||||
for extension_app in known_extensions:
|
||||
keep_app = False
|
||||
for parent_app_id in extension_app.requires:
|
||||
try:
|
||||
parent_app = self.appmgr.get(parent_app_id)
|
||||
parent_app._plugins.append(extension_app)
|
||||
|
||||
if (
|
||||
parent_app.apptype in self.BUILTIN_APP_TYPES
|
||||
and parent_app_id in self.appnames
|
||||
) or parent_app.apptype not in self.BUILTIN_APP_TYPES:
|
||||
keep_app |= True
|
||||
|
||||
except FlipperManifestException:
|
||||
self._writer(
|
||||
f"Module {extension_app.appid} has unknown parent {parent_app_id}"
|
||||
)
|
||||
keep_app = True
|
||||
# Debug output for plugin parentage
|
||||
# print(
|
||||
# f"Module {extension_app.appid} has parents {extension_app.requires} keep={keep_app}"
|
||||
# )
|
||||
if not keep_app and extension_app in self.extapps:
|
||||
# print(f"Excluding plugin {extension_app.appid}")
|
||||
self.extapps.remove(extension_app)
|
||||
|
||||
def get_apps_cdefs(self):
|
||||
cdefs = set()
|
||||
@@ -435,9 +451,11 @@ class AppBuildset:
|
||||
return sorted(
|
||||
filter(
|
||||
lambda app: app.apptype == apptype,
|
||||
self.appmgr.known_apps.values()
|
||||
if all_known
|
||||
else map(self.appmgr.get, self.appnames),
|
||||
(
|
||||
self.appmgr.known_apps.values()
|
||||
if all_known
|
||||
else map(self.appmgr.get, self.appnames)
|
||||
),
|
||||
),
|
||||
key=lambda app: app.order,
|
||||
)
|
||||
|
||||
@@ -461,7 +461,8 @@ def _gather_app_components(env, appname) -> AppDeploymentComponents:
|
||||
else:
|
||||
# host app is a built-in app
|
||||
components.add_app(artifacts_app_to_run)
|
||||
components.extra_launch_args = f"-a {host_app.name}"
|
||||
if host_app.name:
|
||||
components.extra_launch_args = f"-a {host_app.name}"
|
||||
else:
|
||||
raise UserError("Host app is unknown")
|
||||
else:
|
||||
|
||||
@@ -198,6 +198,7 @@ def gen_sdk_data(sdk_cache: SdkCache):
|
||||
api_def.extend(
|
||||
(f"#include <{h.name}>" for h in sdk_cache.get_headers()),
|
||||
)
|
||||
api_def.append('#pragma GCC diagnostic ignored "-Wdeprecated-declarations"')
|
||||
|
||||
api_def.append(f"const int elf_api_version = {sdk_cache.version.as_int()};")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user