fix(platform): correct PA GPIO10 and motor GPIO9 mapping
This commit is contained in:
@@ -20,7 +20,7 @@ No new GPIO option has been added for full-charge sensing or the rocker motor.
|
||||
| 5 | `CONFIG_TQ_SCREEN_SPI_CS_GPIO` | Output | LCD CS |
|
||||
| 6 | `CONFIG_TQ_SCREEN_DC_GPIO` | Output | LCD data/command; no old switch flying wire |
|
||||
| 7 | `CONFIG_TQ_SCREEN_RESET_PIN` | Output | LCD reset, active low |
|
||||
| 9 | `CONFIG_MULTIMODAL_AUDIO_PA_GPIO` | Output | Audio amplifier enable |
|
||||
| 10 | `CONFIG_MULTIMODAL_AUDIO_PA_GPIO` | Output | Audio amplifier enable |
|
||||
| 11 | `CONFIG_TQ_CALIBRATION_SWITCH_GPIO` | Input | Switch 1 / calibration, active low with pull-up |
|
||||
| 12 | `CONFIG_TQ_SLOT_SWITCH_GPIO` | Input | Switch 2 / slot trigger, active low with pull-up |
|
||||
| 13 | `CONFIG_MULTIMODAL_PTT_BUTTON_GPIO` | Input | TTP223 touch output / PTT; previous active-low/pull-up settings retained pending measured polarity |
|
||||
@@ -40,7 +40,7 @@ No new GPIO option has been added for full-charge sensing or the rocker motor.
|
||||
|
||||
The old `platform_io_effects_init()` startup call has been removed: its GPIO4
|
||||
RMT and GPIO5 pulse workers conflict with new LCD BLK/CS. The old implementation
|
||||
is retained as source, but no startup path calls it. GPIO10 motor control has
|
||||
is retained as source, but no startup path calls it. GPIO9 motor control has
|
||||
not been enabled as a replacement.
|
||||
|
||||
## Disabled Or Not Connected In Defaults
|
||||
@@ -52,7 +52,7 @@ not been enabled as a replacement.
|
||||
| `CONFIG_TQ_RESET_BUTTON_ENABLE` | Disabled | The old optional reset default GPIO14 now belongs to stepper IN1; configure separate physical wiring before enabling |
|
||||
| `CONFIG_TQ_BATTERY_SHUTDOWN_WAKE_BUTTON_GPIO` | -1 | No additional deep-sleep wake button |
|
||||
| GPIO8 / 充满检测 | Input | `CONFIG_TQ_BATTERY_FULL_GPIO=8`, low-active TP4056 STDBY# via Q8 |
|
||||
| GPIO10 / 马达控制 | Not consumed | Rocker-motor gate held off by external R30 pull-down; no new option/driver added |
|
||||
| GPIO9 / 马达控制 | Not consumed | Rocker-motor gate held off by external R30 pull-down; no new option/driver added |
|
||||
| GPIO3 / 35 / 36 / 37 / 45 / 46 | NC on schematic | Do not infer arbitrary availability from NC |
|
||||
|
||||
Mechanical switches use pull-up only. PTT and charger active levels are retained
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# 新旧板 GPIO 对比与固件适配位置
|
||||
|
||||
核对日期:2026-10-23。初始对照保留在下文;当前已应用新板引脚映射及GPIO8满电检测,GPIO10马达仍未接入。验证结果见文末,未烧录或进行实机验收。
|
||||
核对日期:2026-10-27。已重新核对主控符号:模组焊盘17为GPIO9马达控制,焊盘18为GPIO10 PA_CTRL;此前文档和固件将二者颠倒,本次已纠正。初始对照保留在下文;当前已应用新板引脚映射及GPIO8满电检测,GPIO9马达仍未接入。验证结果见文末,未烧录或进行实机验收。
|
||||
|
||||
## 对照基线
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
菜单整理:GPIO/电平/上下拉配置已集中到
|
||||
`TQ Cat Configuration -> Board Hardware Configuration (GPIO)` 单页,按 LCD、音频、
|
||||
输入、步进、电源/电池分区。配置名及依赖保持原样;默认值及本地有效配置已更新为新板映射,
|
||||
本次充电逻辑重写已新增 GPIO8 充满输入及有效电平配置,GPIO10 马达仍未接入。旧硬编码 GPIO4/5 功能保留源码,
|
||||
本次充电逻辑重写已新增 GPIO8 充满输入及有效电平配置,GPIO9 马达仍未接入。旧硬编码 GPIO4/5 功能保留源码,
|
||||
平台初始化已移除其启动调用,不再创建这些任务。
|
||||
下文 Kconfig 旧行号属于对照时快照,搬迁后应按配置名定位。
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
| 电池电压检测 Power_t / 电量检测 | 9 | 9 | **17** | `TQ_BATTERY_ADC_GPIO`;`platform_battery_driver.c` |
|
||||
| 充电状态 Charge / 充电检测 | 10 | 10 | **18** | `TQ_BATTERY_CHARGE_GPIO`;电池驱动、双路轮询及深睡唤醒链路 |
|
||||
| 独立充满检测 | 未接入 MCU | 无 | **8** | `TQ_BATTERY_FULL_GPIO` / `TQ_BATTERY_FULL_ACTIVE_LEVEL`;见后文 |
|
||||
| 功放 PA_CTRL | 11 | 11 | **9** | `MULTIMODAL_AUDIO_PA_GPIO`;音频 codec 初始化及运行时使能 |
|
||||
| 功放 PA_CTRL | 11 | 11 | **10** | `MULTIMODAL_AUDIO_PA_GPIO`;音频 codec 初始化及运行时使能 |
|
||||
| 开关1 / 原 SW1 | 12 | 校准输入 12 | **11** | 若保持开关1作校准:`TQ_CALIBRATION_SWITCH_GPIO` |
|
||||
| 开关2 / 原 SW2 | 13 | 抽签输入 13 | **12** | 若保持开关2作抽签:`TQ_SLOT_SWITCH_GPIO` |
|
||||
| TTP223 触摸输出 | 3 | PTT 输入 3 | **13** | 若保持触摸作 PTT:`MULTIMODAL_PTT_BUTTON_GPIO`;有效电平另核对 |
|
||||
@@ -48,9 +48,9 @@
|
||||
| ULN2003 IN2 | 48 | 48 | **21** | `TQ_STEPPER_IN2_GPIO`;同上 |
|
||||
| ULN2003 IN3 | 47 | 47 | **47** | `TQ_STEPPER_IN3_GPIO`;保持 |
|
||||
| ULN2003 IN4 | 21 | 21 | **48** | `TQ_STEPPER_IN4_GPIO`;不能与 IN2 互换 |
|
||||
| 直流摇臂马达控制 | 旧图 Swing 与 LCD CLK 共 GPIO8 | 外接脉冲输出 GPIO5 | **10** | 当前无独立 Kconfig;改造 `platform_io_effects.c` 脉冲输出及初始化策略 |
|
||||
| 直流摇臂马达控制 | 旧图 Swing 与 LCD CLK 共 GPIO8 | 外接脉冲输出 GPIO5 | **9** | 当前无独立 Kconfig;改造 `platform_io_effects.c` 脉冲输出及初始化策略 |
|
||||
| 外接 WS2812 灯带 | 旧 TP_INT/GPIO4 被固件复用 | 硬编码 4 | 新图无专用接口 | 必须禁用或另行确认外接布线,不能继续占用 GPIO4 |
|
||||
| 旧外接脉冲输出 | 旧 TP_SDA/GPIO5 被固件复用 | 硬编码 5 | GPIO5 已作 LCD CS | 必须迁移/禁用;是否由新 GPIO10 马达替代,由实际机械用途确认 |
|
||||
| 旧外接脉冲输出 | 旧 TP_SDA/GPIO5 被固件复用 | 硬编码 5 | GPIO5 已作 LCD CS | 必须迁移/禁用;是否由新 GPIO9 马达替代,由实际机械用途确认 |
|
||||
|
||||
按键语义不是原理图决定的:图纸只定义开关1、开关2和触摸输出;上表延续当前固件“校准 / 抽签 / PTT”分工。如果产品要调整按键用途,应另改控制层事件策略。
|
||||
|
||||
@@ -63,8 +63,8 @@
|
||||
| 3 | MCU 标 NC | 迁走当前 PTT;不再等候 GPIO3 触摸事件 |
|
||||
| 4 / 5 / 6 / 7 | LCD BLK / CS / DC / RES | 修改显示配置;释放旧 GPIO4/5 输出;不要恢复旧 GPIO6 开关飞线配置 |
|
||||
| 8 | 充满检测 | 输入;不得再输出 LCD 时钟 |
|
||||
| 9 | PA_CTRL | 输出;不得再按电池 ADC 初始化 |
|
||||
| 10 | 摇臂马达 MOS 控制 | 输出;不得再按充电输入初始化 |
|
||||
| 9 | 摇臂马达 MOS 控制 | 当前不启用驱动;硬件下拉关断 |
|
||||
| 10 | PA_CTRL | 输出;高电平使能功放 |
|
||||
| 11 / 12 | 开关1 / 开关2 | 输入;不得把 GPIO11 继续交给功放 |
|
||||
| 13 | TTP223 触摸输出 | 输入;迁移 PTT 后释放原抽签占用 |
|
||||
| 14 | 步进 IN1 | 输出;不得启用旧默认 GPIO14 Wi-Fi 重置键 |
|
||||
@@ -86,8 +86,8 @@
|
||||
| [sdkconfig.defaults](../sdkconfig.defaults) | PTT 约 195 行;音频约 211 行;LCD/电机/电池约 298–346 行 | 保存新板默认引脚;保持其他未提交配置 |
|
||||
| [main/Kconfig.projbuild](../main/Kconfig.projbuild) | 文件顶部 `Board Hardware Configuration (GPIO)` 菜单 | 已同步现有项新板默认值及帮助文案;新功能未加选项 |
|
||||
| [lcd_direct.c](../components/platform/src/lcd_direct.c) | 约 1634 行背光、1660 行 GPIO、1680 行后 SPI/panel 初始化 | 引脚已有配置化,通常不改驱动;新图注明 BLK 仅作使能,先用 0/100% 验证,不能直接认定支持调光 |
|
||||
| [platform_io_effects.c](../components/platform/src/platform_io_effects.c) | 30/31 行 GPIO4/5 硬编码;186 行脉冲任务;277 行初始化 | 这是必须处理的代码冲突。先禁用旧 RMT/脉冲启动,再决定马达 GPIO10 的受控实现 |
|
||||
| [platform_core_runtime.c](../components/platform/src/runtime/platform_core_runtime.c) | `platform_init()` 电源保持初始化之后 | 已移除旧 GPIO4/5 功能的启动调用;GPIO10 马达未启用 |
|
||||
| [platform_io_effects.c](../components/platform/src/platform_io_effects.c) | 30/31 行 GPIO4/5 硬编码;186 行脉冲任务;277 行初始化 | 这是必须处理的代码冲突。先禁用旧 RMT/脉冲启动,再决定马达 GPIO9 的受控实现 |
|
||||
| [platform_core_runtime.c](../components/platform/src/runtime/platform_core_runtime.c) | `platform_init()` 电源保持初始化之后 | 已移除旧 GPIO4/5 功能的启动调用;GPIO9 马达未启用 |
|
||||
| [platform_stepper_driver.c](../components/platform/src/platform_stepper_driver.c) | 34–37 行相位宏;331 行 GPIO 初始化 | 使用 Kconfig,不应改相位表来代替正确引脚配置 |
|
||||
| [platform_battery_driver.c](../components/platform/src/platform_battery_driver.c) | 约 136 行状态输入;158 行 ADC 映射;296 行采样状态 | 迁移 ADC/充电输入;新增独立充满输入及原始样本处理 |
|
||||
| [platform.h](../components/platform/include/platform.h) | 约 406 行电池硬件样本契约 | 如接入充满检测,扩展平台硬件样本,保留未知/无效状态 |
|
||||
@@ -146,13 +146,13 @@ GPIO18仍为低有效深睡唤醒源,GPIO8不参与唤醒。唤醒保护先轮
|
||||
|
||||
### 5. 电机电源与顺序
|
||||
|
||||
新板步进电机由下板 Boost-5V、ULN2003 驱动;直流摇臂马达由上板 3.3V、Q3 AO3400A 低侧控制,GPIO10 高电平导通,R30 100kΩ 下拉提供关断偏置。二者不是同一驱动,不能把 GPIO10 加进四相步进表。
|
||||
新板步进电机由下板 Boost-5V、ULN2003 驱动;直流摇臂马达由上板 3.3V、Q3 AO3400A 低侧控制,GPIO9 高电平导通,R30 100kΩ 下拉提供关断偏置。二者不是同一驱动,不能把 GPIO9 加进四相步进表。
|
||||
|
||||
新板步进顺序必须为 IN1=14、IN2=21、IN3=47、IN4=48。原 GPIO45 在新图为 NC。首次验证需确认方向、校准开关及有界停止;供电变化不能仅靠 GPIO 表验证。
|
||||
|
||||
## 已应用的新板配置
|
||||
|
||||
以下已有配置项均已写入 Kconfig 默认值、sdkconfig.defaults 和本地 sdkconfig。PTT 有效电平仍待实测;GPIO8现已接入,GPIO10仍未接入。
|
||||
以下已有配置项均已写入 Kconfig 默认值、sdkconfig.defaults 和本地 sdkconfig。PTT 有效电平仍待实测;GPIO8现已接入,GPIO9仍未接入。
|
||||
|
||||
```ini
|
||||
CONFIG_TQ_SCREEN_BACKLIGHT_GPIO=4
|
||||
@@ -165,7 +165,7 @@ CONFIG_TQ_SCREEN_SPI_MISO_GPIO=-1
|
||||
|
||||
CONFIG_TQ_BATTERY_ADC_GPIO=17
|
||||
CONFIG_TQ_BATTERY_CHARGE_GPIO=18
|
||||
CONFIG_MULTIMODAL_AUDIO_PA_GPIO=9
|
||||
CONFIG_MULTIMODAL_AUDIO_PA_GPIO=10
|
||||
CONFIG_TQ_POWER_HOLD_GPIO=-1
|
||||
|
||||
CONFIG_TQ_CALIBRATION_SWITCH_GPIO=11
|
||||
@@ -179,12 +179,12 @@ CONFIG_TQ_STEPPER_IN3_GPIO=47
|
||||
CONFIG_TQ_STEPPER_IN4_GPIO=48
|
||||
```
|
||||
|
||||
平台初始化已停止调用旧 GPIO4/5 输出模块;GPIO8满电输入已接入,GPIO10马达仍未接入。音频 SDA=1、SCL=2、MCLK=38、BCLK=39、DOUT=40、WS=41、DIN=42 保持。
|
||||
平台初始化已停止调用旧 GPIO4/5 输出模块;GPIO8满电输入已接入,GPIO9马达仍未接入。音频 SDA=1、SCL=2、MCLK=38、BCLK=39、DOUT=40、WS=41、DIN=42 保持。
|
||||
|
||||
## 实施顺序与验证边界
|
||||
|
||||
1. 先在新板配置下禁用旧 GPIO4/5 任务,保持马达默认关闭;必要时首次调试暂时关闭开机转盘校准。
|
||||
2. 同步 defaults、Kconfig 和本地有效配置,核对 GPIO8/17/18 全部为输入用途、GPIO9 为 PA、GPIO14 无 reset 冲突。
|
||||
2. 同步 defaults、Kconfig 和本地有效配置,核对 GPIO8/17/18 全部为输入用途、GPIO10 为 PA、GPIO14 无 reset 冲突。
|
||||
3. 验证 LCD、音频、开关1/2及触摸有效电平,再分别验证步进相序和摇臂马达,最后启用开机校准。
|
||||
4. 测量 ADC 与 VBAT、充电/充满两路真值表,验证拔插充电、满电提示、低电量及深睡唤醒。
|
||||
5. 实施后执行 ESP-IDF 5.5.4 构建;修改显示配置/机制后执行仓库列出的五个显示回归脚本,并按实际变更补充检查。检查联网、语音与电机同时运行时的稳定性。
|
||||
|
||||
+2
-2
@@ -26,8 +26,8 @@ Configuration (GPIO)`; see [firmware usage](firmware-pin-usage.md).
|
||||
| 14 | GPIO20 | ESP_D_P | Bidirectional | USB D+ | Type-C |
|
||||
| 15 | GPIO3 | NC | N/A | No assigned net | Old touch input moved to GPIO13 |
|
||||
| 16 | GPIO46 | UNASSIGNED | N/A | No connection assigned | Reserved; no signal assigned |
|
||||
| 17 | GPIO9 | PA_CTRL | Output | Audio amplifier enable | Not a battery ADC input on this board |
|
||||
| 18 | GPIO10 | 马达控制 | Output | Q3 low-side DC rocker-motor control | Not consumed by current firmware; external R30 pull-down |
|
||||
| 17 | GPIO9 | 马达控制 | Output | Q3 low-side DC rocker-motor control | Not consumed by current firmware; external R30 pull-down |
|
||||
| 18 | GPIO10 | PA_CTRL | Output | Audio amplifier enable | High level enables PA; external R29 pull-down |
|
||||
| 19 | GPIO11 | 开关1 | Input | Turntable calibration switch | External 10 kOhm pull-up; active low |
|
||||
| 20 | GPIO12 | 开关2 | Input | Slot/fortune input | External 10 kOhm pull-up; active low |
|
||||
| 21 | GPIO13 | 触摸铜箔 | Input | TTP223 output / PTT | Verify actual touch polarity; firmware retains previous active-level setting |
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
新板正式 TP4056 电路的 CHRG# 经 Q7 接 GPIO18,STDBY# 经 Q8 接 GPIO8。
|
||||
两路默认低有效,3.3V上拉。配置位于 `TQ Cat Configuration -> Board Hardware
|
||||
Configuration (GPIO)`;GPIO10马达没有接入。
|
||||
Configuration (GPIO)`;GPIO9马达没有接入。
|
||||
|
||||
| GPIO18 | GPIO8 | 确认后的领域状态 |
|
||||
| --- | --- | --- |
|
||||
|
||||
Reference in New Issue
Block a user