-
Notifications
You must be signed in to change notification settings - Fork 14
Description
Overview
CI driven or at least script driven SITL/HITL test asset(s), allows for faster development and minimizes backtracking to fix bugs.
Some potential requirements for this:
- Hardware in the loop (HITL) asset like a V5 brain hooked up to something acting as a CI server to test something.
- A robust software in the loop (SITL) platform that can run directly on the CI server that kicks off a suite of tests just to sanity check that all the API still behaves like how we expect it to behave. Could probably use V5 Qemu that vexide developed for some of this.
- Every addition to the API requires test cases to this test suite.
Motivation
One massive issue with the mainline PROS development process is that there's not an emphasis on developing proper test assets anymore (and especially ones that aren't too manual or a pain to use).
With a longstanding project, developing automated and streamlined tests assets may seem like a pain but having HITL/SITL tests allow a team to measure twice, cut once and move a lot quicker than a team that doesn't.
Additional Information
There are unit tests written for each sensor/actuator in the PROS kernel repo somewhere, I'm sure these can be updated to fit Zest's API and then used in some form of automation.
This was something that was being worked on as a pretty big deal with PROS but I think it fell apart after I left :(.
It's admittedly not a "sexy" problem to work on but it's something that is crucial for project stability.
Simulation
We can use vexide/vex-v5-qemu, for proper simulation. Alternatively we can take the WPIlib route and compile for the host architecture.