Repository navigation
墨印 MoInk 基线版本:R1.3.0
墨印 MoInk 基线版本:R1.3.0
⚠️ 本版新增「多图轮播图库」:设备内最多保存 8 张图,在机身上短按按键循环切换。
⚠️ 自本版起,Release 累积保留,不再删除历史版本。
⚠️ 升级不重置设置(屏型 / 风格 / GPIO 接法 / 休眠 / 唤醒 / 热点全部保留),已有的轮播图也保留。
本次更新(相对 R1.2.2)
1. ★ 多图轮播:R1.2.0 预留的 store 分区正式启用
设备内部划出 8 个 128 KB 图槽(共 1,088 KiB),每槽保存一张完整的 2bpp 帧。上电后短按机身按键即可循环切图,不需要手机、不需要联网。
- 存图追加到末尾,不再覆盖最早那张(旧行为是 round-robin 覆盖)。
- 每槽除主图外还可携带一张彩色缩略图,供控制页图库显示(见第 4 条)。
2. ★ 设备轮播图库(控制页新卡片)
「设置 → 设备轮播图库」:
- 8 个格子显示设备内已有图片的彩色缩略图,当前正在显示的那张带绿框;
- 点缩略图 → 全屏大图预览(方向与屏上一致);
- 每个格子右上角 × → 删除这一张,后面的图自动前移补位;
- 「清空轮播」→ 清空全部(只清索引,不擦 flash、不伤设备)。
3. ★ 上传即入轮播,另加「仅上传」
- 「上传并刷新屏幕」= 存进轮播 + 立即刷屏;
- 「仅上传」(新增)= 只存进轮播、不刷屏,连续加图时不用每次等刷屏。
4. 缩略图改用网页端离线生成的彩色 JPEG
2bit 抽稀缩略图在手机彩色屏上放大后必现色块,因此改为:控制页从未量化的彩色合成图离线生成 69×96 彩色 JPEG(约 2~3 KB)随帧上传,设备原样存入槽尾。老图(没有预存缩略)自动回退为固件现算。
5. 新增与变更的接口
GET /api/carousel/list—— 图库列表(元数据 + 每槽缩略图)GET /api/carousel/full?slot=N—— 单张整帧(大图预览用)POST /api/carousel/delete?slot=N—— 删除并紧凑前移POST /api/carousel/clear—— 清空轮播GET /api/frame新增save=1(存并显示)、save=1&noshow=1(只存不显示)、tlen=N(随帧携带缩略载荷)GET /api/info新增store_count/store_cur
6. 修复:内部迭代期的严重问题
- httpd 路由表容量不足 → 设备无限重启:注册兜底路由时触发
HANDLERS_FULL,ESP_ERROR_CHECKabort、反复重启、热点起不来。本版把上限提到 32,从根上解决。 - 缩略图「部分成功部分回退色块」:接收侧与写库侧的缩略长度上限不一致(7,500),彩色 JPEG 普遍 7~15 KB,超限被静默丢弃。两处上限统一为 20,000。
- 图库列表接口峰值堆内存过高(约 60 KB):改为单槽循环 + 按实际缩略大小分配 + base64 分块发送。
- 弱信号下
httpd_req_recv返回 0 被误判为 body 截断 —— 增加短暂等待重试。
7. 控制页细节
- 高级设置里滑块旁的「默认」角标现在可点击,一点即恢复该项默认值(13 个滑块全部生效)。
升级须知
- R1.2.0 / R1.2.2 的设备可直接网页 OTA:进设备页面「设置 → 系统维护与升级」,上传
moink_R1.3.0_app.bin即可(分区表未变)。 - R1.1.x 及更早的设备必须线刷:分区表在 R1.2.0 变更过(新增 store 存储分区),只能用数据线整包刷
moink_R1.3.0_merged.bin。 - 升级不重置设置(沿用 R1.2.2 语义:只清
a1_mode/a11_var两个废弃键),热点名与密码保留,已存的轮播图保留。 - 传
.html只热更控制页,不重启,刷新浏览器即生效。 - 本版固件仍没有
/api/ota与/api/web(R1.2.0 起删除),R1.1.x 的旧页面无法升级本版设备,请使用本包内的页面。 - 只想清空设备里的轮播图,不必刷机:控制页「设备轮播图库 → 清空轮播」即可。
兼容性
- api 保持 2:16 字节帧头格式与语义零变动,分区表零变动 —— 可与 R1.2.x 互刷。
- 旧分区表(没有 store 分区)的设备:
store_slots为 0,轮播自动不可用,其余功能不受影响。 - 算法基线 B2 12/12 MATCH,色彩与几何规格未变。
资产说明
- MoInk-FlashKit-R1.3.0.zip:Windows 一键刷机包,解压后双击 bat 即可(自动选串口、跳过蓝牙虚拟口);包内「使用说明.txt」含完整验收清单
- moink_R1.3.0_merged.bin:固件整包(R1.1.x 及更早线刷用,0x0 整包写入,含分区表,控制页已内嵌)
- moink_R1.3.0_app.bin:OTA 升级包(R1.2.0 起设备网页升级用)
- page-R1.3.0.html:控制页热更包(网页上传,免刷机)
版本校验
刷完在设备页面「设置 → 设备信息」应显示:版本 R1.3.0 / 接口 2。
真机验收清单(六项)
- V1 轮播添加(★本版重点):传第一张 → 屏幕立即显示、图库出现 1 张(彩色缩略 + 绿框);用「仅上传」传第二张 → 图库变 2 张但屏幕不变;再「上传并刷新」传第三张 → 屏幕切到第三张。设备重启后轮播仍在。
- V2 按键切图:设备睡着后短按按键 → 唤醒并切到下一张(不是重显当前张);连续短按在已有几张之间循环;长按 5 秒仍为恢复出厂。
- V3 图库管理:点缩略图 → 大图预览,方向 / 内容与屏上一致;点 × 删一张 → 后面的图前移、张数 −1;删掉当前显示那张后再按键不花屏;「清空轮播」→ 8 格全空、张数归 0。
- V4 满 8 拒绝:连续加到 8 张后再传 → 页面提示「轮播已满 8 张:请先删除或清空再上传」,且原图不被覆盖。
- V5 升级兼容:直接用
moink_R1.3.0_app.bin网页 OTA(分区表未变);升级后已有的轮播图与设置都保留。 - V6 回归(R1.2.2 已验收项,抽检):GPIO 四档仍能切、「保存并重启」正常、A1 屏无需留白(四个留白勾保持不勾)。