mirror of
https://github.com/DarkFlippers/unleashed-firmware.git
synced 2024-12-23 13:21:44 +03:00
assets: checking limits on image size; ufbt: cdb target (#3359)
* scripts: assets: checking limits on image size * ufbt: added "cdb" target for regenerating; also generating cdb on "vscode_dist" * fbt: now also creating cdb for vscode_dist Co-authored-by: あく <alleteam@gmail.com>
This commit is contained in:
parent
d289545bf8
commit
0789cbdefa
@ -369,7 +369,7 @@ vscode_dist = distenv.Install(
|
|||||||
)
|
)
|
||||||
distenv.Precious(vscode_dist)
|
distenv.Precious(vscode_dist)
|
||||||
distenv.NoClean(vscode_dist)
|
distenv.NoClean(vscode_dist)
|
||||||
distenv.Alias("vscode_dist", vscode_dist)
|
distenv.Alias("vscode_dist", (vscode_dist, firmware_env["FW_CDB"]))
|
||||||
|
|
||||||
# Configure shell with build tools
|
# Configure shell with build tools
|
||||||
distenv.PhonyTarget(
|
distenv.PhonyTarget(
|
||||||
|
@ -249,7 +249,7 @@ fw_artifacts.extend(
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
fwcdb = fwenv.CompilationDatabase()
|
fwcdb = fwenv["FW_CDB"] = fwenv.CompilationDatabase()
|
||||||
# without filtering, both updater & firmware commands would be generated in same file
|
# without filtering, both updater & firmware commands would be generated in same file
|
||||||
fwenv.Replace(
|
fwenv.Replace(
|
||||||
COMPILATIONDB_PATH_FILTER=fwenv.subst("*${FW_FLAVOR}*"),
|
COMPILATIONDB_PATH_FILTER=fwenv.subst("*${FW_FLAVOR}*"),
|
||||||
|
@ -24,6 +24,9 @@ ICONS_TEMPLATE_C_FRAME = "const uint8_t {name}[] = {data};\n"
|
|||||||
ICONS_TEMPLATE_C_DATA = "const uint8_t* const {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"
|
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
|
||||||
|
|
||||||
|
|
||||||
class Main(App):
|
class Main(App):
|
||||||
def init(self):
|
def init(self):
|
||||||
@ -102,6 +105,10 @@ class Main(App):
|
|||||||
|
|
||||||
def _icon2header(self, file):
|
def _icon2header(self, file):
|
||||||
image = file2image(file)
|
image = file2image(file)
|
||||||
|
if image.width > MAX_IMAGE_WIDTH or image.height > MAX_IMAGE_HEIGHT:
|
||||||
|
raise Exception(
|
||||||
|
f"Image {file} is too big ({image.width}x{image.height} vs. {MAX_IMAGE_WIDTH}x{MAX_IMAGE_HEIGHT})"
|
||||||
|
)
|
||||||
return image.width, image.height, image.data_as_carray()
|
return image.width, image.height, image.data_as_carray()
|
||||||
|
|
||||||
def _iconIsSupported(self, filename):
|
def _iconIsSupported(self, filename):
|
||||||
|
@ -275,15 +275,16 @@ Default(install_and_check)
|
|||||||
|
|
||||||
# Compilation database
|
# Compilation database
|
||||||
|
|
||||||
fwcdb = appenv.CompilationDatabase(
|
app_cdb = appenv.CompilationDatabase(
|
||||||
original_app_dir.Dir(".vscode").File("compile_commands.json")
|
original_app_dir.Dir(".vscode").File("compile_commands.json")
|
||||||
)
|
)
|
||||||
|
|
||||||
AlwaysBuild(fwcdb)
|
AlwaysBuild(app_cdb)
|
||||||
Precious(fwcdb)
|
Precious(app_cdb)
|
||||||
NoClean(fwcdb)
|
NoClean(app_cdb)
|
||||||
if len(apps_artifacts):
|
if len(apps_artifacts):
|
||||||
Default(fwcdb)
|
Default(app_cdb)
|
||||||
|
Alias("cdb", app_cdb)
|
||||||
|
|
||||||
|
|
||||||
# launch handler
|
# launch handler
|
||||||
@ -381,7 +382,7 @@ for config_file in project_template_dir.glob(".*"):
|
|||||||
|
|
||||||
dist_env.Precious(vscode_dist)
|
dist_env.Precious(vscode_dist)
|
||||||
dist_env.NoClean(vscode_dist)
|
dist_env.NoClean(vscode_dist)
|
||||||
dist_env.Alias("vscode_dist", vscode_dist)
|
dist_env.Alias("vscode_dist", (vscode_dist, app_cdb))
|
||||||
|
|
||||||
|
|
||||||
# Creating app from base template
|
# Creating app from base template
|
||||||
|
@ -18,6 +18,8 @@ Building:
|
|||||||
Build all FAP apps
|
Build all FAP apps
|
||||||
fap_{APPID}, launch APPSRC={APPID}:
|
fap_{APPID}, launch APPSRC={APPID}:
|
||||||
Build FAP app with appid={APPID}; upload & start it over USB
|
Build FAP app with appid={APPID}; upload & start it over USB
|
||||||
|
cdb:
|
||||||
|
regenerate "compile_commands.json" file (for IDE integration)
|
||||||
|
|
||||||
Flashing & debugging:
|
Flashing & debugging:
|
||||||
flash, *jflash:
|
flash, *jflash:
|
||||||
|
Loading…
Reference in New Issue
Block a user