Skip to content

墨印 MoInk 基线版本:R1.3.3(含 R1.3.1–R1.3.3)

Choose a tag to compare

@atunverse atunverse released this 19 Oct 02:17
· 2 commits to main since this release

墨印 MoInk 基线版本:R1.3.3

本 Release 合并说明 R1.3.1 / R1.3.2 / R1.3.3 三个版本的改动(后两版未单独发版)。
api 保持 2,分区表与帧格式零变动 —— 从 R1.2.0 及之后可直接网页 OTA。
历史 Release 继续累积保留,不删除。


一、R1.3.1 —— 排线档引脚改版 + 电池分压 1M:1M

1. 排线档引脚重新分配

gpio_preset = 1(排线)整表重排:

信号 新排线档 旧排线档(R1.3.0 及更早)
ADC(电池) GPIO0 GPIO0
KEY(唤醒) GPIO1 GPIO5 ← 变了
LOCK(自锁) GPIO2 GPIO2(固定,不在这八个脚里)
BUSY GPIO3 GPIO1 ← 变了
RST GPIO4 GPIO3 ← 变了
DC GPIO5 GPIO4 ← 变了
CS GPIO6 GPIO6
SCK GPIO7 GPIO7
DIN(MOSI) GPIO10 GPIO10

默认档与整合板档未改动。

2. 电池分压 100k:100k → 1M:1M

分压比 (1M+1M)/1M = 2.0,与原值完全相同,所以固件系数 BAT_DIV_NUM/DEN
保持 200/100 不变 —— 这不是漏改,改电阻值不影响系数。

⚠️ 1M 源阻抗约 500 kΩ,ESP32-C3 的 ADC 在高阻源下读数偏低(几十 mV 量级),
电量百分比可能整体偏小。建议 ADC 端并联 100 nF 到地;换上板后用万用表实测,
必要时重标 BAT_FULLSCALE_MV(当前 3100 mV @ 12 dB)。


二、R1.3.2 —— 按键语义重构 + 刷屏解耦 + 唤醒来源

修复

  • 单击一次连刷两张图:R1.3.0 的 pending 唤醒状态在短按分支从未清零,
    松手后下一轮采样又命中「补切」。重写后一次性消费动作,不再重复触发。
  • 松手弹跳二次触发:旧实现完全没有消抖。
  • 刷屏失败仍推进轮播指针:改为「先刷屏、成功才写 cur」,失败保留原值,
    下次按键不再「跳过一张」。
  • 轮播元数据重复提交:cnt/cur/widx 改为多键一次 commit,
    每次切图从 2 次 NVS 写降为 1 次,也避免掉电留下半套状态。

按键语义(新)

动作 判定 结果
单击 松手后 400 ms 内无第二击 只唤醒并重置空闲计时,不刷图
双击 两次按下间隔 ≤ 400 ms 切到下一张
长按 持续按住 20 秒(原 5 秒) 恢复出厂并重启
  • 20 ms 采样 + 连续 3 次一致消抖(约 60 ms)。
  • 深睡唤醒那一击只用于唤醒;若启动时键已松开,此后 1.5 秒内的首次单击
    视为「第二击」直接切图。两击都落在启动窗口内则只判单击 —— 补按一下即可。

刷屏与按键解耦

button_task 只投 UI 事件 → 队列 → display_task 串行刷屏。按键采样不再被
2~4 秒的整屏刷新阻塞(长按计时准确)。后续新增刷屏触发源(定时轮播、页面按钮、
传感器等)统一走 ui_post()。

唤醒来源识别

新增 wake_src_t:button / timer / power_on / other,
/api/info 输出 wake_reason + wake_bits,控制页「设备信息」显示「本次唤醒」。


三、R1.3.3 —— 电源管理 + 定时唤醒切图 + WiFi 默认低功率

1. 「休眠与唤醒」→「电源管理」

项 内容
超时 1 / 3 / 5 分钟,或「不超时」
超时动作 休眠(默认) / 关机(断电)
选休眠时 自动唤醒(关 / 1h / 12h / 1d)+ 定时唤醒后自动切图(默认勾选)
选关机时 隐藏上面两项
  • 关机实现:GPIO2 拉低 → 释放 MOS 自锁 → 断电。有自锁电路时约 100 ms 掉电;
    没有自锁电路的板子无法真正断电,1 秒后退回休眠(控制页已明确提示)。
  • sleep_s = 0(不超时)时,休眠与关机都不执行。

2. 定时唤醒自动切图

wake_show 默认 开启:定时醒来后自动切到下一张;图库为空则只开热点、不切图。

3. WiFi 默认发射功率改为「低」

中(10dBm) → 低(8.5dBm)。

⚠️ 只影响出厂默认值。已有设备 NVS 里存着原 wifi_pwr,升级不会自动变低,
需要时在「热点设置」里手动选一次。


升级须知

  • R1.2.0 及之后可直接网页 OTA:设备页面「设置 → 系统维护与升级」,
    上传 moink_R1.3.3_app.bin 即可(分区表未变)。
  • R1.1.x 及更早必须线刷:用数据线整包刷 moink_R1.3.3_merged.bin。
  • 排线档设备:档位号没变,升级后自动套用新引脚表,按新接线接好即可;
    之前用「自定义」档手工填旧脚位的,必须进页面按新接线重选并重启。
  • 升级不重置设置:热点名 / 密码 / 屏型 / GPIO 接法 / 超时 / 唤醒 / 功率全部保留;
    已存的轮播图也保留(store 分区不受影响)。
  • 传 .html 只热更控制页,不重启,刷新浏览器即生效。

兼容性

  • api = 2:16 字节帧头与 2bpp 载荷零变动,分区表零变动 → 可与 R1.2.x / R1.3.x 互刷。
  • 算法基线 B2 12/12 MATCH,色彩与几何规格未变。
  • 编译:RAM 39,692 B(12.1%)/ Flash 1,006,358 B(76.8%),0 告警。
  • 产物:firmware.bin 1,007,056 B / merged 1,072,592 B / zip 1,261,302 B。

资产说明

  • MoInk-FlashKit-R1.3.3.zip —— Windows 一键刷机包,解压双击 bat 即可
    (自动选串口、跳过蓝牙虚拟口);包内「使用说明.txt」含 V1~V7 验收清单。
  • moink_R1.3.3_merged.bin —— 固件整包(R1.1.x 及更早线刷用,0x0 写入,控制页已内嵌)。
  • moink_R1.3.3_app.bin —— OTA 升级包(R1.2.0 起网页升级用)。
  • page-R1.3.3.html —— 控制页热更包(网页上传,免刷机)。

版本校验

刷完在「设置 → 设备信息」应显示:版本 R1.3.3 / 接口 2。

真机验收清单

  • V1 排线档引脚(R1.3.1):设为「排线」档 → 保存并重启 → 刷屏正常、四色正确。
    黑屏 / 白屏先核对引脚表。
  • V2 电量读数(R1.3.1):电量与万用表实测相符(误差 5% 内);1M 高阻源偏低时并 100 nF。
  • V3 按键(R1.3.2):单击只唤醒不刷图;双击切一张(不再连刷两张);
    长按 20 秒恢复出厂。
  • V4 唤醒来源(R1.3.2):按键唤醒 / 定时唤醒 / 上电重启,「设备信息 → 本次唤醒」显示正确。
  • V5 超时休眠(R1.3.3):超时 1 分钟 + 动作「休眠」→ 静置 1 分钟后睡着,按键可唤醒。
  • V6 超时关机(R1.3.3 ★需自锁电路):「超时动作」选「关机」→ 静置到点应完全断电
    (按键无法唤醒,需重新按开机键)。若只是休眠,说明板上没有自锁电路,属预期限制。
  • V7 定时唤醒切图(R1.3.3):图库 ≥ 2 张、自动唤醒 1 小时、勾选「唤醒后切图」→
    醒来应切到下一张;取消勾选则保持原图。

校验和(SHA-256 前 16 位)

资产 大小 SHA-256
MoInk-FlashKit-R1.3.3.zip 1,261,302 B a6c7cc9a40b0f68b…
moink_R1.3.3_merged.bin 1,072,592 B 15b6dc8fe856131d…
moink_R1.3.3_app.bin 1,007,056 B 9d6dd789904d03b2…
page-R1.3.3.html 167,076 B c3a97efdcbee4c5e…