ht9045-sorting-bintray

Documents HT9045 Unloader SortingBinTray firmware logic, task flows, and alarm handling.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Understanding and maintaining the HT9045 handler's SortingBinTray (P27) firmware logic is difficult because the behavior is spread across many C++ source files, INI configuration flags, and customer-specific function switches. This Skill consolidates the trigger conditions, task state machines, safety interlocks, and alarm codes into one reference so engineers can trace, debug, and modify the sorting behavior without reading thousands of lines of code. ## Core Features & Use Cases - Trigger Condition Mapping: Explains how IniConfig.bP27AutoSortingBinTrayByOutArmwhenCleanOut, CosFunction.bSortingBinTraywhenCleanOut, and bSortingBinTrayWhenTrayFeed combine to enable sorting during Clean Out or Tray Feed. - Task Flow Documentation: Details the DoSortingBinTray, ToTrayPickIC, and ToTrayPlaceIC state machines with case-by-case step sequences and QueueTaskList assignments. - Alarm & Safety Reference: Lists alarm codes JAM0211-JAM0217 with their trigger points, plus safety interlocks such as TrayArm movement guards and ChangeSite coordination. - Use Case: A field engineer sees alarm JAM0214 during Clean Out on a SIGURD ChungXing configuration; use this Skill to identify that the error originates in OutArmPickTrayAlarm for the Fix1 tray during the pick-IC flow and locate the retry/skip handling path. ## Quick Start Ask the assistant to explain why DoSortingBinTray is not triggering during Clean Out on an HT9045 machine and which flags to check.

Frequently Asked Questions about ht9045-sorting-bintray

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

FAQPage Schema
How do I enable SortingBinTray on an HT9045 handler?▼

Set IniConfig.bP27AutoSortingBinTrayByOutArmwhenCleanOut to true and enable either CosFunction.bSortingBinTraywhenCleanOut or bSortingBinTrayWhenTrayFeed. Both the P27 INI flag and at least one CosFunction flag must be true for the sorting flow to activate.

Why is DoSortingBinTray not triggering during Clean Out?▼

Check that iCleanOut equals 1, the P27 INI flag is true, bSortingBinTraywhenCleanOut is true, and InArm/OutArm/Shuttle/Index have no IC with IsInArmCleanOutFinish returning true. Magazine mode (AUTO3_IS_MAGAZINE==1) also forcibly disables both sorting flags.

What does alarm JAM0211 mean on the HT9045?▼

JAM0211 is an OutArmPickTrayAlarm raised for the Auto1 tray when the OutArm fails to pick an IC during the ToTrayPickIC flow. The operator can choose RETRY to return to position calculation, HOME, or SKIP to trigger TRAYSORTING_ERR.

Which customer configurations enable SortingBinTray by default?▼

FUNC_CC_SIGURD_ChungXing, FUNC_CC_SIGURD_PeiXing, and FUNC_CC_UTAC_TW set bSortingBinTraywhenCleanOut to true. FUNC_CC_SPIL_HsinChu sets bSortingBinTrayWhenTrayFeed to true. The default for both flags is false.

Does SortingBinTray work in Magazine mode on HT9045?▼

No. When AUTO3_IS_MAGAZINE equals 1, cprod.cpp forces both bSortingBinTraywhenCleanOut and bSortingBinTrayWhenTrayFeed to false, and cConfiguration.cpp hides the P27 option in the Configuration UI.