summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHa Thach <[email protected]>2023-12-12 13:05:08 +0700
committerGitHub <[email protected]>2023-12-12 13:05:08 +0700
commitb6ad70bad9779e1191c3089c72136432ba80a942 (patch)
tree1c01df8c38f1023ef9936898993da6f31edc678d
parent24c5e6ab451a002d2e9a86a39acc11476250d1a5 (diff)
parentf986f1f22df05f1e930f95c456c0a2a9aeddf5c7 (diff)
Merge pull request #2371 from hathach/hil-add-nrf52840
add nrf52840 to hard in the loop pool
-rw-r--r--.github/workflows/build_esp.yml8
-rw-r--r--.github/workflows/cmake_arm.yml24
-rw-r--r--hw/bsp/nrf/family.c16
-rw-r--r--test/hil/hil_pi4.json7
4 files changed, 52 insertions, 3 deletions
diff --git a/.github/workflows/build_esp.yml b/.github/workflows/build_esp.yml
index fded0e85d..51df644a5 100644
--- a/.github/workflows/build_esp.yml
+++ b/.github/workflows/build_esp.yml
@@ -95,3 +95,11 @@ jobs:
- name: Test on actual hardware
run: |
python3 test/hil/hil_test.py --board ${{ matrix.board }} hil_pi4.json
+
+ - name: Reset USB bus
+ run: |
+ for port in $(lspci | grep USB | cut -d' ' -f1); do
+ echo -n "0000:${port}"| sudo tee /sys/bus/pci/drivers/xhci_hcd/unbind;
+ sleep 1;
+ echo -n "0000:${port}" | sudo tee /sys/bus/pci/drivers/xhci_hcd/bind;
+ done
diff --git a/.github/workflows/cmake_arm.yml b/.github/workflows/cmake_arm.yml
index 535244c47..f760ca3ca 100644
--- a/.github/workflows/cmake_arm.yml
+++ b/.github/workflows/cmake_arm.yml
@@ -86,14 +86,23 @@ jobs:
# for rp2040, there is no harm if defined for other families
PICO_SDK_PATH: ${{ github.workspace }}/pico-sdk
- - name: Upload Artifacts for Hardware Testing
- if: contains(matrix.family,'rp2040') && github.repository_owner == 'hathach'
+ - name: Upload Artifacts for Hardware Testing (rp2040)
+ if: matrix.family == 'rp2040' && github.repository_owner == 'hathach'
uses: actions/upload-artifact@v3
with:
name: raspberry_pi_pico
path: |
cmake-build/cmake-build-raspberry_pi_pico/*/*/*.elf
+ - name: Upload Artifacts for Hardware Testing (nRF)
+ if: matrix.family == 'nrf' && github.repository_owner == 'hathach'
+ uses: actions/upload-artifact@v3
+ with:
+ name: feather_nrf52840_express
+ path: |
+ cmake-build/cmake-build-feather_nrf52840_express/*/*/*.elf
+
+
# ---------------------------------------
# Hardware in the loop (HIL)
# Current self-hosted instance is running on an RPI4. For attached hardware checkout hil_pi4.json
@@ -102,12 +111,13 @@ jobs:
# run only with hathach's commit due to limited resource on RPI4
if: github.repository_owner == 'hathach'
needs: build-arm
- runs-on: [self-hosted, rp2040, hardware-in-the-loop]
+ runs-on: [self-hosted, rp2040, nrf52840, hardware-in-the-loop]
strategy:
fail-fast: false
matrix:
board:
- 'raspberry_pi_pico'
+ - 'feather_nrf52840_express'
steps:
- name: Clean workspace
run: |
@@ -129,3 +139,11 @@ jobs:
- name: Test on actual hardware
run: |
python3 test/hil/hil_test.py --board ${{ matrix.board }} hil_pi4.json
+
+ - name: Reset USB bus
+ run: |
+ for port in $(lspci | grep USB | cut -d' ' -f1); do
+ echo -n "0000:${port}"| sudo tee /sys/bus/pci/drivers/xhci_hcd/unbind;
+ sleep 1;
+ echo -n "0000:${port}" | sudo tee /sys/bus/pci/drivers/xhci_hcd/bind;
+ done
diff --git a/hw/bsp/nrf/family.c b/hw/bsp/nrf/family.c
index 6e0cd85c3..7a970f52e 100644
--- a/hw/bsp/nrf/family.c
+++ b/hw/bsp/nrf/family.c
@@ -203,6 +203,22 @@ uint32_t board_button_read(void) {
return BUTTON_STATE_ACTIVE == nrf_gpio_pin_read(BUTTON_PIN);
}
+size_t board_get_unique_id(uint8_t id[], size_t max_len) {
+ (void) max_len;
+
+#ifdef NRF5340_XXAA
+ uintptr_t did_addr = (uintptr_t) NRF_FICR->INFO.DEVICEID;
+#else
+ uintptr_t did_addr = (uintptr_t) NRF_FICR->DEVICEID;
+#endif
+
+ const uint8_t* device_id = (const uint8_t*) did_addr;
+ for(uint8_t i=0; i<8; i++) {
+ id[i] = device_id[i];
+ }
+ return 8;
+}
+
int board_uart_read(uint8_t* buf, int len) {
(void) buf;
(void) len;
diff --git a/test/hil/hil_pi4.json b/test/hil/hil_pi4.json
index e9a6721ea..560c3964e 100644
--- a/test/hil/hil_pi4.json
+++ b/test/hil/hil_pi4.json
@@ -16,6 +16,13 @@
"flasher": "esptool",
"flasher_sn": "461cb8d7decdeb119be9b506e93fd3f1",
"flasher_args": "-b 1500000"
+ },
+ {
+ "name": "feather_nrf52840_express",
+ "uid": "1F0479CD0F764471",
+ "flasher": "jlink",
+ "flasher_sn": "000682804350",
+ "flasher_args": "-device nrf52840_xxaa"
}
]
}