mirror of
https://github.com/ArduPilot/ardupilot
synced 2025-01-05 07:28:29 -04:00
build: px4: pass px4io name directly
This commit is contained in:
parent
da297d2028
commit
1a58d3c447
@ -421,7 +421,7 @@ class px4(Board):
|
|||||||
self.version = None
|
self.version = None
|
||||||
self.bootloader_name = None
|
self.bootloader_name = None
|
||||||
self.board_name = None
|
self.board_name = None
|
||||||
self.use_px4io = True
|
self.px4io_name = None
|
||||||
self.ROMFS_EXCLUDE = []
|
self.ROMFS_EXCLUDE = []
|
||||||
|
|
||||||
def configure(self, cfg):
|
def configure(self, cfg):
|
||||||
@ -466,7 +466,7 @@ class px4(Board):
|
|||||||
env.PX4_VERSION = self.version
|
env.PX4_VERSION = self.version
|
||||||
env.PX4_BOOTLOADER_NAME = self.bootloader_name
|
env.PX4_BOOTLOADER_NAME = self.bootloader_name
|
||||||
env.PX4_BOARD_NAME = self.board_name
|
env.PX4_BOARD_NAME = self.board_name
|
||||||
env.PX4_USE_PX4IO = True if self.use_px4io else False
|
env.PX4_PX4IO_NAME = self.px4io_name
|
||||||
|
|
||||||
env.AP_PROGRAM_AS_STLIB = True
|
env.AP_PROGRAM_AS_STLIB = True
|
||||||
|
|
||||||
@ -486,6 +486,7 @@ class px4_v1(px4):
|
|||||||
self.version = '1'
|
self.version = '1'
|
||||||
self.bootloader_name = 'px4fmu_bl.bin'
|
self.bootloader_name = 'px4fmu_bl.bin'
|
||||||
self.board_name = 'px4fmu-v1'
|
self.board_name = 'px4fmu-v1'
|
||||||
|
self.px4io_name = 'px4io-v1'
|
||||||
self.romfs_exclude(['oreoled.bin'])
|
self.romfs_exclude(['oreoled.bin'])
|
||||||
|
|
||||||
class px4_v2(px4):
|
class px4_v2(px4):
|
||||||
@ -495,6 +496,7 @@ class px4_v2(px4):
|
|||||||
self.version = '2'
|
self.version = '2'
|
||||||
self.bootloader_name = 'px4fmuv2_bl.bin'
|
self.bootloader_name = 'px4fmuv2_bl.bin'
|
||||||
self.board_name = 'px4fmu-v2'
|
self.board_name = 'px4fmu-v2'
|
||||||
|
self.px4io_name = 'px4io-v2'
|
||||||
self.romfs_exclude(['oreoled.bin'])
|
self.romfs_exclude(['oreoled.bin'])
|
||||||
|
|
||||||
class px4_v3(px4):
|
class px4_v3(px4):
|
||||||
@ -504,6 +506,7 @@ class px4_v3(px4):
|
|||||||
self.version = '3'
|
self.version = '3'
|
||||||
self.bootloader_name = 'px4fmuv2_bl.bin'
|
self.bootloader_name = 'px4fmuv2_bl.bin'
|
||||||
self.board_name = 'px4fmu-v3'
|
self.board_name = 'px4fmu-v3'
|
||||||
|
self.px4io_name = 'px4io-v2'
|
||||||
|
|
||||||
class px4_v4(px4):
|
class px4_v4(px4):
|
||||||
name = 'px4-v4'
|
name = 'px4-v4'
|
||||||
@ -512,5 +515,4 @@ class px4_v4(px4):
|
|||||||
self.version = '4'
|
self.version = '4'
|
||||||
self.bootloader_name = 'px4fmuv4_bl.bin'
|
self.bootloader_name = 'px4fmuv4_bl.bin'
|
||||||
self.board_name = 'px4fmu-v4'
|
self.board_name = 'px4fmu-v4'
|
||||||
self.use_px4io = False
|
self.romfs_exclude(['oreoled.bin'])
|
||||||
self.romfs_exclude(['oreoled.bin', 'px4io.bin'])
|
|
||||||
|
@ -98,23 +98,18 @@ _upload_task = []
|
|||||||
@after_method('process_source')
|
@after_method('process_source')
|
||||||
def px4_firmware(self):
|
def px4_firmware(self):
|
||||||
global _cp_px4io, _firmware_semaphorish_tasks, _upload_task
|
global _cp_px4io, _firmware_semaphorish_tasks, _upload_task
|
||||||
version = self.env.get_flat('PX4_VERSION')
|
|
||||||
board_name = self.env.get_flat('PX4_BOARD_NAME')
|
board_name = self.env.get_flat('PX4_BOARD_NAME')
|
||||||
|
|
||||||
px4 = self.bld.cmake('px4')
|
px4 = self.bld.cmake('px4')
|
||||||
px4.vars['APM_PROGRAM_LIB'] = self.link_task.outputs[0].abspath()
|
px4.vars['APM_PROGRAM_LIB'] = self.link_task.outputs[0].abspath()
|
||||||
|
|
||||||
if self.env.PX4_USE_PX4IO and not _cp_px4io:
|
if self.env.PX4_PX4IO_NAME and not _cp_px4io:
|
||||||
px4io_task = self.create_cmake_build_task('px4', 'fw_io')
|
px4io_task = self.create_cmake_build_task('px4', 'fw_io')
|
||||||
if version == '3':
|
|
||||||
px4io_version = '2'
|
|
||||||
else:
|
|
||||||
px4io_version = version
|
|
||||||
px4io = px4io_task.cmake.bldnode.make_node(
|
px4io = px4io_task.cmake.bldnode.make_node(
|
||||||
'src/modules/px4iofirmware/px4io-v%s.bin' % px4io_version,
|
'src/modules/px4iofirmware/%s.bin' % self.env.PX4_PX4IO_NAME,
|
||||||
)
|
)
|
||||||
px4io_elf = px4.bldnode.make_node(
|
px4io_elf = px4.bldnode.make_node(
|
||||||
'src/modules/px4iofirmware/px4io-v%s' % px4io_version
|
'src/modules/px4iofirmware/%s' % self.env.PX4_PX4IO_NAME
|
||||||
)
|
)
|
||||||
px4io_task.set_outputs([px4io, px4io_elf])
|
px4io_task.set_outputs([px4io, px4io_elf])
|
||||||
|
|
||||||
@ -139,7 +134,7 @@ def px4_firmware(self):
|
|||||||
fw_task.set_run_after(t)
|
fw_task.set_run_after(t)
|
||||||
_firmware_semaphorish_tasks = []
|
_firmware_semaphorish_tasks = []
|
||||||
|
|
||||||
if self.env.PX4_USE_PX4IO and _cp_px4io.generator is self:
|
if self.env.PX4_PX4IO_NAME and _cp_px4io.generator is self:
|
||||||
fw_task.set_run_after(_cp_px4io)
|
fw_task.set_run_after(_cp_px4io)
|
||||||
|
|
||||||
firmware = px4.bldnode.make_node(
|
firmware = px4.bldnode.make_node(
|
||||||
@ -251,7 +246,7 @@ def configure(cfg):
|
|||||||
env.PX4_NUTTX_ROOT = srcpath('modules/PX4NuttX')
|
env.PX4_NUTTX_ROOT = srcpath('modules/PX4NuttX')
|
||||||
env.PX4_UAVCAN_ROOT = srcpath('modules/uavcan')
|
env.PX4_UAVCAN_ROOT = srcpath('modules/uavcan')
|
||||||
|
|
||||||
if env.PX4_USE_PX4IO:
|
if env.PX4_PX4IO_NAME:
|
||||||
env.PX4IO_ELF_DEST = 'px4-extra-files/px4io'
|
env.PX4IO_ELF_DEST = 'px4-extra-files/px4io'
|
||||||
|
|
||||||
nuttx_config='nuttx_%s_apm' % board_name
|
nuttx_config='nuttx_%s_apm' % board_name
|
||||||
@ -326,7 +321,7 @@ the same directory of their corresponding ELF files.
|
|||||||
You can use the option --upload to upload the firmware to the PX4 board if you
|
You can use the option --upload to upload the firmware to the PX4 board if you
|
||||||
have one connected.''')
|
have one connected.''')
|
||||||
|
|
||||||
if bld.env.PX4_USE_PX4IO:
|
if bld.env.PX4_PX4IO_NAME:
|
||||||
build_summary.text('')
|
build_summary.text('')
|
||||||
build_summary.text('PX4IO')
|
build_summary.text('PX4IO')
|
||||||
summary_data_list = bld.size_summary([bld.env.PX4IO_ELF_DEST])
|
summary_data_list = bld.size_summary([bld.env.PX4IO_ELF_DEST])
|
||||||
|
Loading…
Reference in New Issue
Block a user