Skip to content

v0.10.1 · V1.1 idle-sleep + packing fix

Latest

Choose a tag to compare

@op7418 op7418 released this 22 May 17:14

小版本,主要给 M5Paper V1.1 加 "离线自动睡眠" — 不需要 daemon 也能自己渲染电子名片 + deep sleep。

新功能

V1.1 离线 idle-sleep(不依赖 daemon)

之前 V1.1 想要"屏自动息屏 + 显示名片"必须 daemon 一直跑着 + 推 /card-sleep。现在彻底本地:

[用户行为]                          [设备]
────────                            ────
按 RESET                             boot, loads idle_minutes from NVS
└─→ 任意 daemon push frame            calls markContentDisplayed → resets idle timer
└─→ 再无活动 N 分钟                   firmware paint sleep_card.bin
                                     → 2.5 s GC16 settle
                                     → esp_deep_sleep_start
[panel 0 W 保留名片 ∞]

配置(一次性)

# 1. 改 assets/profile.yaml 写你的电子名片内容
# 2. 在 host 上渲染 540×960 灰阶 card → data/sleep_card.bin
python3 tools/build_sleep_card.py
# 3. 烧 LittleFS(一次就行)
pio run -e card -t uploadfs
# 4. 设阈值(30 分钟)
python3 -c "import serial,time;s=serial.Serial('/dev/cu.usbserial-XXX',115200);s.write(b'{\"cmd\":\"idle_sleep_set\",\"minutes\":30}\n');time.sleep(2);print(s.read(200).decode())"

阈值持久化在 NVS — 重启后保留。设为 0 = 关闭。最大 1440 (24h)。

关键修复

  • 4bpp packer 反色 bugtools/build_sleep_card.py 原本直接 pixel >> 4,但 M5EPD 4bpp 是 "0=白 / 15=黑"(跟 PIL 反),导致名片显示成"对比度错乱 + 模糊"。改用 daemon/card_render.py 现成的 to_4bpp_packed(带 invert)就清晰了。

v0.10.0 → v0.10.1 升级

cd ~/.claude/skills/ai-desk-card && git pull
# V1.1 用户启用 idle sleep:
python3 tools/build_sleep_card.py
pio run -e card -t uploadfs
pio run -e card -t upload  # 重新烧 firmware 拿到 0.10.1 + idle 模块

Color 用户不需要做任何事 — idle-sleep 是 V1.1 only 特性,Color 不影响。

完整 commit log

  • 15692f9 build_sleep_card: use daemon's canonical 4bpp packer
  • bdeb9a8 V1.1: idle-sleep timer + local sleep card
  • dc3b498 v0.10.1: bump CARD_VERSION + plugin.json

完整变更见 HANDOVER.md