# pinmap-to-pinlist 项目上下文 ## 项目概述 - **项目名称:** pinmap-to-pinlist - **项目类型:** Python 脚本工具 - **核心功能:** PinMAP ↔ PinList 双向转换(Excel xlsx 格式) - **当前版本:** v1.6 ## 技术约束 - 语言:Python - 平台:Windows + Linux - 输出格式:Excel .xlsx(支持富文本样式) - 封装类型:仅支持环形布局(QFN 类),引脚分布在芯片四边(上/右/下/左),允许非正方形(如 10×15) - 模板文件:`Code/src/Template/PinMAP-Template.xlsx` 和 `PinList-Template.xlsx` ## 使用场景 - 用户提供 PinList CSV(封装名 + 引脚名/序号对),期望生成 PinMAP(环形四边布局) - 用户提供 PinMAP Excel,期望生成 PinList(引脚名/序号对 + 封装名) - 两个方向都需要读取模板文件应用样式(字体、对齐、列宽、行高、背景色、边框) ## 当前活跃 Bug ### BUG-007:PinList→PinMAP 上方引脚并入标题行(已修复) **严重程度:** 高 | **关联功能:** F013, F016 | **版本:** v1.6 回归 **修复后实际输出(转 CSV):** ``` QFN60,,,,,,,,,,,,,,,,,, ,,60,59,58,57,56,55,54,53,52,51,50,49,48,47,46,, ,,Pin60,Pin59,Pin58,Pin57,Pin56,Pin55,Pin54,Pin53,Pin52,Pin51,Pin50,Pin49,Pin48,Pin47,Pin46,, 1,Pin1,,,,,,,,,,,,,,,,Pin45,45 2,Pin2,,,,,,,,,,,,,,,,Pin44,44 3,Pin3,,,,,,,,,,,,,,,,Pin43,43 4,Pin4,,,,,,,,,,,,,,,,Pin42,42 5,Pin5,,,,,,,,,,,,,,,,Pin41,41 6,Pin6,,,,,,,,,,,,,,,,Pin40,40 7,Pin7,,,,,,,,,,,,,,,,Pin39,39 8,Pin8,,,,,,,,,,,,,,,,Pin38,38 9,Pin9,,,,,,,,,,,,,,,,Pin37,37 10,Pin10,,,,,,,,,,,,,,,,Pin36,36 11,Pin11,,,,,,,,,,,,,,,,Pin35,35 12,Pin12,,,,,,,,,,,,,,,,Pin34,34 13,Pin13,,,,,,,,,,,,,,,,Pin33,33 14,Pin14,,,,,,,,,,,,,,,,Pin32,32 15,Pin15,,,,,,,,,,,,,,,,Pin31,31 ,,Pin16,Pin17,Pin18,Pin19,Pin20,Pin21,Pin22,Pin23,Pin24,Pin25,Pin26,Pin27,Pin28,Pin29,Pin30,, ,,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,, ``` **修复特征(与期望 CSV 对比):** 1. ✅ 第 1 行标题独占(A1 仅含 `QFN60`,无引脚数据混入) 2. ✅ 第 2 行为上方独立序号行 `,,60,59,...,46,,` 3. ✅ 第 3 行为上方独立 PinName 行 `,,Pin60,...,Pin46,,` 4. ✅ 总行数 20(0-based 0-19),与期望 21 行结构一致 5. ✅ 左右引脚位置正确(A=Number, B=Name) 6. ✅ 下边 PinName/Number 位置正确 **验收标准:** ✅ 已达标 — PinList→PinMAP 输出结构与期望 CSV 逐行一致。