How To: Test Stack Lights¶
Stack lights provide visual and audible feedback during validation. Use the Diagnostics panel to test each light and the horn individually.
Step 1: Open the Diagnostics panel¶
- Click the gear icon in the application toolbar.
- Expected: The Diagnostics panel opens showing hardware controls.
Step 2: Verify the controller is connected¶
- Check the controller status in the Diagnostics panel.
- The controller must show Connected for stack light testing to work.
If the controller is disconnected, see Hardware Disconnected.
Step 3: Test each stack light color¶
The Diagnostics panel provides toggle buttons for Arduino output pins. Use these to test each light:
- Green light: Click the toggle for the StackLightGreen pin.
- Expected: The green light on the stack light tower turns ON.
-
Click again to turn it OFF.
-
Yellow light: Click the toggle for the StackLightYellow pin.
-
Expected: The yellow light turns ON.
-
Red light: Click the toggle for the StackLightRed pin.
-
Expected: The red light turns ON.
-
Horn/Alarm: Click the toggle for the StackLightAlarm pin.
- Expected: The horn sounds.
- Warning: Click again quickly to turn it OFF, as the horn can be loud.
Step 4: Test reject and stop signals (if applicable)¶
If the site has reject or stop signals configured:
- Reject signal: Click the toggle for the RejectSignal pin.
- Expected: The reject mechanism activates.
-
Warning: Make sure no product is on the line when testing.
-
Machine stop: Click the toggle for the MachineStop pin.
- Expected: The conveyor stop signal activates.
- Warning: This will stop the conveyor.
Step 5: Interpret the results¶
| Result | Meaning |
|---|---|
| Light turns on and off correctly | Stack light hardware is working |
| Light does not respond | Check wiring between controller and stack light |
| Wrong light turns on | Pin mapping is incorrect in appsettings.json |
| No response to any button | Controller may be disconnected -- check connection |
Step 6: Check stack light profile¶
Different sites use different stack light behaviors. The profile is configured in appsettings.json:
| Profile | Idle State | Validation ON | Pass | Fail |
|---|---|---|---|---|
| Teasdale | All lights ON | Yellow only | Green flash | Red flash + horn |
| CargillRfid | All lights OFF | Green ON | Green inverse flash | Red flash + horn |
| AV50 | All lights OFF | Green ON | Green inverse flash | Red flash + horn |
If the lights behave differently than expected, check the profile setting.
Pin mapping reference¶
The controller pin numbers are configured in appsettings.json under the Arduino Configuration:
"Outputs": [
{"Pin": 0, "Type": "StackLightRed"},
{"Pin": 1, "Type": "StackLightYellow"},
{"Pin": 2, "Type": "StackLightGreen"},
{"Pin": 3, "Type": "StackLightAlarm"},
{"Pin": 4, "Type": "RejectSignal"},
{"Pin": 5, "Type": "MachineStop"}
]
If a pin shows "Pin": -1, that signal is not installed at this site and the pin will be skipped.
Note: Pin assignments vary by site. Always check the actual appsettings.json for the site you are working on.