Ark 更新日志
这里仅记录 frame_film_ark 固件与 Flutter Ark App 的联合发布。只有新增加的正式发布节会在推送到 main 且两项构建成功后创建 GitHub Release。
[Unreleased]
[2026.11.09.2] - 2026-11-09
App: 0.4.9+13
- ForFilm 网页与 Ark App 的设备文件页支持勾选多张 Film 图片、统一确认删除。每删一张都会回读列表并按文件名定位下一张;失败时停止并报告已删除数量。动画目录保留单选操作。
- ForFilm 支持从同源发布目录获取固件,点开始后自动下载和校验;统一默认与明日方舟主题的控件、烧录页和大屏显示。确认硬件无 NFC 时隐藏卡包入口。
- 批量删除沿用现有设备协议,使用此功能无需更新设备固件。设备显示版本仍为 3.2.5。
[2026.11.09.1] - 2026-11-09
App: 0.4.8+12
本版修复网页串口烧录的硬件规格丢失,以及不同签名发行渠道混用导致的 App 更新问题。设备显示版本仍为 3.2.5;设备固件继续按硬件目标和 ELF 构建指纹识别更新。
网页串口烧录
- Ark 完整镜像候选保留机型名称、Flash、PSRAM 与总线信息,修复选择 N4R2 后把所需容量显示为
NaNMB、将正确的 ESP32-S3 / 4MB 设备误判为不匹配的问题。该错误来自网页字段遗漏,与设备原有固件版本无关。
- 保留 N4R2 / N16R8 的串口容量检查;规格数据缺失时明确提示重新获取镜像。完整镜像仍写入
0x0,不自动开启整片擦除。
- 更新两个相关脚本的缓存版本,避免新页面继续加载旧的目标对象结构。
App 更新渠道与覆盖升级
- App 更新仓库由编译参数
FRAMEFILM_APP_RELEASE_REPO 指定,默认官方 kirmisaki/FrameFilm;CI 自动使用发布所在仓库,保持 APK 签名与后续应用更新处于同一渠道。设备固件始终从官方仓库获取,两者不再绑定迁移。
Rafael-Ikaros/FrameFilm 的本版 APK 保留原发行签名,包名不变、版本代码从 10 提升到 12,可覆盖原 0.4.6 并保留 App 数据。不要用签名不同的上游官方 APK 代替覆盖包。
- 原 0.4.6 查询旧仓库时,11 月 4 日发布因故被撤为预发布,因而落到不含硬件清单的旧正式发布并报错。本版同时提供两个硬件 OTA 文件和完整清单,供旧客户端完成这次更新;没有将故障预发布重新转为正式版。
同步上游与测速代码清理
main 快进同步上游至 75158f0,保留已合入的历史成果;纳入官方更新源、卡包、休眠与网页相关修复。
- 移除
ARK_AP_FILE_BENCH、ARK_TRANSFER_BENCH、ARK_NETWORK_PERF 及专用测速、HTTP sink、测试回滚入口,保留正式 SoftAP + HTTP 传输。NFC 继续仅属于配备相关硬件的主板,不作为当前 N4R2 主板能力。
验证:9 项网页串口与经典机型定向测试通过;真实 ForFilm 页面在 Edge 中完成联网获取、完整镜像校验、目标确认与模拟串口写入,无页面异常;该测试没有写入实体设备。App 更新与硬件选择共 16 项定向测试通过,应用更新仓库分别以默认和自仓库配置通过测试,静态分析通过。本机 Release APK 已验证 AOT、包名、Android 9 最低支持和与旧 0.4.6 完全相同的签名,尚未实体安装验收。两款固件均以各自 SDKCONFIG 构建成功,硬件描述与 3.2.5 显示版本核对通过;本轮没有烧录设备。
[2026.11.07.1] - 2026-11-07
App: 0.4.7+11
本版把 2026-11-04 之后的 NFC 卡包、自动休眠与 ForFilm 在线固件相关改动一起发布。设备显示版本仍为 3.2.5,App 按 versionCode 更新,固件按实际 ELF 构建指纹与硬件目标匹配更新。
NFC 卡包
- NFC 卡包使用独立 BLE 通道
0x63~0x69;0x5C / 0x5D 恢复 SoftAP 与硬件身份的原语义,BLE 层不再按 payload 长度分流。
- 新增 NFC 总开关(持久化在
app8 槽位)、常驻卡模拟与 NFC 唤醒直达卡包;卡包界面中文化,原 WALLET 入口改名「卡包」,并接入 24 号字体。
- M1 卡模拟认证首帧
0x60 / 0x61 返回 4 字节 Nt,PICC 持续轮询;读卡成功后按返回键继续读卡。
- 修复模拟 / 读卡切换互相失效、NTAG READ 只读 16 字节、PICC 优先级、射频场 TX/RX 使能写反、读卡饿死 IDLE1、BCC0 校验与 wallet 目录创建等问题;移除冗余天线调制配置。
- st25r3916 驱动库迁入
components/film_libs,通过 EXTRA_COMPONENT_DIRS 引入并以 WHOLE_ARCHIVE 链接;硬件身份查询迁至 film_sys/sys_hw,删除 ARK_AP_FILE_BENCH / ARK_TRANSFER_BENCH / ARK_NETWORK_PERF 实验入口。
- ForFilm 的 NFC 卡包列表按
start 翻页读取全部卡片。
自动休眠与低功耗
- 新增自动休眠超时设置,与既有手动休眠入口并存。
- st25r3916 改用 IRQ 唤醒模拟任务,减少空闲轮询开销。
图像与 App
- App 接入 ColorQual 中性灰实验模式。
- App、Flutter 网页和 ForFilm 的「512 色预览 · I006」默认开启连续色调,仍可关闭以对照原 I006。沿用 I006 调色控件与 ABC9 导出。
CI 与 ForFilm 在线固件
- Ark CI 分别提供 N4R2 与 N16R8 的完整串口镜像,正式发布时与对应 OTA 文件一起附上,供从
0x0 烧录和恢复设备。
- ForFilm 串口烧录可按 Ark 实物规格获取正式 Release 的完整镜像。设备控制页按硬件身份、实际 OTA 容量和 ELF 指纹检查升级,兼容不支持硬件身份查询的旧 Ark。GitHub 跨域限制下可直接下载对应附件并在页面导入校验。
- 经典
frame_film Pro 新增正式 Release 发布链路(tag frame-film-v* 或手动指定版本),由 CI 校验 12 个「硬件规格 × 屏幕」组合并生成清单与完整串口镜像;ForFilm 串口在线获取同时支持 Ark 与经典 Pro。Ark 与 Flutter 的固件更新查询忽略 frame-film- 开头的 Release,避免互相抢选。
设备文件列表对齐网页
- 设备文件按 ForFilm 的显示与使用方式常驻设置页:“FILM设置”标题右侧刷新,边框内文件列表最高 180px 并独立滚动;每行是 checkbox、ID 与单行文件名,当前显示文件用背景标记。checkbox 为单选,再次点击可取消。
- 列表下统一使用“删除文件 / 选择显示”按钮;未选择时提示先选文件,选中本身不触发设备显示,刷新清除选择。连接页 SD 卡“图片 / 动画 · 查看”跳到设置页并读取对应目录。
- 目录查询保持只读,删除继续确认文件名、支持取消并检查设备当前 app;明确授权显示后不会自动继续删除。不改原生桥接或协议。
验证:12 项设备文件定向 Flutter 测试通过,覆盖手机/平板 80 文件独立滚动、常驻列表、checkbox 单选与取消、无选择提示、刷新清除选择、目录入口及删除授权;四个受影响 Dart 文件静态分析无 error/warning,保留 SD 容量格式化原有的一项括号风格 info。debug Web 构建成功;人工检查使用模拟设备,确认“FILM设置”常驻、右侧刷新、checkbox / ID / 文件名及下方两个按钮,未出现折叠入口、目录条或操作说明;未选择文件点击“选择显示”显示“请先选择要显示的文件”。未构建新 APK 或固件,未做手机实体或设备文件显示/删除实机验收。
I006 预览与实屏差异
- 真实网页导出的 ABC9 文件格式有效,保持 720×480 单帧、16bitLE 与 691232 字节。保存到设备后,按文件名和活动文件 ID 确认目标;独立 fresh UART 记录确认完整 ABC9 刷新流程中的全清屏、三次 Qual 参考和关屏均完成。未做 SD 整文件内容哈希回读。
- 用户确认画面完整、方向正确,但对颜色颗粒与人物细节不满意,本项画质验收未通过。当前固定 cameraRGB 模型的预览不能可靠预测这张普通照片的实屏效果;文件有效与刷新完成不代表画质通过。
- 本项不改变 16bit 编码、色板、LUT 或驱动波形,固件版本保持 3.2.5。
I006 图片调节
- I006 提供抖动强度(0~5)、明暗范围拟合(0~1)、暖色收缩(0~1)、对比度与饱和度五项调节。暖色收缩默认 0.25、明暗范围拟合默认 0、扩散强度默认 1,保留原默认输出;强度 0 关闭扩散,1 为原蛇形 FS。I006 暖色值与其它算法分别保存,连续色调仍可独立切换、默认关闭。
- 参数变化沿用实时预览与过期任务取消流程,PNG 预览、film 导出与发送使用同一转换结果。导入 ABC9 实验 film 后仅保留原始码,禁用重新调参;需要调整时重新选择源图。
- ABC9 保持 720×480 单帧、16bitLE 与 691232 字节,不改固件、色板、LUT 或驱动波形。
验证:18 项相关 Flutter 测试通过,六个变更文件静态分析无问题;两端默认与八组参数组合均通过独立参考对照,JavaScript 参数、控件与导入只读检查通过。本地 debug Web 已更新,8780 服务主脚本与磁盘构建 SHA256 一致。手动 Web 检查完成 I006 选图、开启连续色调、暖色收缩 0.25→0.50→0.25 调节与恢复,五项滑块显示正确,预览完成并显示可下载或发送状态。上述验证覆盖离线转换、控件逻辑、Web 构建及调参交互;普通照片的实体显示结果见“I006 预览与实屏差异”,不作为画质通过依据。未构建新 APK 或固件。
高质量缩图分数面积修正
- Film 与头像共用的高质量缩图按真实像素覆盖面积加权,修正非整数缩小倍率下边界像素被截断、细条纹采样失真的问题。1080→405 的横向与纵向解析条纹恢复为约 96 / 128 / 159 的平均值。
- 保持 encoded sRGB byte 域、预乘透明像素先合成白底和不透明输出;沿用构图几何与任务取消机制,标准缩图行为不变。I006 量化配方保持原值,高质量模式的输入像素可因采样修正而改变。
验证:9 项缩图及直接相关构图测试通过,两个变更文件静态分析无问题;本地 debug Web 已更新,8780 服务返回的主脚本与磁盘构建 SHA256 一致。该采样改动尚未单独进行实屏对比;此前 I006 两文件实拍未包含这项修正,不作为其显示效果验收。未构建新 APK。
I006 连续色调测试选项
- App、Flutter 网页调试版与 ForFilm 的 I006 预览新增“连续色调(测试)”开关,默认关闭,仍可回到原 I006 逐码对照。开启后将现有 gamut 映射的连续目标直接送入原 423 状态误差扩散,减少中间预归色带;保留原暖色处理、暗暖色 shadow、代码别名及导出格式。
- 构图和预览计算沿用现有取消机制;导出 PNG 与 film 使用相同开关状态。没有替换测量色板、修改固件波形或声称获得新的稳定光学色数。
验证:15 项相关定向测试通过,debug Web 已更新;原 I006 默认与连续色调保留跨端对照。同源两份 691232 字节 ABC9 文件(原 I006:P411F001.film,连续色调:P411C001.film)经固定 BLE 工具保存,STOP 后确认新文件名可见,并分别用独立 fresh UART 确认全清屏、三次 Qual 参考和 A/B/C 刷新完成。实拍定性比较显示大块色阶分段和紫黑偏色减轻,暖灰黄与颗粒仍在;用户确认“整体明显改善,保留此方案继续优化”,作为后续工作基线。默认开关仍关闭,冻结旧 I006 输出保持。
本次每版一张实拍,自动 WB/AE、HDR auto 与生动风格保留,仅作定性比较,不代表色准或 512 种稳定光学颜色验收;未做 SD 整文件回读哈希,也未构建或实体安装新 APK。网页上传尝试因 URL 安全检查停止,本次实际上传使用 BLE 工具,不记为网页上传实机验收。
开机调度、旧固件首次升级与设备文件列表
- 修复初始化期间 SD 文件列表事件提前进入图片应用,与开机页并发操作 EPD、触发 SPI 断言重启或刷新超时的问题。启动门闸保持到目标应用真正切换;不改 LUT、电压或 I006 配方,设备显示版本仍为 3.2.5。
- App 为尚无硬件身份协议的旧固件增加 N4R2 / N16R8 手动选型,默认不选。首次发送和每次重试均确认实物配置;断连或换设备清除手选目标与在线候选。设备已声明硬件身份能力时,不能用手选绕过读取失败或目标不匹配。
- 设备文件改为默认收起的目录/数量抽屉,展开后使用最高 320px 的独立滚动列表;连接页“图片 / 动画 · 查看”会展开对应目录,刷新保留用户的收起状态。浏览仍只读,显示、删除语义保持。
- 实机发现异常后,将
ark-2026.11.04.1 暂改为预发布,停止自动推荐;本节修复尚未生成新的正式发行附件,已安装的 0.4.6+10 不包含手动选型和文件抽屉。
验证:两套修复固件均构建成功,启动事件顺序回归在旧源码失败、修复源码通过。N4R2 已通过 ForFilm 串口只写 0x30000,MD5 回读一致;网页重新生成的 W411I006.film 为 691232 字节,整文件 SHA-256 与认可的 I006 基准一致,BLE 完整保存并完成 A/B/C 三相刷新,用户确认完整、方向正确。软重启及 EN 硬复位后都正常完成开机页进入主菜单,未再出现开机抢刷与 SPI 断言;软重启后两次网页重连失败、电脑扫描未发现,EN 硬复位后恢复 GATT 和网页连接,原因尚未确定,不能据此断言为固件广播或 Windows 故障。
App 手动选型通过 20 项定向 Flutter 测试、native host 测试及真实 ARM64 compileDebugKotlin;文件抽屉通过手机/平板 80 文件及原删除/只读目录共 11 项定向测试,Web debug 已更新。未构建本次 APK,未做旧固件手动选型的手机实体 OTA;N16R8 仅构建验证,未做实体显示验收。
本版正式 APK 与固件附件由发布提交触发的 GitHub Actions 构建;本节改动沿用各自提交内的验证记录,未在本节重新做实机验收。
[2026.11.04.1] - 2026-11-04
App: 0.4.6+10
本版将高质量缩图、I006 512 色预览和硬件固件匹配统一发布,沿用既有 App 发行签名,最低支持 Android 9。设备显示版本仍为 3.2.5;App 按 versionCode 更新,固件按实际 ELF 构建指纹与硬件目标匹配更新。
首次升级提示: 旧固件尚无硬件身份查询时,新版 App 不会猜测型号,也不能直接开始 OTA。请先确认实物 N4R2 / N16R8,通过 ForFilm 网页蓝牙 OTA 安装对应的原始应用镜像,再由新版 App 自动识别后续更新。具体步骤见 硬件与首次升级说明。
同步上游 main(2026-11-04)
- 合并上游至
d411d93,纳入经典 frame_film 的 STD / Pro / Max 构建预设、Pro N4R2 / N16R8 双规格构建与 16 MB 分区配置,以及 clangd 编辑器配置。
- 上游这两次提交不修改 Ark 图像算法、波形、硬件身份或 App 更新源;保留本分支功能,未重写已发布历史。
I006 512 色预览与硬件固件匹配(2026-11-04)
- App、Flutter 网页调试版与 ForFilm 的 Film 页面新增“512 色预览 · I006”,沿用高质量缩图、构图调整和取消过期计算,可导出预览 PNG 与单帧实验 film;通行证继续使用彩色快刷,动画不混入实验格式。
- App 与网页共用冻结 I006 配置。完整测试图片的 345,600 个实际 ABC 三相码与原 I006 逐码一致;实验模拟图不代表已经验收 512 种稳定可辨光学颜色。
- Ark 增加独立的 ABC9 预览播放能力。上传前确认设备支持,固件严格检查格式、尺寸、单帧和代码范围;原显示波形与电压保持,显示版本仍为 3.2.5。
- 连接页原“连接信息 / SD 卡”卡片增加主控、N4R2 / N16R8 配置、Flash 和 PSRAM 信息。硬件信息来自设备,断连清除;无法识别时不自动猜型号。
- 固件更新按设备硬件身份选择对应发布附件,下载后验证镜像内目标,每次发送和重试再次读取设备身份及 OTA 分区容量;设备在激活新固件前也检查匹配,防止两种内存配置互刷。
- GitHub Actions 同时发布命名明确的 N4R2、N16R8 原始 OTA 镜像和硬件清单,清单从实际构建镜像生成;更新仍按 ELF 构建指纹识别,不按 3.2.5 判断。
- 旧固件没有硬件身份协议时,需要先按已确认型号完成一次识别固件升级;其他功能继续可用。OTA 不修改现有分区表。
验证:发布前已完成双端转换对照、网页交互、硬件选包与错误目标拒绝测试,两种 ESP-IDF 5.5.2 固件均在本地构建成功,Android 平台桥通过 Kotlin 编译及相关 host 测试。正式 APK、N4R2 / N16R8 固件和更新元数据由同一发布提交的 GitHub Actions 构建;发布附件尚未再次进行实体安装、OTA 或光学颜色验收。
实测 ColorQual 原值与 2.5% 校正仍保留为原有算法选项,本版不将旧色板直接拼入 I006。逐通道分析表明 2.5% 版等于在线性 RGB 中减去 0.025 再编码,并非针对黄绿偏色的白平衡校正;I006 沿用已接受的冻结配方,保持可对照性。
同步上游 main(2026-11-02)
- 合并
kirmisaki/FrameFilm main 至 7806d6e,纳入此前落后的 18 个提交,保留 Ark 高速 WiFi 直传、设备文件操作反馈和连接页去重修复。
- 按上游目录结构,将 Android 与 Flutter 工程统一放入
app/,FilmHub 服务放入 server/filmhub/;将本分支新增的 AP 网络控制、会话代码和连接页测试一并迁移,避免文件遗漏。
- 接入上游 Ark n4r2 / n16r8 双硬件 CI,以及经典固件、小程序与独立 C3 四色屏的更新;默认 OTA 发行附件继续使用 n4r2。
- App 与固件更新查询继续指向
Rafael-Ikaros/FrameFilm,保留上游和旧仓库下载地址兼容,避免合并后检测不到本仓库的发行版。
- 此前同步仅纳入源码;相关改动随本版统一发布。设备显示版本保持
3.2.5。
高质量缩图与此前三相实验记录
- Film 与头像编辑接入共享的高质量区域平均缩图,先抗锯齿下采样,再进行色调调整和原有自适应量化;保留“标准 · 原有缩图”供同图对照,不改变现有 film 格式。
- 拖动、缩放时继续实时显示构图;高质量设备预览采用 150ms 合并更新,参数变化会取消过期任务,防止旧结果覆盖新构图。Film 的构图预览与设备输出共用同一次缩图结果。
- 头像源图仍按最长边 640 与现有草稿大小限制保存,原有草稿缺少缩图选项时默认使用高质量模式;通行证继续使用 ColorFast 彩色快刷。
- 增加默认关闭的
CONFIG_ARK_EPD_ABC_DIAG 与独立色卡生成器,仅用于同屏三相数据实验;不改公开 film 格式、正常固件的色板或波形。512 个驱动组合不等于已验证的 512 种可辨颜色。
验证:网页完成桌面/手机尺寸下的同图对照、按住拖动与最终预览、头像应用,以及 Film 拖动重置后重新导出的字节一致性检查。先用现有 Android App 在 25053RP5CC 平板上通过 WiFi 上传标准版和高质量版,两份各 172832 字节,设备均确认完整接收并提交到 SD 卡,随后分别加载显示。平板相机实拍确认两图完整、方向正常,高质量版的细密斜线区域更均匀;拍摄角度略有差异,仅用于纹理定性比较,不能代替色度测量。
随后构建发行签名的本地测试 APK,并以相同签名覆盖安装,保留 App 数据。在平板原生端检查 Film 高质量/标准选择、按住拖动时的实时构图与最终预览;由新版 App 自行生成 N2A900A1.film,通过 WiFi 完整接收并落盘 172832 字节(DONE / error=0),相机确认实屏完整、方向正常。头像编辑检查高质量默认值、滑杆缩放 1.0→2.7、按住拖动、旋转与六色预览,取消测试导入并恢复原显示模式,未覆盖设备个人档案。未做 SD 整文件回读哈希,Film 原生端双指手势尚未单独验收;此前本地测试 APK 沿用 0.4.5+9;本版以 0.4.6+10 重新构建发布。
三相诊断另完成同屏的四张单次实屏对照:原第二相RAM复用与重写相同A的控制组肉眼基本一致,B=0明显偏深棕、B=7大面积偏黄并压缩层次。证明第二相数据会影响结果,不代表512色已可用;未标定新色板、未修改现有九份LUT,未覆盖通行证资料。各组统一清屏后使用原Qual三相,详细限制与来源见 docs/film/epd037a02.md。实验结束已恢复原正常固件并核对完整ELF指纹,相机确认普通高质量测试图的白底、色块和方向恢复正常;设备显示版本保持3.2.5。
第二轮补测B=1~6,并在同一拍摄时段重拍B=0/7,完成八页、512个A/B/C驱动组合的定性观察。固定B的单页分别呈蓝、青、红橙、紫灰、绿等色系;完整图片仍须逐像素选择各自的A/B/C。另对B=5在不同前一画面后复刷,并核对首尾原序列控制组,短期外观基本一致。共11次受控显示,未出现BUSY超时或明显错位。保留512行未校准相机RGB和原始JPEG,因EXIF曝光仍变化、白平衡自动,不把这些取样作为正式palette,也不声称已获得512种稳定可辨颜色;未改正式出图算法或通行证ColorFast路径。结束已恢复并核验原正常固件,App重连后普通测试图恢复显示;版本仍为3.2.5。
[2026.10.29.1] - 2026-10-29
App: 0.4.5+9
本次正式发布包含 2026-10-29 合入 main 的改动。App 升级为 0.4.5+9,沿用既有发行签名,最低支持 Android 9;设备显示版本保持 3.2.5,固件更新继续使用实际 ELF 构建指纹判断。
WiFi 高速直传
- Android 10 及以上接入新的 SoftAP 直传链路:BLE 负责准备与控制,Ark 建立临时直连网络,App 通过 Android 系统网络请求连接,手机或平板继续提供 HTTP 文件服务,Ark 接收并写入 SD 卡。无需手动进入 WiFi 设置选择设备热点;首次授权和后续提示仍受 Android 系统及厂商实现影响。
- 固件通过
0x59 能力查询的 bit4 宣告支持,通过新增 0x5C 预留会话并异步准备 AP;Film、通用文件与 OTA 复用既有 0x50、0x5A、0x57 启动格式。Android 9 与不支持该能力的旧固件保留原 P2P 传输路径。
- 数据传输期间按计划暂停 BLE,减少无线共存开销。App 此时通过 HTTP 服务端统计发送进度;发送到 100% 后仍需等待设备完成写入、恢复 BLE,并通过
0x51 回读最终状态,才确认保存成功。
- 普通文件传输完成后恢复 BLE 服务、广播与控制连接,无需重启设备。OTA 保留 READY、显式 apply、重启重连和完整构建指纹确认流程。
- 保留 HTTP 接收与 SD 写入流水线,配套调整 WiFi 接收缓冲、TCP 接收窗口及邮箱。系统 tick 调整后,将 SD 检测与重启兜底中的固定 tick 等待改为毫秒换算,保持原来的时间语义。
- 增加新链路的准备、网络生命周期、计划内 BLE 断开、终态确认、取消和重试处理,以及对应主机测试。测速入口默认关闭,正常构建不会自动运行测速任务。
实测结果与方案选择
测试使用同一台平板、同一台 Ark 和同一份 HT27A001.film(Bad Apple,47,347,232 字节)。下表按设备接收、SD 写入和最终提交完成的耗时计算,单位为十进制 MB/s,不是无线协商速率,也不是 App 发送峰值。
| 连接方案 |
完整接收与落盘耗时 |
平均速度 |
结果 |
| Ark SoftAP,第 1 轮 |
41.446816 秒 |
1.142 MB/s |
保存成功,BLE 恢复,App 确认完成 |
| Ark SoftAP,第 2 轮 |
41.758863 秒 |
1.134 MB/s |
保存成功,BLE 恢复,App 确认完成 |
| 手机自动建组、Ark 接入,数据期暂停 BLE |
108.733867 秒 |
0.435 MB/s |
保存成功,但速度低于目标 |
| 手机自动建组,并对齐到 2412 MHz,数据期暂停 BLE |
114.975813 秒 |
0.412 MB/s |
实际频率已核实,仍未达到目标 |
- 当前采用两轮实测超过 1 MB/s 的 Ark SoftAP 链路。手机建组方向的实验源码、测试 APK 与诊断记录未作为默认功能合入。
- 对照结束后,设备与平板均恢复到通过测试的 SoftAP 固件和 APK,并核对固件完整构建指纹、APK 哈希及源码备份。
- 以上结果仅代表当前设备组合和测试条件,不保证所有手机、距离及无线环境下的最低速度。
App 界面与操作反馈
- 修复连接首页重复显示设备名称和“正在读取设备信息 / 设备信息已更新”的问题:动态连接状态只在上方连接卡片显示一次,下方继续保留 SD 容量、图片数量与动画数量。
- 未连接设备时隐藏重复的空连接信息卡片,保留扫描入口与连接提示。
- 修复设备文件删除按钮看似正常却无响应的问题:设备未打开对应内容 app 时,点击删除会说明原因,并提供明确的“显示此文件”操作;显示后再次点击才进入删除确认。只读浏览不切换画面,取消不会删除文件。
- 保留与网页版一致的 Frame / Film 功能分区、编辑器顺序、导航及连接驱动的 ForFilm / 明日方舟主题切换规则。
同步上游 main
- 合并
kirmisaki/FrameFilm 上游 main 至 a4209ad,纳入此前落后的 7 个提交,保留本地 Ark 高速直传与 App 修复。
- 经典
frame_film 新增 3.98 英寸 SE0398 六色屏与 JD79665AA 四色屏(768×552),增加 Pro 机型 16MB Flash + Octal PSRAM 配置,并同步相关网页、协议及项目说明。
- Ark 继续使用固定 3.7 英寸 720×480 单机型配置;网页保留 Ark 身份判断与 46/55 色能力条件。
已验证与仍待验收
已验证:
- SoftAP 固件与同功能发行签名 APK 构建通过,两轮完整 Film 传输的设备接收字节、保存字节和预期大小一致,均为 DONE / error=0;BLE 计划暂停、恢复及 App 终态确认通过。
- 主机测试覆盖新链路的 Film、通用文件和 OTA 分支,以及发送进度、取消、晚取消和恢复条件。主机测试不等同于这些分支均已完成实体设备验收。
- 设备文件删除反馈已通过定向测试与平板提示、确认弹窗检查。
- 在小米 9 和平板上浏览现有 App 页面,并检查平板横竖屏。首页去重修复另通过手机与平板尺寸的两项定向 widget 测试和网页预览;该 UI 修复尚未在本次正式发布附件上重新进行实体设备验收。
上述实机验证使用发布前的本地构建;本次 CI 重新编译的正式 APK 与固件附件尚未再次进行安装、烧录验收。
仍待验收:
- 真正传输中途取消、部分文件清理后再从头重试的完整实机流程。
- 新 SoftAP 链路的 WiFi OTA 和通行证两文件上传实机流程。
- 本轮完整传输文件的 SD 回读哈希、更多 Android 厂商和首次网络授权体验。
- 上游新增 3.98 英寸屏的实体显示;本次未做这些经典机型的烧录验收。上游小程序尚未完整接入
0x08 四色屏的面板映射与四颜色文件头,保留上游现状,不影响 Ark 的 0x02 面板。
[2026.10.27.1] - 2026-10-27
App: 0.4.4+8
功能与修复
- 修复 App 重连及 WiFi OTA 重启后未自动恢复明日方舟主题的问题:连接成功时直接使用已扫描到的设备广播身份判断主题,不再依赖进入连接页手动刷新设备名称;继续尊重用户关闭主题的选择。
- 修复 WiFi OTA 失败后的恢复流程:重连时自动收尾未完成的传输会话并释放操作状态,使 Film 上传和设置操作可以继续使用。
- 调整 App 面板分组:连接信息与 SD 卡信息合并;固件升级与对应传输状态合并;应用更新与关于信息合并。
- 优化 Ark HTTP 文件直传:接收与落盘采用流水线,复用写入缓冲;配套调整 TCP 接收窗口和接收邮箱。保留进度、取消及失败清理流程,实际速度仍受手机或平板、直连信道和无线环境影响。
- 修复长动画导入与 WiFi 保存问题;已完成 Bad Apple 完整动画的上传及实体播放验收,画面正常并在播放结束后返回菜单。这不代表达到 25 fps 或 30 fps。
- 优化黑白动画 RAM 批量传输,保留已经验证的刷新时序;修复跨应用打开指定图片时先刷新旧图的问题,并补充 BUSY 边沿及刷新阶段耗时诊断。
- 修复查询 App 参数前未载入已保存状态的问题;补充本屏波形、扫描范围与实测结果的技术记录。
验证与当前边界:
- 本次主题修复已通过两项定向 widget 测试,并在当前平板覆盖安装发行签名 APK;WiFi OTA 后停留在设置页即可自动恢复明日方舟主题,重启后的固件构建指纹匹配。
- OTA 失败后重连的 Film 上传与设置操作已通过实机验证。设备已恢复正常固件,显示版本仍为 3.2.5,更新识别继续使用构建指纹。
- 独立测速中,约 47.35 MB 文件的纯 HTTP 接收约 112~148 KB/s,SD 连续写入约 2.02 MB/s,SD 整文件回读校验通过。两轮直连信道不同,不能把速度差异全部归因于参数修改;尚未实现 1 MB/s。
- HTTP 内部接收缓冲 16 KiB 等后续候选尚未完成测速验收,相关实验补丁和诊断固件仅保存在本地,未纳入本次提交。
- App 发布版本升级为 0.4.4+8,沿用既有发行签名,最低支持 Android 9;已安装正式版可通过应用内检查更新获取。上述实机验收使用同功能代码的本地构建,本次 Release APK 与固件由 CI 重新构建,发布产物本身尚未再次进行覆盖安装与设备升级验收。
此前已合入的改进
- Film 与头像编辑增加即时构图预览,连续拖动、缩放及颜色调整不再等待停止操作后才显示;后台合并设备色转换,仅允许导出当前参数对应的结果。修复拖动坐标换算、缩放焦点漂移及预览滚轮带动页面的问题。
- 通行证头像复用 Film 的色彩处理与自适应抖动;黑白模式共享 MonoFast,灰度继续通过黑白半色调表现。应用前保留最近完整预览,并保护取消、重新选择及重试时的异步状态。
- App 主题采用网页同款持久开关:默认开启,仅连接确认的 FRAMEFILMARK 后启用明日方舟主题,断连恢复 ForFilm;保留重看启动界面入口。
- 设备文件浏览改为独立的只读目录查询,不再因点击图片或动画目录而切换设备应用或刷新画面;显式显示及删除前按文件名重新核对实际 ID。
- 连接页展示 SD 总容量、剩余容量及图片/动画数量,并提供对应目录入口。Ark 新增只读协议 0x5B 与 0x59 能力 bit2;此功能需要配套固件,旧固件明确提示升级,未知或部分读取失败不显示为零。
[2026.10.22.1] - 2026-10-22
App: 0.4.3+7
[2026.10.16.3] - 2026-10-16
App: 0.4.2+6
[2026.10.16.2] - 2026-10-16
App: 0.4.1+5
- 包含下方 2026.10.16.1 的 App 与固件改进;该次发布由本次替代。
- 新设备及恢复默认后的 LED 默认使用上游“自动”模式,无操作约 20 秒后熄灯;按键或蓝牙连接状态变化后重新亮起。升级继续保留已有用户设置。
- App 使用发行签名,首次从旧 debug 签名正式包迁移前需备份本地资料;最低 Android 9,
.dev 开发包可并行保留。
- 固件以构建指纹识别更新,显示版本仍为 3.2.5。本次尚未完成真实设备升级验收。
[2026.10.16.1] - 2026-10-16
App: 0.4.1+5
- App 使用固定发行签名,支持应用内下载更新、查看进度、取消与重试,下载完成后交给 Android 系统安装。
- 页面切换加入淡入与位移动画;连接设备并完成初始化后自动读取当前目录文件。
- 干员头像支持黑白、灰度和六色显示,支持构图位置、缩放、旋转、亮度、对比度、饱和度与抖动调整;本地保留源图和编辑参数。
- 合并上游蓝牙名称存储重构、LED 自动模式、休眠准备、文件列表扫描、开机切图修复及 ForFilm Web Serial 烧录功能。
- 固件增加 v5→v6 参数迁移,保留旧系统设置与自定义蓝牙名;保留 0x59 彩色通行证能力查询。
- 固件 OTA 包与完整烧录、调试附件分开;固件仍显示 3.2.5,以实际构建指纹识别是否相同。
安装说明:最低 Android 9。旧 debug 签名正式包不能直接覆盖安装此发行签名包,首次迁移前请备份 App 本地资料;.dev 开发版可并行保留。以后使用相同发行密钥且更高 versionCode 的版本可通过 App 内更新。
验证边界:本次提供编译、定向测试与模拟器检查结果,不代表已完成本次固件在实体设备上的升级和屏幕验收。