updates for invoke
This commit is contained in:
parent
88222b2dbe
commit
4368a334cc
@ -12,6 +12,7 @@ command -nargs=1 -complete=dir DigiFalc call s:ProjectSet('digifalc', '<args>')
|
|||||||
command -nargs=1 -complete=dir ServoBoard call s:ProjectSet('servoboard', '<args>')
|
command -nargs=1 -complete=dir ServoBoard call s:ProjectSet('servoboard', '<args>')
|
||||||
command -nargs=1 -complete=dir DlMotor call s:ProjectSet('dl-motor', '<args>')
|
command -nargs=1 -complete=dir DlMotor call s:ProjectSet('dl-motor', '<args>')
|
||||||
command -nargs=1 -complete=dir Pfd call s:ProjectSet('pfd', '<args>')
|
command -nargs=1 -complete=dir Pfd call s:ProjectSet('pfd', '<args>')
|
||||||
|
command -nargs=1 -complete=dir Tiny call s:ProjectSet('tiny', '<args>')
|
||||||
command -nargs=1 -complete=dir OperationPanelF1 call s:ProjectSet('operation-panel-f1', '<args>')
|
command -nargs=1 -complete=dir OperationPanelF1 call s:ProjectSet('operation-panel-f1', '<args>')
|
||||||
command -nargs=1 -complete=dir OperationPanelF4 call s:ProjectSet('operation-panel-f4', '<args>')
|
command -nargs=1 -complete=dir OperationPanelF4 call s:ProjectSet('operation-panel-f4', '<args>')
|
||||||
command -nargs=1 -complete=dir DeCoF call s:ProjectSet('decof', '<args>')
|
command -nargs=1 -complete=dir DeCoF call s:ProjectSet('decof', '<args>')
|
||||||
@ -22,6 +23,7 @@ let s:path_orig = $PATH
|
|||||||
set titlestring=
|
set titlestring=
|
||||||
|
|
||||||
function! s:ProjectSet(project_type, project_base_dir)
|
function! s:ProjectSet(project_type, project_base_dir)
|
||||||
|
execute "DirenvExport"
|
||||||
let g:project_type = a:project_type
|
let g:project_type = a:project_type
|
||||||
let g:jenkins_url = 'http://jenkins.toptica.com'
|
let g:jenkins_url = 'http://jenkins.toptica.com'
|
||||||
|
|
||||||
@ -72,6 +74,9 @@ function! s:ProjectSet(project_type, project_base_dir)
|
|||||||
let g:ProjectSrcDirRel = 'src'
|
let g:ProjectSrcDirRel = 'src'
|
||||||
let s:ProjectSrcDir = s:ProjectBaseDir.'/'.g:ProjectSrcDirRel
|
let s:ProjectSrcDir = s:ProjectBaseDir.'/'.g:ProjectSrcDirRel
|
||||||
|
|
||||||
|
" Direnv
|
||||||
|
let $DIRENV_DIR = s:ProjectBaseDir
|
||||||
|
|
||||||
function! g:Compiler_version()
|
function! g:Compiler_version()
|
||||||
if exists('g:ProjectBuildDir')
|
if exists('g:ProjectBuildDir')
|
||||||
let cmakefile = g:ProjectBuildDir . '/CMakeCache.txt'
|
let cmakefile = g:ProjectBuildDir . '/CMakeCache.txt'
|
||||||
@ -92,11 +97,15 @@ function! s:ProjectSet(project_type, project_base_dir)
|
|||||||
execute 'cd '.s:ProjectSrcDir
|
execute 'cd '.s:ProjectSrcDir
|
||||||
execute 'set path-=./**'
|
execute 'set path-=./**'
|
||||||
execute 'set path+=' . s:ProjectSrcDir.'/**'
|
execute 'set path+=' . s:ProjectSrcDir.'/**'
|
||||||
" execute 'set path+=' . g:ProjectBuildDir.'/**'
|
|
||||||
|
|
||||||
let s:invoke_options = '' " used for --project=...
|
let s:invoke_options = '' " used for --project=...
|
||||||
|
|
||||||
if (g:project_type == 'dlcpro-new') || (g:project_type == 'dlcpro')
|
if (count(['pfd', 'tiny'], g:project_type) > 0)
|
||||||
|
let g:ProjectBuildDir = s:ProjectSrcDir.'/.build/target/firmware/Debug'
|
||||||
|
let g:DebugRemote = v:true
|
||||||
|
let g:termdebugger = 'arm-none-eabi-gdb'
|
||||||
|
let s:gdb_connect_script = g:ProjectBuildDir.'/gdbinit'
|
||||||
|
elseif (count(['dlcpro', 'dlcpro-new'], g:project_type) > 0)
|
||||||
let s:invoke_options = ' --project='.g:project_type
|
let s:invoke_options = ' --project='.g:project_type
|
||||||
set wildignore-=**/firmware/src/device-control/**
|
set wildignore-=**/firmware/src/device-control/**
|
||||||
set wildignore+=**/shg-firmware/**
|
set wildignore+=**/shg-firmware/**
|
||||||
@ -104,12 +113,18 @@ function! s:ProjectSet(project_type, project_base_dir)
|
|||||||
let g:DeviceIP = 'dlc_pro__040083'
|
let g:DeviceIP = 'dlc_pro__040083'
|
||||||
let g:DebugRemote = v:true
|
let g:DebugRemote = v:true
|
||||||
let g:ProjectBuildDir = s:ProjectSrcDir.'/.build/'.g:project_type
|
let g:ProjectBuildDir = s:ProjectSrcDir.'/.build/'.g:project_type
|
||||||
|
if (g:project_type == 'dlcpro-new')
|
||||||
|
let s:firware_file_name = 'DLCpro-archive-SSW7.fw'
|
||||||
|
else
|
||||||
|
let s:firware_file_name = 'DLCpro-archive.fw'
|
||||||
|
endif
|
||||||
" if (g:project_type == 'dlcpro-new')
|
" if (g:project_type == 'dlcpro-new')
|
||||||
let g:termdebugger = 'arm-v7a-linux-gnueabihf-gdb' " FIXME: get from ???
|
let g:termdebugger = 'arm-v7a-linux-gnueabihf-gdb' " FIXME: get from ???
|
||||||
" else
|
" else
|
||||||
" let g:termdebugger = 'arm-cortexa8-linux-gnueabi-gdb' " FIXME: get from ???
|
" let g:termdebugger = 'arm-cortexa8-linux-gnueabi-gdb' " FIXME: get from ???
|
||||||
" endif
|
" endif
|
||||||
let s:gdb_connect_script = g:ProjectBuildDir.'/gdb-connect.txt'
|
let s:gdb_connect_script = g:ProjectBuildDir.'/gdbinit'
|
||||||
|
command! DlcProGuiStart execute("!~/dlcpro/pc-gui/start-gui&")
|
||||||
elseif ((g:project_type == 'dlcpro-tui') || (g:project_type == 'dlcpro-tui-simulator'))
|
elseif ((g:project_type == 'dlcpro-tui') || (g:project_type == 'dlcpro-tui-simulator'))
|
||||||
let s:Program = '/user-interface/src/user-interface'
|
let s:Program = '/user-interface/src/user-interface'
|
||||||
let s:Elffile = s:Program
|
let s:Elffile = s:Program
|
||||||
@ -151,11 +166,18 @@ function! s:ProjectSet(project_type, project_base_dir)
|
|||||||
let s:Elffile = s:Program
|
let s:Elffile = s:Program
|
||||||
let g:termdebugger = 'gdb'
|
let g:termdebugger = 'gdb'
|
||||||
let g:DebugRemote = v:false
|
let g:DebugRemote = v:false
|
||||||
|
command! DlcProGuiStart execute("!~/dlcpro/pc-gui/start-gui&")
|
||||||
elseif (g:project_type == 'topmode')
|
elseif (g:project_type == 'topmode')
|
||||||
|
let g:ProjectBuildDir = s:ProjectSrcDir.'/.build/'
|
||||||
let g:DeviceIP = 'topmode_stefan'
|
let g:DeviceIP = 'topmode_stefan'
|
||||||
let g:DebugRemote = v:true
|
let g:DebugRemote = v:true
|
||||||
|
let g:termdebugger = 'arm-v7a-linux-gnueabihf-gdb' " FIXME: get from ???
|
||||||
|
let s:gdb_connect_script = g:ProjectBuildDir.'/gdbinit'
|
||||||
|
let s:firware_file_name = 'TopMode-CHARM-Control-1.5.4-dev.fw'
|
||||||
|
command! TopmodeGuiStart execute("!~/topmode/pc-gui/start-gui&")
|
||||||
elseif (g:project_type == 'topmode-gui')
|
elseif (g:project_type == 'topmode-gui')
|
||||||
let g:DebugRemote = v:false
|
let g:DebugRemote = v:false
|
||||||
|
command! TopmodeGuiStart execute("!~/topmode/pc-gui/start-gui&")
|
||||||
elseif (g:project_type == 'digifalc')
|
elseif (g:project_type == 'digifalc')
|
||||||
let s:Program = '/digifalc-image.bin'
|
let s:Program = '/digifalc-image.bin'
|
||||||
let s:Elffile = '/application/digifalc.elf'
|
let s:Elffile = '/application/digifalc.elf'
|
||||||
@ -171,13 +193,6 @@ function! s:ProjectSet(project_type, project_base_dir)
|
|||||||
let s:Elffile = '/application/dl-motor.elf'
|
let s:Elffile = '/application/dl-motor.elf'
|
||||||
let g:DebugRemote = v:true
|
let g:DebugRemote = v:true
|
||||||
let g:termdebugger = 'arm-none-eabi-gdb'
|
let g:termdebugger = 'arm-none-eabi-gdb'
|
||||||
elseif (g:project_type == 'pfd')
|
|
||||||
let g:ProjectBuildDir = s:ProjectSrcDir.'/.build/target/firmware/Debug'
|
|
||||||
let s:Program = '/pfd-firmware.bin'
|
|
||||||
let s:Elffile = '/pfd-firmware.elf'
|
|
||||||
let g:DebugRemote = v:true
|
|
||||||
let g:termdebugger = 'arm-none-eabi-gdb'
|
|
||||||
let s:gdb_connect_script = g:ProjectBuildDir.'/gdb-connect.txt'
|
|
||||||
elseif (g:project_type == 'operation-panel-f1')
|
elseif (g:project_type == 'operation-panel-f1')
|
||||||
let g:stm32_target = 'STM32F10X'
|
let g:stm32_target = 'STM32F10X'
|
||||||
let s:Program = '/firmware/operation_panel_'.g:stm32_target.'.bin'
|
let s:Program = '/firmware/operation_panel_'.g:stm32_target.'.bin'
|
||||||
@ -297,23 +312,26 @@ function! s:Make(args, async_mode)
|
|||||||
let l:makeprg = s:invoke.' -e'
|
let l:makeprg = s:invoke.' -e'
|
||||||
let l:args = a:args
|
let l:args = a:args
|
||||||
if l:args == ''
|
if l:args == ''
|
||||||
let l:args = 'build' " default
|
let l:args = 'build' " needed for --project
|
||||||
endif
|
endif
|
||||||
|
|
||||||
let task = split(l:args)[0]
|
let task = split(l:args)[0]
|
||||||
let options = system(s:invoke.' --complete -- '.task.' -')
|
let options = system(s:invoke.' --complete -- '.task.' -')
|
||||||
|
|
||||||
" Add --project if necessary
|
" Add --project if necessary
|
||||||
|
" if '--project' =~ options && '--project' !~ l:args
|
||||||
if options =~ '--project' && '--project' !~ l:args
|
if options =~ '--project' && '--project' !~ l:args
|
||||||
let l:args .= ' --project='.g:project_type
|
let l:args .= ' --project='.g:project_type
|
||||||
endif
|
endif
|
||||||
" Add --device-ip if necessary
|
" Add --device-ip if necessary
|
||||||
|
" if '--device-ip' =~ options && '--device-ip' !~ l:args
|
||||||
if options =~ '--device-ip' && '--device-ip' !~ l:args
|
if options =~ '--device-ip' && '--device-ip' !~ l:args
|
||||||
let l:args .= ' --device-ip='.g:DeviceIP
|
let l:args .= ' --device-ip='.g:DeviceIP
|
||||||
endif
|
endif
|
||||||
" Add --config=Debug
|
" Add --build-type=Debug
|
||||||
if options =~ '--config' && '--config' !~ l:args
|
" if '--build-type' =~ options && '--build-type' !~ l:args
|
||||||
let l:args .= ' --config=Debug'
|
if options =~ '--build-type' && '--build-type' !~ l:args
|
||||||
|
let l:args .= ' --build-type=Debug'
|
||||||
endif
|
endif
|
||||||
|
|
||||||
let &makeprg = l:makeprg
|
let &makeprg = l:makeprg
|
||||||
@ -390,47 +408,78 @@ endfunction
|
|||||||
" ================
|
" ================
|
||||||
" Regression Tests
|
" Regression Tests
|
||||||
" ================
|
" ================
|
||||||
" function! g:DlcproRegtestCmd(arguments)
|
|
||||||
" return s:DlcproRegtestCmd('', '', '0', '1', '', '--capture=no', a:arguments)
|
|
||||||
" endfunction
|
|
||||||
" function! g:DlcproRegtestDlProCmd(arguments)
|
|
||||||
" return s:DlcproRegtestCmd('dlc_pro_proto_050003', 'elab-dlcpro2', '2', '1', 'DLpro', '', a:arguments)
|
|
||||||
" endfunction
|
|
||||||
" function! g:DlcproRegtestTaProCmd(arguments)
|
|
||||||
" return s:DlcproRegtestCmd('dlc_pro_045396', 'elab-dlcpro2', '3', '1', 'TApro', '-m "not usb and not usbstick"', a:arguments)
|
|
||||||
" endfunction
|
|
||||||
" function! g:DlcproRegtestCtlCmd(arguments)
|
|
||||||
" return s:DlcproRegtestCmd('dlc_pro__040120', 'elab-dlcpro2', '1', '1', 'CTL', '-m "not usb and not usbstick"', a:arguments)
|
|
||||||
" endfunction
|
|
||||||
" function! g:DlcproRegtestDualDlCmd(arguments)
|
|
||||||
" return s:DlcproRegtestCmd('dlc_pro_041299', 'elab-dlcpro2', '4', '2', 'DLpro', '-m "not usb and not usbstick"', a:arguments)
|
|
||||||
" endfunction
|
|
||||||
" function! g:DlcproRegtestDualDl1Cmd(arguments)
|
|
||||||
" return s:DlcproRegtestCmd('dlc_pro_041299', 'elab-dlcpro2', '4', '1', 'DLpro', '-m "not usb and not usbstick"', a:arguments)
|
|
||||||
" endfunction
|
|
||||||
" function! g:DlcproRegtestShgProCmd(arguments)
|
|
||||||
" return s:DlcproRegtestCmd('dlc_pro_041355', 'elab-dlcpro2', '7', '1', 'TA-SHGpro', '-m "not usb and not usbstick"', a:arguments)
|
|
||||||
" endfunction
|
|
||||||
|
|
||||||
command -nargs=1 -complete=file DlcproRegtest call s:DlcproRegtest('<args>')
|
command -nargs=1 -complete=file DlcproRegtest call s:DlcproRegtest(g:DeviceIP, 'DL-CBCpro', g:DlcproRegtest_marks, '<args>')
|
||||||
|
command -nargs=? -complete=file DlcproRegtestDL call s:DlcproRegtest('dl', 'DLpro', '', '<args>')
|
||||||
|
command -nargs=? -complete=file DlcproRegtestCTL call s:DlcproRegtest('ctl', 'CTL', '', '<args>')
|
||||||
|
command -nargs=? -complete=file DlcproRegtestSHG call s:DlcproRegtest('shg', 'TA-SHGpro', '', '<args>')
|
||||||
|
command -nargs=? -complete=file DlcproRegtestDual call s:DlcproRegtest('dual-dl', '', '', '<args>')
|
||||||
|
command -nargs=? -complete=file DlcproRegtestQuad call s:DlcproRegtest('quad-dl', 'DLpro', '', '<args>')
|
||||||
|
|
||||||
let g:DlcproRegtest_fast_restart = 1
|
let g:DlcproRegtest_fast_restart = 1
|
||||||
|
let g:DlcproRegtest_smoke = 1
|
||||||
|
let g:DlcproRegtest_fw_update = 0
|
||||||
let g:DlcproRegtest_marks = 'usb, usbstick, si, si1, servo_control, eom, cavity, cell_spectroscopy, falc, pfd, smc'
|
let g:DlcproRegtest_marks = 'usb, usbstick, si, si1, servo_control, eom, cavity, cell_spectroscopy, falc, pfd, smc'
|
||||||
|
|
||||||
function! s:DlcproRegtest(test_cmd)
|
function! s:DlcproRegtest(device_ip, laser1_type, marks, tests)
|
||||||
execute "wa"
|
execute "wa"
|
||||||
|
|
||||||
let regtest_cmd = s:invoke
|
let regtest_cmd = 'time'
|
||||||
|
\.' '.s:invoke
|
||||||
\.' -e'
|
\.' -e'
|
||||||
\.' regtest'
|
\.' regtest'
|
||||||
\.' --device-ip='.g:DeviceIP
|
\.' --device-ip='.a:device_ip
|
||||||
\.' --laser1-type=DL-CBCpro'
|
\.' --laser1-type='.a:laser1_type
|
||||||
let regtest_cmd .= ' --marks="'.g:DlcproRegtest_marks.'"'
|
|
||||||
|
let firmware_file = g:ProjectBuildDir.'/artifacts/'.s:firware_file_name
|
||||||
|
if filereadable(firmware_file)
|
||||||
|
let regtest_cmd .= ' --firmware-file='.firmware_file
|
||||||
|
\.' --version-file='.g:ProjectBuildDir.'/artifacts/VERSION'
|
||||||
|
endif
|
||||||
|
|
||||||
|
let regtest_cmd .= ' --marks="'.a:marks.'"'
|
||||||
if g:DlcproRegtest_fast_restart == 1
|
if g:DlcproRegtest_fast_restart == 1
|
||||||
let regtest_cmd .= ' --fast-restart'
|
let regtest_cmd .= ' --fast-restart'
|
||||||
endif
|
endif
|
||||||
if (a:test_cmd != "")
|
if g:DlcproRegtest_fw_update == 1
|
||||||
let regtest_cmd .= ' --tests="'.a:test_cmd.'"'
|
let regtest_cmd .= ' --do-fw-update'
|
||||||
|
endif
|
||||||
|
if g:DlcproRegtest_smoke == 1
|
||||||
|
let regtest_cmd .= ' --smoke'
|
||||||
|
endif
|
||||||
|
if (a:tests != "")
|
||||||
|
let regtest_cmd .= ' --tests="'.a:tests.'"'
|
||||||
|
endif
|
||||||
|
|
||||||
|
echo regtest_cmd
|
||||||
|
execute "terminal ++shell " . regtest_cmd
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
command -nargs=? -complete=file TopmodeRegtest call s:TopmodeRegtest('topmode_stefan', '', '<args>')
|
||||||
|
function! s:TopmodeRegtest(device_ip, marks, tests)
|
||||||
|
execute "wa"
|
||||||
|
|
||||||
|
let regtest_cmd = 'time'
|
||||||
|
\.' '.s:invoke
|
||||||
|
\.' -e'
|
||||||
|
\.' regtest'
|
||||||
|
\.' --device-ip='.a:device_ip
|
||||||
|
" \.' --do-fw-update'
|
||||||
|
" \.' --smoke'
|
||||||
|
|
||||||
|
let firmware_file = g:ProjectBuildDir.'/artifacts/'.s:firware_file_name
|
||||||
|
if filereadable(firmware_file)
|
||||||
|
let regtest_cmd .= ' --firmware-file='.firmware_file
|
||||||
|
endif
|
||||||
|
if g:DlcproRegtest_fw_update == 1
|
||||||
|
let regtest_cmd .= ' --do-fw-update'
|
||||||
|
endif
|
||||||
|
if g:DlcproRegtest_smoke == 1
|
||||||
|
let regtest_cmd .= ' --smoke'
|
||||||
|
endif
|
||||||
|
let regtest_cmd .= ' --marks="'.a:marks.'"'
|
||||||
|
if (a:tests != "")
|
||||||
|
let regtest_cmd .= ' --tests="'.a:tests.'"'
|
||||||
endif
|
endif
|
||||||
|
|
||||||
echo regtest_cmd
|
echo regtest_cmd
|
||||||
|
Loading…
x
Reference in New Issue
Block a user