Skip to content

Stack Lights

What They Are

Stack lights are the colored signal lights (Green, Yellow, Red) mounted on or near the conveyor. They provide visual feedback to operators about the system status and validation results. A horn may also be included for audible alerts.

How They Work

Stack lights are controlled by the Arduino Portenta H7 or LattePanda Delta 3 controller. The GateKeeper application sends commands to the controller, which turns the lights on or off. The specific behavior depends on the stack light profile configured for each site.

Stack Light Profiles

Teasdale Profile

Used at: Teasdale Carrollton

State Green Yellow Red Horn Description
Idle (validation OFF) ON ON ON -- All lights on = system standby
Validation ON (ready) OFF ON OFF -- Yellow only = ready for scanning
Pass FLASH OFF OFF -- Green flashes for configurable duration (default 5 seconds)
Fail OFF OFF FLASH YES Red flashes + horn sounds
Warning/NOREAD OFF BLINK OFF OFF -- Yellow turns OFF briefly then back on
System Problem OFF OFF FAST FLASH -- Red fast flash (250ms) = hardware disconnection detected

CargillRfid Profile (Default)

Used at: Cargill St. Clair, Sidney, Gainesville, Fullerton

State Green Yellow Red Horn Description
Idle (validation OFF) OFF OFF OFF -- All lights off = not validating
Validation ON (ready) ON OFF OFF -- Green on = system ready
Pass BLINK OFF OFF OFF -- Green turns OFF briefly then back on
Fail ON OFF ON -- Green + Red STAY ON until next scan
Warning/NOREAD OFF FLASH OFF -- Yellow flashes
System Problem OFF ON OFF -- Yellow stays on until problem resolved

Important: In this profile, fail is persistent. Green and Red both stay ON until the next case is scanned. This makes it very clear that the last case failed.

AV50 Profile

Used at: Hormel Austin, Beloit, Barron

State Green Yellow Red Horn Description
Idle (validation OFF) ON ON ON -- All lights on = system standby
Validation ON (ready) ON OFF OFF -- Green on = system ready
Pass BLINK OFF OFF OFF -- Green turns OFF briefly then back on
Fail OFF FLASH OFF -- Yellow flash only (no red, no horn)
Warning/NOREAD OFF FLASH OFF -- Yellow flash
System Problem OFF ON OFF -- Yellow stays on until problem resolved

Note: The AV50 profile is intentionally subtle. Failures show yellow (not red) and there is no horn. This is because AV50 validates barcode presence only, and occasional NOREADs are expected.

Off Profile

Used when: Stack lights are not installed or should be disabled

All lights remain OFF in all states. No horn activity.

Profile by Site

Site Profile Horn Enabled
Teasdale Carrollton Teasdale Yes (on fail)
Cargill St. Clair CargillRfid No
Cargill Oil sites CargillRfid No
Hormel Austin AV50 No
Hormel Beloit AV50 No
Hormel Barron AV50 No
Zebra Futures Lab Off No

Configurable Timing

Setting Default What It Controls
StackLightPassDurationMs 5000 (5 seconds) How long the pass flash lasts
StackLightFailDurationMs 5000 (5 seconds) How long the fail flash lasts
StackLightWarningDurationMs 500 (0.5 seconds) How long the warning flash lasts
StackLightHornDurationMs 500 (0.5 seconds) How long the horn sounds
SystemProblemFlashDurationMs 250 (0.25 seconds) Speed of system problem flash (Teasdale)

Troubleshooting

Lights Not Responding At All

  1. Check the controller connection in the diagnostics panel (Arduino or LattePanda).
  2. Verify the controller shows "Connected."
  3. Use the stack light test buttons in the diagnostics panel.
  4. Check the StackLightProfile setting in appsettings.json -- make sure it is not Off.
  5. Check log for [STACK-LIGHT] entries.

Wrong Light Behavior

  1. Verify the correct profile is set for the site.
  2. Confirm the profile name is spelled correctly (case-sensitive).
  3. Check the startup log for: StackLightOrchestrator configured with profile: {Profile}
  4. Restart the application after any configuration change.

Lights Occasionally Stuck

The system includes a reinforcement timer that re-sends the intended light state every 300-500ms. This corrects dropped serial or TCP commands. If lights stay incorrect for more than a second:

  1. Check USB cable quality (for LattePanda serial connections).
  2. Try a different USB port.
  3. Check for repeated connection/disconnection messages in the log.

Horn Not Sounding

  1. Check the StackLightHornOnFail setting -- it must be true.
  2. Verify the horn is connected to the correct pin on the controller.
  3. Check if the profile supports horn (only Teasdale enables horn by default).
  4. Test the horn pin directly using the diagnostics panel.

When to Escalate

  • Lights respond in diagnostics but not during validation (software issue)
  • All lights stuck ON or OFF regardless of state
  • Profile change has no effect after application restart
  • Horn works in test but not during actual validation failures