mirror of
https://github.com/DarkFlippers/unleashed-firmware.git
synced 2025-12-12 12:42:30 +04:00
Merge branch 'ofw_dev' into dev
This commit is contained in:
@@ -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}*"),
|
||||||
|
|||||||
@@ -22,6 +22,7 @@ MfClassicPoller* mf_classic_poller_alloc(Iso14443_3aPoller* iso14443_3a_poller)
|
|||||||
instance->rx_plain_buffer = bit_buffer_alloc(MF_CLASSIC_MAX_BUFF_SIZE);
|
instance->rx_plain_buffer = bit_buffer_alloc(MF_CLASSIC_MAX_BUFF_SIZE);
|
||||||
instance->rx_encrypted_buffer = bit_buffer_alloc(MF_CLASSIC_MAX_BUFF_SIZE);
|
instance->rx_encrypted_buffer = bit_buffer_alloc(MF_CLASSIC_MAX_BUFF_SIZE);
|
||||||
instance->current_type_check = MfClassicType4k;
|
instance->current_type_check = MfClassicType4k;
|
||||||
|
instance->card_state = MfClassicCardStateLost;
|
||||||
|
|
||||||
instance->mfc_event.data = &instance->mfc_event_data;
|
instance->mfc_event.data = &instance->mfc_event_data;
|
||||||
|
|
||||||
|
|||||||
@@ -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:
|
||||||
|
|||||||
Reference in New Issue
Block a user