Repository navigation
墨印 MoInk 基线版本:R1.3.3(含 R1.3.1–R1.3.3)
墨印 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.bin1,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… |