ardupilot/Tools/scripts/create_OEM_board.py

33 lines
1.1 KiB
Python
Executable File

#!/usr/bin/env python
"""
script to automatically create a copy of a board for an OEM setup
usage example : ./Tools/scripts/create_OEM_board.py mRoPixracerPro mRoPixracerPro-MyCompany
AP_FLAKE8_CLEAN
"""
import sys
import os
import subprocess
import pathlib
board_name = sys.argv[1]
oem_board_name = sys.argv[2]
# directory creation
if not os.path.exists("libraries/AP_HAL_ChibiOS/hwdef/%s" % oem_board_name):
subprocess.run(["mkdir", "libraries/AP_HAL_ChibiOS/hwdef/%s" % oem_board_name])
# create files and add reference to originals
f = open("libraries/AP_HAL_ChibiOS/hwdef/%s/hwdef.dat" % oem_board_name, "x")
f.write("include ../%s/hwdef.dat\n" % board_name)
f.close()
f = open("libraries/AP_HAL_ChibiOS/hwdef/%s/hwdef-bl.dat" % oem_board_name, "x")
f.write("include ../%s/hwdef-bl.dat\n" % board_name)
f.close()
if os.path.exists("libraries/AP_HAL_ChibiOS/hwdef/%s/defaults.parm" % board_name):
path = pathlib.Path(f"libraries/AP_HAL_ChibiOS/hwdef/{oem_board_name}/defaults.parm")
path.write_text(f"@include ../{board_name}/defaults.parm\n") # noqa