mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-10-03 07:28:54 +08:00
feat: configurable board pwm freq from Kconfig (#24787)
* feat: configurable board pwm freq from Kconfig * feat: add board_pwm_config to submenu * fix: define sequence correction * fix: revert Tools/simulation/gz * fix: track upstream gz * fix: track upstream mavlink * feat: adjustable pwm for multiple board types * feat: add conditional check for CONFIG_ for correct fallback * add: spacecraft board with correct BOARD_PWM_FREQ supporting 10Hz actuation rate * fix: set dependencies for submenu arch chips * fix: keep only upper arch level * fix: proper checking - still not showing up for board config * feat: add hidden kconfig for platforms * Merge Nuttx config into px4board Allows to expose nuttx into PX4 if needed * Kconfig: Include nuttx symbols in updateconfig Only if applicable i.e. defined in the kconfig * fix: merged config with previously generated boardconfig * doc: updated code comment --------- Co-authored-by: Daniel Agar <daniel@agar.ca> Co-authored-by: Peter van der Perk <peter.vanderperk@nxp.com>
This commit is contained in:
co-authored by
Daniel Agar
Peter van der Perk
parent
8b2c0b4250
commit
6474e5d7c1
@@ -101,7 +101,6 @@ def main(kconfig_file, config1, config2):
|
||||
# load_config() and write_config() returns a message to print.
|
||||
print(kconf.load_config(config1, replace=False))
|
||||
print(kconf.load_config(config2, replace=False))
|
||||
|
||||
# Modification for PX4 unset all symbols (INT,HEX etc) from 2nd config
|
||||
|
||||
f = open(config2, 'r')
|
||||
@@ -113,13 +112,16 @@ def main(kconfig_file, config1, config2):
|
||||
#pprint.pprint(line)
|
||||
if match is not None:
|
||||
sym_name = match.group(1)
|
||||
kconf.syms[sym_name].unset_value()
|
||||
try:
|
||||
kconf.syms[sym_name].unset_value()
|
||||
|
||||
if kconf.syms[sym_name].type is BOOL:
|
||||
for default, cond in kconf.syms[sym_name].orig_defaults:
|
||||
if(cond.str_value == 'y'):
|
||||
# Default is y, our diff is unset thus we've set it to no
|
||||
kconf.syms[sym_name].set_value(0)
|
||||
if kconf.syms[sym_name].type is BOOL:
|
||||
for default, cond in kconf.syms[sym_name].orig_defaults:
|
||||
if(cond.str_value == 'y'):
|
||||
# Default is y, our diff is unset thus we've set it to no
|
||||
kconf.syms[sym_name].set_value(0)
|
||||
except KeyError:
|
||||
pass
|
||||
|
||||
f.close()
|
||||
|
||||
|
||||
@@ -41,6 +41,7 @@ import glob
|
||||
import kconfiglib
|
||||
import tempfile
|
||||
import sys
|
||||
from pathlib import Path
|
||||
|
||||
import diffconfig
|
||||
import merge_config
|
||||
@@ -52,6 +53,14 @@ for name in glob.glob(px4_dir + '/boards/*/*/default.px4board'):
|
||||
kconf.load_config(name)
|
||||
print(kconf.write_min_config(name))
|
||||
|
||||
board_path = Path(name)
|
||||
defconfig_path = board_path.parent / "nuttx-config" / "nsh" / "defconfig"
|
||||
|
||||
if os.path.exists(defconfig_path):
|
||||
# Merge NuttX with default config
|
||||
kconf = merge_config.main(px4_dir + "/Kconfig", name, defconfig_path)
|
||||
print(kconf.write_min_config(name))
|
||||
|
||||
for name in glob.glob(px4_dir + '/boards/*/*/bootloader.px4board'):
|
||||
kconf = kconfiglib.Kconfig()
|
||||
kconf.load_config(name)
|
||||
|
||||
Reference in New Issue
Block a user