commit
009eb764bd
|
@ -1,9 +1,9 @@
|
||||||
name: HITL
|
name: HITL
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
|
||||||
branches: [ hitl ]
|
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
pull_request:
|
||||||
|
branches: [ master ]
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
hitl:
|
hitl:
|
||||||
|
|
|
@ -0,0 +1,25 @@
|
||||||
|
# Stabilizer HITL Testing
|
||||||
|
|
||||||
|
This directory contains tooling required for Stabilizer hardware-in-the-loop (HITL) testing.
|
||||||
|
|
||||||
|
There is a `Stabilizer` board connected at the Quartiq office that is accessible via a private HITL
|
||||||
|
repository in order to provide secure hardware testing of the stabilizer application in a public
|
||||||
|
repository.
|
||||||
|
|
||||||
|
**Note**: In order to ensure application security, all HITL runs must first be approved by a Quartiq
|
||||||
|
representative before execution.
|
||||||
|
|
||||||
|
# Configuration
|
||||||
|
* Stabilizer is configured with an ethernet connection to a router. The router runs a DHCP server for
|
||||||
|
the local network, and ensures that the Stabilizer used for these tests is available under the hostname `stabilizer-hitl`.
|
||||||
|
* An MQTT broker is running at the hostname `mqtt`.
|
||||||
|
|
||||||
|
# HITL Workflow
|
||||||
|
The private HITL repository does the following:
|
||||||
|
|
||||||
|
1. Check out this repository
|
||||||
|
2. Build firmware images using Cargo
|
||||||
|
3. Program stabilizer
|
||||||
|
4. Execute `hitl/run.sh`
|
||||||
|
|
||||||
|
In order to add new HITL tests, update `run.sh` to include the necessary tests.
|
|
@ -0,0 +1,25 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Title:
|
||||||
|
# Stabilizer hardware-in-the-loop (HITL) test script.
|
||||||
|
#
|
||||||
|
# Description:
|
||||||
|
# This shell file is executed by the hardware runner in Quartiq's office to exercise the various
|
||||||
|
# hardware aspects of Stabilizer.
|
||||||
|
|
||||||
|
# Enable shell operating mode flags.
|
||||||
|
set -eux
|
||||||
|
|
||||||
|
# Set up python for testing
|
||||||
|
python3 -m venv --system-site-packages py
|
||||||
|
. py/bin/activate
|
||||||
|
python3 -m pip install -r requirements.txt
|
||||||
|
|
||||||
|
# Test pinging Stabilizer. This exercises that:
|
||||||
|
# * DHCP is functional and an IP has been acquired
|
||||||
|
# * Stabilizer's network is functioning as intended
|
||||||
|
# * The stabilizer application is operational
|
||||||
|
ping -c 5 -w 20 stabilizer-hitl
|
||||||
|
|
||||||
|
# Test the MQTT interface.
|
||||||
|
python3 miniconf.py dt/sinara/stabilizer afe/0 '"G2"'
|
|
@ -0,0 +1 @@
|
||||||
|
gmqtt
|
Loading…
Reference in New Issue