1
mirror of https://github.com/DarkFlippers/unleashed-firmware.git synced 2025-12-13 13:09:49 +04:00

[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>
This commit is contained in:
hedger
2023-05-03 08:48:49 +03:00
committed by GitHub
parent 015ab4a024
commit c3ececcf96
73 changed files with 311 additions and 382 deletions

View File

@@ -1,6 +1,5 @@
import datetime
import hashlib
import os
def timestamp():

View File

@@ -31,13 +31,13 @@ class OpenOCDProgrammer(Programmer):
config["interface"] = interface
config["target"] = "target/stm32wbx.cfg"
if not serial is None:
if serial is not None:
if interface == "interface/cmsis-dap.cfg":
config["serial"] = f"cmsis_dap_serial {serial}"
elif "stlink" in interface:
config["serial"] = f"stlink_serial {serial}"
if not port_base is None:
if port_base is not None:
config["port_base"] = port_base
self.openocd = OpenOCD(config)
@@ -59,7 +59,7 @@ class OpenOCDProgrammer(Programmer):
raise Exception(f"File {file_path} not found")
self.openocd.start()
self.openocd.send_tcl(f"init")
self.openocd.send_tcl("init")
self.openocd.send_tcl(
f"program {file_path} 0x{address:08x}{' verify' if verify else ''} reset exit"
)
@@ -196,7 +196,7 @@ class OpenOCDProgrammer(Programmer):
if ob_need_to_apply:
stm32.option_bytes_apply(self.openocd)
else:
self.logger.info(f"Option Bytes are already correct")
self.logger.info("Option Bytes are already correct")
# Load Option Bytes
# That will reset and also lock the Option Bytes and the Flash
@@ -256,7 +256,7 @@ class OpenOCDProgrammer(Programmer):
already_written = False
if already_written:
self.logger.info(f"OTP memory is already written with the given data")
self.logger.info("OTP memory is already written with the given data")
return OpenOCDProgrammerResult.Success
self.reset(self.RunMode.Stop)

View File

@@ -123,7 +123,7 @@ class STM32WB55:
def clear_flash_errors(self, oocd: OpenOCD):
# Errata 2.2.9: Flash OPTVERR flag is always set after system reset
# And also clear all other flash error flags
self.logger.debug(f"Resetting flash errors")
self.logger.debug("Resetting flash errors")
self.FLASH_SR.load(oocd)
self.FLASH_SR.OP_ERR = 1
self.FLASH_SR.PROG_ERR = 1
@@ -218,7 +218,7 @@ class STM32WB55:
raise Exception("Flash lock failed")
def option_bytes_apply(self, oocd: OpenOCD):
self.logger.debug(f"Applying Option Bytes")
self.logger.debug("Applying Option Bytes")
self.FLASH_CR.load(oocd)
self.FLASH_CR.OPT_STRT = 1
@@ -228,7 +228,7 @@ class STM32WB55:
self.flash_wait_for_operation(oocd)
def option_bytes_load(self, oocd: OpenOCD):
self.logger.debug(f"Loading Option Bytes")
self.logger.debug("Loading Option Bytes")
self.FLASH_CR.load(oocd)
self.FLASH_CR.OBL_LAUNCH = 1
self.FLASH_CR.store(oocd)

View File

@@ -77,8 +77,8 @@ class TempliteCompiler:
return
lines = self.block.splitlines()
margin = min(len(l) - len(l.lstrip()) for l in lines if l.strip())
self.block = "\n".join("\t" * self.offset + l[margin:] for l in lines)
margin = min(len(line) - len(line.lstrip()) for line in lines if line.strip())
self.block = "\n".join("\t" * self.offset + line[margin:] for line in lines)
self.blocks.append(self.block)
if self.block.endswith(":"):
self.offset += 1