|
|
|
@ -72,6 +72,24 @@ class px4_copy(Task.Task):
@@ -72,6 +72,24 @@ class px4_copy(Task.Task):
|
|
|
|
|
def __str__(self): |
|
|
|
|
return self.outputs[0].path_from(self.generator.bld.bldnode) |
|
|
|
|
|
|
|
|
|
class create_abin(Task.Task): |
|
|
|
|
'''create an abin file - used for uploading to a skyviper''' |
|
|
|
|
color = 'CYAN' |
|
|
|
|
|
|
|
|
|
def run(self): |
|
|
|
|
from subprocess import call |
|
|
|
|
elf_name = self.inputs[0].abspath() |
|
|
|
|
bin_name = elf_name + ".bin" |
|
|
|
|
abin_name = self.outputs[0].abspath() |
|
|
|
|
call(['arm-none-eabi-objcopy', '-Obinary', elf_name, bin_name]) |
|
|
|
|
call(['Tools/scripts/make_abin.sh', bin_name, abin_name]) |
|
|
|
|
|
|
|
|
|
def keyword(self): |
|
|
|
|
return "Creating abin for %s to" % self.inputs[0].name |
|
|
|
|
|
|
|
|
|
def __str__(self): |
|
|
|
|
return self.outputs[0].path_from(self.generator.bld.bldnode) |
|
|
|
|
|
|
|
|
|
class px4_add_git_hashes(Task.Task): |
|
|
|
|
run_str = '${PYTHON} ${PX4_ADD_GIT_HASHES} --ardupilot ${PX4_APM_ROOT} --px4 ${PX4_ROOT} --nuttx ${PX4_NUTTX_ROOT} ${SRC} ${TGT}' |
|
|
|
|
color = 'CYAN' |
|
|
|
@ -159,6 +177,11 @@ def px4_firmware(self):
@@ -159,6 +177,11 @@ def px4_firmware(self):
|
|
|
|
|
cp_elf.set_run_after(fw_task) |
|
|
|
|
_firmware_semaphorish_tasks.append(cp_elf) |
|
|
|
|
|
|
|
|
|
if self.env.BUILD_ABIN: |
|
|
|
|
fw_abin_dest = self.bld.bldnode.make_node(os.path.join(self.program_dir, self.program_name + '.abin')) |
|
|
|
|
create_abin = self.create_task('create_abin', fw_elf, fw_abin_dest) |
|
|
|
|
create_abin.set_run_after(fw_task) |
|
|
|
|
|
|
|
|
|
self.build_summary = dict( |
|
|
|
|
target=self.name, |
|
|
|
|
binary=fw_elf_dest.path_from(self.bld.bldnode), |
|
|
|
|