aboutsummaryrefslogtreecommitdiffstats
path: root/.ci/templates
diff options
context:
space:
mode:
authorSteven Koo <steven.koo@ni.com>2022-06-20 10:47:18 -0500
committerskooNI <60897865+skooNI@users.noreply.github.com>2022-07-20 15:57:20 -0500
commit770711c40a482d1e87d75393dd3fe95d75efa379 (patch)
tree87e877dffdc4740c47904caa1118fa267b89f0c5 /.ci/templates
parenta3ca7796b75ab17df4980e76749dfaa3cf6ea110 (diff)
downloaduhd-770711c40a482d1e87d75393dd3fe95d75efa379.tar.gz
uhd-770711c40a482d1e87d75393dd3fe95d75efa379.tar.bz2
uhd-770711c40a482d1e87d75393dd3fe95d75efa379.zip
ci: add devtest e320 support
This commit adds devtest support for e320 via tftp. The e320 has a hardware incompatibility with sdmuxes that we use for the n3xx devices, which makes them unreliable. Instead this loads a small Linux OS into the e320 system memory and reimages the sd card from there. Signed-off-by: Steven Koo <steven.koo@ni.com>
Diffstat (limited to '.ci/templates')
-rw-r--r--.ci/templates/job-uhd-devtest-rhombus.yml19
-rw-r--r--.ci/templates/job-uhd-devtest.yml41
-rw-r--r--.ci/templates/stages-uhd-pipeline.yml6
-rwxr-xr-x.ci/templates/tests/rhombus-labgrid/crossbar/places.yaml16
-rw-r--r--.ci/templates/tests/rhombus-labgrid/device-configs/rhombus-e320-0.yml14
-rwxr-xr-x.ci/templates/tests/rhombus-labgrid/exporter-conf/exporter.yaml13
6 files changed, 101 insertions, 8 deletions
diff --git a/.ci/templates/job-uhd-devtest-rhombus.yml b/.ci/templates/job-uhd-devtest-rhombus.yml
index 1395b0de0..3348e4fff 100644
--- a/.ci/templates/job-uhd-devtest-rhombus.yml
+++ b/.ci/templates/job-uhd-devtest-rhombus.yml
@@ -10,7 +10,7 @@ parameters:
default: current
- name: testDevices
type: string
- default: 'x3xx,b2xx,n3xx'
+ default: 'x3xx,b2xx,n3xx,e320'
jobs:
- template: job-uhd-devtest.yml
@@ -136,3 +136,20 @@ jobs:
devtestPattern: 'n3x0'
devSDImage: gnuradio-image-ni-sulfur-rev11-mender.sdimg.bz2
devLabgridConfig: .ci/templates/tests/rhombus-labgrid/device-configs/rhombus-n321-0.yml
+
+ ${{ if contains(parameters.testDevices, 'e320') }}:
+ rhombus-e320-0:
+ devAgent: rhombus-e320-0
+ devType: 'e3xx'
+ devModel: 'e320'
+ devName: rhombus-e320-0
+ devSerial: '31A8171'
+ devHostname: 'ni-e320-31a8171'
+ devBus: 'ip'
+ devAddr: '192.168.20.7'
+ sfpAddrs: '192.168.20.7'
+ devFpga: 'XG'
+ devtestPattern: 'e320'
+ devInitramfsImage: fitImage-manufacturing
+ devSDImage: gnuradio-image-ni-neon-rev2-mender.sdimg.bz2
+ devLabgridConfig: .ci/templates/tests/rhombus-labgrid/device-configs/rhombus-e320-0.yml
diff --git a/.ci/templates/job-uhd-devtest.yml b/.ci/templates/job-uhd-devtest.yml
index 2b284c7ab..3e095c5f3 100644
--- a/.ci/templates/job-uhd-devtest.yml
+++ b/.ci/templates/job-uhd-devtest.yml
@@ -67,18 +67,30 @@ jobs:
cleanDestinationFolder: true
- download: ${{ parameters.uhdArtifactSource }}
- artifact: $(devType)-images
+ artifact: n3xx-images
# Only sync the bz2 sdimg since the bmap
# is incompatible with mender
- patterns: '**/*.bz2'
+ patterns: |
+ **/*.bz2
+ fitImage-manufacturing
displayName: Download $(devType)-images artifact
condition: and(succeeded(), eq(variables.devType, 'n3xx'))
+ - download: ${{ parameters.uhdArtifactSource }}
+ artifact: e320-images
+ # Only sync the bz2 sdimg since the bmap
+ # is incompatible with mender
+ patterns: |
+ **/*.bz2
+ fitImage-manufacturing
+ displayName: Download $(devType)-images artifact
+ condition: and(succeeded(), eq(variables.devModel, 'e320'))
+
- script: |
cd $(Build.BinariesDirectory)/uhddev/build
mkdir -p fpga_images
rm -rf fpga_images/*
- python3 utils/uhd_images_downloader.py -t $(devModel) -i fpga_images \
+ python3 utils/uhd_images_downloader.py -t $(devModel)_fpga -i fpga_images \
-b $(sdr-fileserver)
if [ "$(devType)" = "b200" ]; then
python3 utils/uhd_images_downloader.py -t b2xx_common -i fpga_images \
@@ -93,7 +105,7 @@ jobs:
export LD_LIBRARY_PATH=$(Build.BinariesDirectory)/uhddev/build/lib:$LD_LIBRARY_PATH
export UHD_IMAGES_DIR=$(Build.BinariesDirectory)/uhddev/build/fpga_images
python3 ${{ parameters.uhdSrcDir }}/.ci/utils/mutex_hardware.py \
- --sdimage $(devType),$(devModel),$(uhd_artifact_directory)/$(devType)-images/$(devSDImage),${{ parameters.uhdSrcDir }}/$(devLabgridConfig),$(devHostname) \
+ --sdimage_sdmux $(devType),$(devModel),$(uhd_artifact_directory)/$(devType)-images/$(devSDImage),${{ parameters.uhdSrcDir }}/$(devLabgridConfig),$(devHostname) \
--fpgas $(devFpga) \
--sfp_addrs $(sfpAddrs) \
${{ parameters.redisHost }} $(devName) \
@@ -114,6 +126,27 @@ jobs:
export LD_LIBRARY_PATH=$(Build.BinariesDirectory)/uhddev/build/lib:$LD_LIBRARY_PATH
export UHD_IMAGES_DIR=$(Build.BinariesDirectory)/uhddev/build/fpga_images
python3 ${{ parameters.uhdSrcDir }}/.ci/utils/mutex_hardware.py \
+ --sdimage_tftp $(devType),$(devModel),$(uhd_artifact_directory)/e320-images/$(devSDImage),$(uhd_artifact_directory)/e320-images/$(devInitramfsImage),${{ parameters.uhdSrcDir }}/$(devLabgridConfig) \
+ --fpgas $(devFpga) \
+ --sfp_addrs $(sfpAddrs) \
+ ${{ parameters.redisHost }} $(devName) \
+ "$(Build.BinariesDirectory)/uhddev/build/utils/uhd_usrp_probe --args addr=$(devAddr)" \
+ "python3 ${{ parameters.uhdSrcDir }}/host/tests/devtest/run_testsuite.py \
+ --src-dir ${{ parameters.uhdSrcDir }}/host/tests/devtest \
+ --devtest-pattern $(devtestPattern) --args addr=$(devAddr),type=$(devType) \
+ --build-type Release --build-dir $(Build.BinariesDirectory)/uhddev/build \
+ --python-interp python3 --xml"
+ continueOnError: true
+ condition: and(succeeded(), eq(variables.devModel, 'e320'), eq(variables.devBus, 'ip'))
+ displayName: Run e320 devtest on $(devName)
+
+ - script: |
+ mkdir -p $(Common.TestResultsDirectory)/devtest
+ cd $(Common.TestResultsDirectory)/devtest
+ export PATH=$(Build.BinariesDirectory)/uhddev/build/utils:$(Build.BinariesDirectory)/uhddev/build/examples:$PATH
+ export LD_LIBRARY_PATH=$(Build.BinariesDirectory)/uhddev/build/lib:$LD_LIBRARY_PATH
+ export UHD_IMAGES_DIR=$(Build.BinariesDirectory)/uhddev/build/fpga_images
+ python3 ${{ parameters.uhdSrcDir }}/.ci/utils/mutex_hardware.py \
${{ parameters.redisHost }} $(devName) \
"$(Build.BinariesDirectory)/uhddev/build/utils/uhd_usrp_probe --args serial=$(devSerial)" \
"$(Build.BinariesDirectory)/uhddev/build/utils/uhd_image_loader --args serial=$(devSerial),type=$(devType)" \
diff --git a/.ci/templates/stages-uhd-pipeline.yml b/.ci/templates/stages-uhd-pipeline.yml
index 0b30012b4..a93ec5185 100644
--- a/.ci/templates/stages-uhd-pipeline.yml
+++ b/.ci/templates/stages-uhd-pipeline.yml
@@ -238,8 +238,8 @@ stages:
uhdSrcDir: $(Build.SourcesDirectory)
testDevices: 'x3xx,b2xx'
-- stage: devtest_uhd_n3xx_stage
- displayName: devtest UHD n3xx
+- stage: devtest_uhd_n3xx_e320_stage
+ displayName: devtest UHD n3xx e320
dependsOn:
- build_uhd_stage_linux
- build_uhd_embedded_system_images
@@ -248,7 +248,7 @@ stages:
parameters:
testOS: ubuntu2004
uhdSrcDir: $(Build.SourcesDirectory)
- testDevices: 'n3xx'
+ testDevices: 'n3xx,e320'
- stage: test_uhd_x4xx_stage
displayName: Test UHD x4xx
diff --git a/.ci/templates/tests/rhombus-labgrid/crossbar/places.yaml b/.ci/templates/tests/rhombus-labgrid/crossbar/places.yaml
index baf68bbd1..2fbf5052b 100755
--- a/.ci/templates/tests/rhombus-labgrid/crossbar/places.yaml
+++ b/.ci/templates/tests/rhombus-labgrid/crossbar/places.yaml
@@ -32,3 +32,19 @@ rhombus-n321-0:
reservation: null
tags: {}
+rhombus-e320-0:
+ acquired: null
+ acquired_resources: []
+ aliases: []
+ allowed: []
+ changed: 1654034475.1935894
+ comment: ''
+ created: 1654034136.0077882
+ matches:
+ - cls: '*'
+ exporter: '*'
+ group: rhombus-e320-0-group
+ name: null
+ rename: null
+ reservation: null
+ tags: {}
diff --git a/.ci/templates/tests/rhombus-labgrid/device-configs/rhombus-e320-0.yml b/.ci/templates/tests/rhombus-labgrid/device-configs/rhombus-e320-0.yml
new file mode 100644
index 000000000..e9c934817
--- /dev/null
+++ b/.ci/templates/tests/rhombus-labgrid/device-configs/rhombus-e320-0.yml
@@ -0,0 +1,14 @@
+targets:
+ main:
+ resources:
+ RemotePlace:
+ name: 'rhombus-e320-0'
+ drivers:
+ - SerialDriver:
+ name: 'linux_serial_driver'
+ bindings:
+ port: 'console-linux'
+ - SerialDriver:
+ name: 'scu_serial_driver'
+ bindings:
+ port: 'console-scu'
diff --git a/.ci/templates/tests/rhombus-labgrid/exporter-conf/exporter.yaml b/.ci/templates/tests/rhombus-labgrid/exporter-conf/exporter.yaml
index f13ebbe07..c15385aac 100755
--- a/.ci/templates/tests/rhombus-labgrid/exporter-conf/exporter.yaml
+++ b/.ci/templates/tests/rhombus-labgrid/exporter-conf/exporter.yaml
@@ -32,3 +32,16 @@ rhombus-n321-0-group:
match:
ID_SERIAL_SHORT: '000000001140'
+rhombus-e320-0-group:
+ console-scu:
+ cls: USBSerialPort
+ match:
+ ID_SERIAL: 'Silicon_Labs_CP2105_Dual_USB_to_UART_Bridge_Controller_0097841B'
+ ID_USB_INTERFACE_NUM: '00'
+ speed: 115200
+ console-linux:
+ cls: USBSerialPort
+ match:
+ ID_SERIAL: 'Silicon_Labs_CP2105_Dual_USB_to_UART_Bridge_Controller_0097841B'
+ ID_USB_INTERFACE_NUM: '01'
+ speed: 115200