ht9045-catchtray-flow

Documents CatchTray state machine flows for the HT9045 IC test handler C++ codebase.

Updated May 28, 2026
One-click install
npx skills add https://github.com/HPI-Jimmy-Chiu/HT904_V899 --skill ht9045-catchtray-flow-hpi-jimmy-chiu
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: ht9045-catchtray-flow
Source: https://github.com/HPI-Jimmy-Chiu/HT904_V899/tree/main/.agents/skills/ht9045-catchtray-flow
Command: npx skills add https://github.com/HPI-Jimmy-Chiu/HT904_V899 --skill ht9045-catchtray-flow-hpi-jimmy-chiu

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Engineers maintaining the HT9045 IC Test Handler struggle to trace the CatchTray (Tray Arm) logic spread across deeply nested switch-case state machines in acatchtray.cpp. This Skill maps every Task variable, case number, and call hierarchy so you can answer flow questions without manually reading thousands of lines of Borland C++ code. ## Core Features & Use Cases - State Machine Navigation: Provides complete case-number listings for DoCatchTray, DoCatchFromLoader, CatchNewTrayFromBuffer, DoPlaceTrayToAuto, DoPlaceToBuffer, DoSlapTray, DoCatchUnderTray, DoSupportUnderTray, and DoPlaceBufferTray. - Call Hierarchy Map: Shows the full invocation tree from DoCatchTray down to C_CatchTray_Fix_Puch/Pop and DoLoadCarRotArmReadRFID. - Diagnostic Guidance: Offers a step-by-step reading order for troubleshooting gripper (Fix cylinder) faults and RFID/TrayID issues. - Use Case: A field engineer sees the machine stuck at CatchTrayTask case 1150. Load this Skill to immediately identify that the flow is in the DoPlaceTrayToAuto segment, then drill into iPlaceTrayToAutoTask cases to locate the failing sensor check. ## Quick Start Ask the AI to explain what the HT9045 CatchTray is doing when CatchTrayTask reaches case 1000 and which sub-flow it enters next.

Frequently Asked Questions about ht9045-catchtray-flow

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I trace the DoCatchTray state machine in the HT9045 code?▼

Start with the CatchTrayTask variable in acatchtray.cpp and locate the case number range: 1-50 is initialization, 100-260 is Loader tray pickup, 500-600 is buffer replenishment, 1000-1200 is placing trays to Auto, and 2000-2160 is placing to Buffer. Then drill into the corresponding sub-task variable for details.

What does each CatchTrayTask case number mean in HT9045?▼

Case numbers are grouped by operational stage rather than sequential order. For example, cases 100-260 handle catching an empty tray from the Loader, 300-400 decide which Auto needs a tray, and 3000-6100 cover manual, mapping, and finishing steps. The Skill lists every valid case per function.

How do I troubleshoot CatchTray Fix cylinder push and pop faults?▼

Check the C_CatchTray_Fix_Puch and C_CatchTray_Fix_Pop functions, which use the iCatchTray_Fix_Puch and iCatchTray_Fix_Pop task variables with cases 1 and 100. Verify the associated sensor states when the gripper fails to clamp or release.

Which function handles RFID TrayID reading on the Loader car?▼

DoLoadCarRotArmReadRFID in acatchtray.cpp handles LoaderCar RFID reading, driven by the iCoverTrayIDTask[iKeyenceCoverTrayID_LoaderCar] task variable. Its cases span 1 through 6000, covering read initiation, verification, and completion stages.

What programming language and framework does the HT9045 handler code use?▼

The HT9045 codebase is written in C++ using Borland C++ Builder 6 with the VCL framework and AnsiString types. Its motion logic follows a state machine pattern built on switch(Task) statements with integer reference task variables.