From 2cd9a989fe6483e392f3e9dd9b0807c3129b3efa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Niccol=C3=B2=20Izzo?= Date: Fri, 1 Jan 2021 19:08:35 +0100 Subject: [PATCH] Integrate OpenGD77 wrapping and flashing tools into meson --- meson.build | 46 ++++++++++++++++++++++++++++++++++------------ 1 file changed, 34 insertions(+), 12 deletions(-) diff --git a/meson.build b/meson.build index 43a4fa30..f43b5405 100644 --- a/meson.build +++ b/meson.build @@ -416,6 +416,8 @@ targets = [ objcopy = find_program('objcopy', required:false, disabler:true) radio_tool = find_program('radio_tool', required:false, disabler:true) +bin2sgl = find_program('bin2sgl.Linux', required:false, disabler:true) +gd77_loader = find_program('gd-77_firmware_loader.py', required:false, disabler:true) foreach t : targets @@ -429,18 +431,38 @@ foreach t : targets input : exe, command : [objcopy, '-O', 'binary', '@INPUT@', '@OUTPUT@']) - wrap = custom_target(name+'_wrap', - output : name+'_wrap', - input : bin, - command : [radio_tool, - '--wrap', - '-o', '@OUTPUT@', - '-r', t['wrap'], - '-s', t['load_addr']+':@INPUT@']) + # Handle GD77 custom wrapping and flashing tools + if name == 'openrtx_gd77' + + wrap = custom_target(name+'_wrap', + output : name+'_wrap', + input : bin, + command : [bin2sgl, + '-f', '@INPUT@', + '&&', 'mv', '@INPUT@.sgl', '@OUTPUT@.sgl']) + + custom_target(name+'_flash', + input : wrap, + output : name+'_flash', + command : [gd77_loader, '-f', '@INPUT@.sgl']) + + else + + wrap = custom_target(name+'_wrap', + output : name+'_wrap', + input : bin, + command : [radio_tool, + '--wrap', + '-o', '@OUTPUT@', + '-r', t['wrap'], + '-s', t['load_addr']+':@INPUT@']) + + custom_target(name+'_flash', + input : wrap, + output : name+'_flash', + command : [radio_tool, '-d', '0', '-f', '-i', '@INPUT@']) + + endif - custom_target(name+'_flash', - input : wrap, - output : name+'_flash', - command : [radio_tool, '-d', '0', '-f', '-i', '@INPUT@']) endif endforeach