mirror of
https://github.com/DarkFlippers/unleashed-firmware
synced 2024-11-25 14:00:20 +00:00
8a95cb8d6b
* feat: backport js_gpio from unleashed * feat: backport js_keyboard, TextInputModel::minimum_length from unleashed * fix: api version inconsistency * style: js_gpio * build: fix submodule ._ . * refactor: js_gpio * docs: type declarations for gpio * feat: gpio interrupts * fix: js_gpio freeing, resetting and minor stylistic changes * style: js_gpio * style: mlib array, fixme's * feat: js_gpio adc * feat: js_event_loop * docs: js_event_loop * feat: js_event_loop subscription cancellation * feat: js_event_loop + js_gpio integration * fix: js_event_loop memory leak * feat: stop event loop on back button * test: js: basic, math, event_loop * feat: js_event_loop queue * feat: js linkage to previously loaded plugins * build: fix ci errors * feat: js module ordered teardown * feat: js_gui_defer_free * feat: basic hourglass view * style: JS ASS (Argument Schema for Scripts) * fix: js_event_loop mem leaks and lifetime problems * fix: crashing test and pvs false positives * feat: mjs custom obj destructors, gui submenu view * refactor: yank js_gui_defer_free (yuck) * refactor: maybe_unsubscribe * empty_screen, docs, typing fix-ups * docs: navigation event & demo * feat: submenu setHeader * feat: text_input * feat: text_box * docs: text_box availability * ci: silence irrelevant pvs low priority warning * style: use furistring * style: _get_at -> _safe_get * fix: built-in module name assignment * feat: js_dialog; refactor, optimize: js_gui * docs: js_gui * ci: silence pvs warning: Memory allocation is infallible * style: fix storage spelling * feat: foreign pointer signature checks * feat: js_storage * docs: js_storage * fix: my unit test was breaking other tests ;_; * ci: fix ci? * Make doxygen happy * docs: flipper, math, notification, global * style: review suggestions * style: review fixups * fix: badusb demo script * docs: badusb * ci: add nofl * ci: make linter happy * Bump api version Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
87 lines
2 KiB
Python
87 lines
2 KiB
Python
from pathlib import Path
|
|
import posixpath
|
|
|
|
# For more details on these options, run 'fbt -h'
|
|
|
|
FIRMWARE_ORIGIN = "Official"
|
|
|
|
# Default hardware target
|
|
TARGET_HW = 7
|
|
|
|
# Optimization flags
|
|
## Optimize for size
|
|
COMPACT = 0
|
|
## Optimize for debugging experience
|
|
DEBUG = 1
|
|
|
|
# Suffix to add to files when building distribution
|
|
# If OS environment has DIST_SUFFIX set, it will be used instead
|
|
DIST_SUFFIX = "local"
|
|
|
|
# Coprocessor firmware
|
|
COPRO_OB_DATA = "scripts/ob.data"
|
|
|
|
# Must match lib/stm32wb_copro version
|
|
COPRO_CUBE_VERSION = "1.20.0"
|
|
|
|
COPRO_CUBE_DIR = "lib/stm32wb_copro"
|
|
|
|
# Default radio stack
|
|
COPRO_STACK_BIN = "stm32wb5x_BLE_Stack_light_fw.bin"
|
|
# Firmware also supports "ble_full", but it might not fit into debug builds
|
|
COPRO_STACK_TYPE = "ble_light"
|
|
|
|
# Leave 0 to let scripts automatically calculate it
|
|
COPRO_STACK_ADDR = "0x0"
|
|
|
|
# If you override COPRO_CUBE_DIR on commandline, override this as well
|
|
COPRO_STACK_BIN_DIR = posixpath.join(COPRO_CUBE_DIR, "firmware")
|
|
|
|
# Supported toolchain versions
|
|
# Also specify in scripts/ufbt/SConstruct
|
|
FBT_TOOLCHAIN_VERSIONS = (" 12.3.", " 13.2.")
|
|
|
|
OPENOCD_OPTS = [
|
|
"-f",
|
|
"interface/stlink.cfg",
|
|
"-c",
|
|
"transport select hla_swd",
|
|
"-f",
|
|
"${FBT_DEBUG_DIR}/stm32wbx.cfg",
|
|
"-c",
|
|
"stm32wbx.cpu configure -rtos auto",
|
|
]
|
|
|
|
SVD_FILE = "${FBT_DEBUG_DIR}/STM32WB55_CM4.svd"
|
|
|
|
# Look for blackmagic probe on serial ports and local network
|
|
BLACKMAGIC = "auto"
|
|
|
|
# Application to start on boot
|
|
LOADER_AUTOSTART = ""
|
|
|
|
FIRMWARE_APPS = {
|
|
"default": [
|
|
# Svc
|
|
"basic_services",
|
|
# Apps
|
|
"main_apps",
|
|
"system_apps",
|
|
# Settings
|
|
"settings_apps",
|
|
],
|
|
"unit_tests": [
|
|
"basic_services",
|
|
"updater_app",
|
|
"radio_device_cc1101_ext",
|
|
"unit_tests",
|
|
"js_app",
|
|
],
|
|
}
|
|
|
|
FIRMWARE_APP_SET = "default"
|
|
|
|
custom_options_fn = "fbt_options_local.py"
|
|
|
|
if Path(custom_options_fn).exists():
|
|
exec(compile(Path(custom_options_fn).read_text(), custom_options_fn, "exec"))
|