# Cruise Control Tester

This test stand was created for the purpose of testing direct-throttle cruise controls; commissioned to replace several aging end-of-line testers which had become increasingly unreliable.

The client had several interesting requirements including:

• Simultaneous DUT test (as a cost reduction).
• Ability to expand to more test bays AS NEEDED.
• Ability to perform all legacy tests (defined by code rather than by specification)
• Desire to implement $\frac{dV_{throttle}}{dt}$ pass/fail criteria. ie Throttle has to pull or relax, not just to a limit, but in the correct amount of time.
• Permanently mark a passing unit.
• Post-completion add-on requirement: Create an endurance-test modification so a cruise control can be tested to failure.

For this project, I produced a complete, turn-key end-of-line test system.

The most interesting aspect of this project is the absolute flexibility in the number of testers the program can execute. The core of the tester engine made heavy use of the “Actor” framework to allow a flexible number of instances of the test logic.

The Actor replaces large swaths of message handling code; replacing the bulk of the message handler with something like the following:

And every time we need a new tester instance, the customer connects additional hardware to the test computer and uses dropdown menus to indicate which hardware components perform which functions for a particular tester instance.

Below are some samples of the coding style: