Skip to content

Teasdale Carrollton

Configuration Disclaimer: The configuration values shown here are based on repository reference files. Production configurations may differ. Always verify against the actual appsettings.json on the production machine.

Quick Reference

Field Value
Site Teasdale Foods -- Carrollton, TX
Validation Mode Teasdale
Version teasdale-v1.0
Config Files appsettings-teasdale-carrollton-line7.json, appsettings-teasdale-carrollton-line9.json
Controller LattePanda Delta 3 (Serial USB)
Lines Line 7, Line 9 (separate machines, separate configs)

Hardware Inventory (Both Lines)

Device Type Connection Address/Port
Scanner Zebra DS9908R hybrid (barcode + RFID) USB (CoreScanner SDK) SNAPI
Controller LattePanda Delta 3 Serial USB COM4:115200
Stack Lights Via LattePanda Digital outputs Pins 10/11/12 (G/Y/R)

Controller Pin Map (LattePanda)

Pin Function
10 Stack Light Green
11 Stack Light Yellow
12 Stack Light Red
-1 Horn (StackLightAlarm -- disabled, pin -1)

Line-Specific Configuration

Setting Line 7 Line 9
Config file appsettings-teasdale-carrollton-line7.json appsettings-teasdale-carrollton-line9.json
TeasdaleFilePrefix "RFID-CT7" "RFID-CT9"
MojixReadPoint "Line 7" "Line 9"
MojixGln 0022254000001 0022254000001
MaximumLabelsToPrint 10 48
BarTender Printer CAR-RFID-9 CAR-RFID-9
Network username abetech.support abetech.support@teasdalefoods.com
Network domain TEASDALE (empty -- UPN format)
Deacom export folder C:\GateKeeper\Conveyor\Data\DeacomExport (local) \\tfcoloapp04\Deacom$\Model\RFID\Inbound (network)

Export Configuration

Export Enabled Endpoint
Mojix Yes https://chipotle.mojixretail.io/statemachine-epcis-events-input-rest/rest/events
MWE No (configured) http://10.100.10.22
AIS No --
Deacom Yes Per-pallet export (JSON file)

Data Source

Setting Value
Importer TeasdaleImporter (JSON file polling)
Import path \\tfcoloapp04\Deacom$\Model\RFID\Outbound
Processed path C:\gatekeeper\conveyor\data\teasdale\processed
Poll interval 10 seconds
Retention 60 days
Network auth Domain credentials (DPAPI encrypted password)

Normal Operating State

When everything is working correctly at Teasdale:

  • Screen: GateKeeper application shows "Teasdale" validation mode. Scanner and Controller show connected. The pallet progress panel shows "Pallet X of Y | Case N of M."
  • Stack lights: Teasdale profile -- All three lights (Green + Yellow + Red) are ON when idle. When validation is active, only Yellow is ON. Green flashes on pass (5 seconds). Red flashes + horn on fail.
  • Data flow: JSON files from Deacom ERP arrive on the network share. The importer picks them up and loads the multi-pallet queue. An operator scans each case with the DS9908R handheld scanner.
  • Exports: Per-pallet exports go to Mojix and Deacom after each pallet is completed.
  • Label printing: Labels are auto-printed at pallet start via BarTender.

Validation Flow

  1. Deacom sends a JSON file to the network share (\\tfcoloapp04\Deacom$\Model\RFID\Outbound).
  2. The TeasdaleImporter detects files matching the prefix ("RFID-CT7" for Line 7, "RFID-CT9" for Line 9) and loads all pallets into a queue.
  3. The operator sees "Pallet 1 of N" on the screen and begins scanning cases.
  4. For each case, the operator holds the case near the DS9908R scanner. The scanner reads:
  5. A DataMatrix 2D barcode
  6. A UCC-128 (GS1-128) linear barcode
  7. An RFID tag (EPC via the built-in RFID antenna)
  8. The application correlates the barcode and RFID reads (5-second timeout).
  9. Validation checks:
  10. DataMatrix content must match RFID EPC (after SGTIN-96 URN-to-Hex conversion)
  11. UCC-128 GTIN (AI 01) must match expected GTIN
  12. UCC-128 Lot (AI 10) must match expected lot
  13. Date validation: PackDate (AI 13) OR ExpirationDate (AI 17) must match
  14. PASS: Green flash (5s), case count increments. FAIL: Red flash + horn (5s).
  15. After all cases in a pallet are passed, a "Pallet Complete" dialog appears. The pallet is exported to Mojix/Deacom, and the system advances to the next pallet.
  16. When all pallets are complete, validation returns to OFF state.

Common Issues

Job Not Appearing in Queue

What you see: Operator sends a job from Deacom, but nothing shows in GateKeeper.

What to check: 1. Is the JSON file on the network share? Check \\tfcoloapp04\Deacom$\Model\RFID\Outbound for files starting with the correct prefix. 2. Check the application logs for "rejected" messages -- the file may have been rejected due to missing GTIN or invalid format. 3. Verify network credentials. The password may need to be re-encrypted if the machine was reimaged. Go to Settings -> Teasdale tab -> Encrypt Password. 4. Check if the file was already processed -- look in C:\gatekeeper\conveyor\data\teasdale\processed. 5. Try restarting the application.

Labels Not Printing

What you see: No labels come out of the printer when a new pallet starts.

What to check: 1. Is BarTender Integration Platform running on the label PC (172.18.33.6)? 2. Is the printer (CAR-RFID-9) online and ready? 3. Check network connectivity from the GateKeeper machine to 172.18.33.6. 4. Check EnableAutomaticLabelPrinting is true in appsettings. 5. Check the application logs for BarTender-related errors.

RFID Timeout

What you see: Validation fails with "RFID timeout" or "No RFID data."

What to check: - The DS9908R has a built-in RFID antenna. Is the RFID tag on the case within scanning range? - The correlation timeout is 5000ms (5 seconds). Make sure the scanner is held close enough to the case. - Check if the RFID tag is damaged or missing. - The DS9908R must be connected via USB and recognized by the CoreScanner SDK.

Duplicate EPC Rejected

What you see: "Duplicate EPC" failure message when scanning a case.

What to check: - This is expected behavior. Each EPC can only be validated once per job. The system tracks the last 100 EPCs to detect duplicates. - The operator should scan a different case. - Duplicate EPCs are cleared only when the entire job is complete, not between pallets.

Midnight Rollover Issues

What you see: Lot numbers are wrong after midnight, or cases fail after midnight.

What to check: - EnableMidnightRollover should be true. - A warning dialog should appear 5 minutes before midnight. If the operator dismissed it, the rollover will occur at the next pallet completion. - After rollover, lot numbers increment by 1 day (YYJJJ format). Cases printed with the OLD lot number will FAIL validation after rollover. New labels must be printed. - Check logs for "MIDNIGHT-ROLLOVER" messages.

Paused Job Won't Resume

What you see: Job was paused (or application was restarted mid-job) but the job doesn't resume.

What to check: - The job state is saved in C:\gatekeeper\conveyor\data\teasdale_job_state.json. - If the state file is corrupted, delete it and restart. The job will be lost and must be re-sent from Deacom. - If AutoStartValidation is false, look for a "Resume Job" button on the screen after restart.

Pallet Skipping (Double-Advance)

What you see: The system skips a pallet, or the job shows complete with fewer pallets than expected.

What to check: - This was a known bug fixed in v0.123. Scanning during the pallet completion dialog could cause a double-advance. - If you see this on teasdale-v1.0, the fix should be included. Report to engineering if it recurs.

Known Quirks

  • Two separate machines: Line 7 and Line 9 each have their own GateKeeper PC with a separate config file. They are independent systems.
  • Teasdale stack light profile: All three lights ON when idle (unlike CargillRfid where all lights are OFF). This is the Teasdale-specific profile.
  • Horn disabled via pin -1: The horn output is configured with pin -1, which effectively disables it at the hardware level. But StackLightHornOnFail: true is set, so the software will attempt to trigger it. In practice, the pin -1 mapping means no physical horn sounds from the LattePanda. Verify actual horn behavior on the production machine.
  • SGTIN-96 URN-to-Hex conversion: The DS9908R reports RFID tags as URN strings (e.g., urn:epc:tag:sgtin-96:...). The application converts these to raw hex for comparison with the DataMatrix barcode. This conversion is automatic.
  • Network credentials require DPAPI encryption: The password for the network share must be encrypted using DPAPI (Settings -> Teasdale tab -> Encrypt Password). DPAPI encryption is machine-bound, so if the PC is reimaged, the password must be re-encrypted.
  • Reject is disabled: Reject.Enabled is false in the reference config. Teasdale does not use a physical reject mechanism -- validation results are communicated visually and via the pallet progress UI.
  • Failures before stop is 99: The line does not stop on failures. The operator is expected to re-scan cases that fail.
  • 5-second post-validation delay: After each scan, there is a 5-second cooldown before the next scan can be processed. This prevents rapid re-scans of the same case.
  • Config audit: Changes to appsettings.json are automatically tracked in C:\gatekeeper\conveyor\config-audit\config-changes.log.