Skip to content

SMS Forwarder v4.0.2

Choose a tag to compare

@xiangwhy xiangwhy released this 13 Jun 11:44

v4.0.2 — 长短信拼接修复 + 短号显示修复

Bug 修复

  • 长短信被截断为多条推送: UDH 拼接 4 处 bug (commit abab923)
    • parse_udh 8-bit 分支误读 spec, ref/total/seq 偏移错位
    • stash_udh_part 8-bit udhSkip 14→12 (6 字节 UDH)
    • stash_udh_part strstr 锚点 body+1→body+2 (UDHL 占 2 hex)
    • clear_udh_ref 修 slot 复用死锁 (60s 超时后只清 received 不清 refId)
  • phone 短号显示乱码 (commit e482811)
    • decodePhoneField 纯数字短号 (如 "10086910") 被误判 UCS2 hex 解出 ဈ椐
    • 改 ASCII-safe 优先 (含数字/+/-/空格/字母 → 直接返回 raw)

新增

  • AT+CSDH=1 显式声明 (实测 no-op, ML307 默认已是 1)

实测

  • 2 段长短信 (ref 0x11/0x12/0x13, 泰文) → 1 条推送, body 干净
  • 短号 "10086910" (2 段, 中文 body) → phone=10086910 正确显示

已知风险

  • IRAM 100% 满 (15,356/16,384), 加 IRAM_ATTR 函数会链接失败
  • AT+CSCS="UCS2" 启动时仍超时 (实测 UCS2 数据仍正常输出, ML307 行为降级)
  • RNDIS 仍禁用 (v4.0 沿用)

升级说明

直接 pio run -t upload 烧录, NVS 配置不需重置, 启动次数/历史保留。

详细改动见 CHANGELOG