Skip to content

Releases: yueyangw/ChameleonUltra

v2.3.0-next.1 — 16 slots & reader-driven polling

Choose a tag to compare

@yueyangw yueyangw released this 04 Nov 08:08

First release of the Next fork, based on upstream v2.3.0. Best used with Chameleon Ultra Next v0.1.0.

English | 简体中文

English

New

  • 16 emulation slots. The slot record moves to v9 and is migrated from v8 on first boot, slots 1–8 are kept. Legacy 8-slot commands are unchanged, so official clients keep working (they only see slots 1–8).
  • Reader-driven slot polling. While in a reader field the device rotates through the enabled slots based on what the reader does with each card (polls, select, HALT, MIFARE Classic auth result, field reset), not on a timer:
    • UID-only readers read each card 1 + re-read count times, then the next slot is presented.
    • A slot with a successful MIFARE auth is kept while the reader keeps talking.
    • Failed auths end the visit; the slot is skipped once in the next round.
    • Slots a reader polls but never selects are left after ~3 measured poll periods.
    • Phones that pause their field every ~2 s keep the slot they worked on for a few sessions.
  • Polling only starts on a wake-up by an RF field; a manual slot switch stops it for that cycle.
  • Slot switches during polling keep NFC sensing alive and skip the LED fade (< 1 ms instead of ~140 ms).
  • New commands 1900–1904 (16-slot info, polling config/status) and development-only 1905/1906 (polling lab log). See the README for the layouts.

Fixes

  • Polling config is now persisted correctly (record size mismatch with FDS).
  • No-field timeout so the device can sleep again if a switch disabled sensing without a field-lost event.
  • NFCT is reset on field loss while polling, preventing garbage answers after many rapid swaps.
  • LED array out-of-bounds for slots 9–16; active slot validated on load.

Included from upstream since v2.3.0

Install

Flash ultra-dfu-app.zip (application-only DFU package, standard DFU key) with Chameleon Ultra Next (Tools → Firmware update, over USB) or any client that flashes DFU zips. You can go back to the official firmware the same way. Ultra only; Lite is not built for this release.

简体中文

新功能

  • 16 个模拟卡槽。 卡槽记录升级到 v9,首次启动自动从 v8 迁移,原有 1–8 号卡槽保留。旧的 8 卡槽命令保持不变,官方客户端仍可使用(只能看到 1–8 号卡槽)。
  • 按读卡器行为切换的卡槽轮询。 在读卡器的场中,设备依据读卡器对每张卡的实际操作(轮询、选卡、HALT、MIFARE Classic 认证结果、场复位)在已启用的卡槽之间切换,而不是按固定时间:
    • 只读 UID 的读卡器:每张卡被读 1 + 重读次数 次后出示下一个卡槽。
    • MIFARE 认证成功的卡槽:读卡器持续通信期间一直保持。
    • 认证失败:结束本次停留,该卡槽在下一轮被跳过一次。
    • 读卡器一直轮询却从不选卡:约 3 个实测轮询周期后换卡槽。
    • 每隔约 2 秒暂停场的手机:在若干次会话内保持它处理过的卡槽。
  • 只有被 RF 场唤醒时才启动轮询;手动切换卡槽后本次唤醒周期内停止轮询。
  • 轮询中的卡槽切换不关闭 NFC 感应,也跳过 LED 渐变(耗时从约 140 ms 降到 1 ms 以内)。
  • 新增命令 1900–1904(16 卡槽信息、轮询配置与状态),以及仅开发用的 1905/1906(轮询实验日志)。数据格式见 README。

修复

  • 轮询配置现在能正确保存(之前记录长度与 FDS 写入长度不一致)。
  • 增加无场超时,切换卡槽关闭感应却没收到掉场事件时设备也能重新休眠。
  • 轮询期间掉场时复位 NFCT,避免多次快速切换后回复乱码。
  • 修复 9–16 号卡槽的 LED 数组越界;加载时校验当前卡槽号。

合入的上游修复(v2.3.0 之后)

安装

用 Chameleon Ultra Next(工具 → 固件升级,通过 USB)或任何支持 DFU zip 的客户端刷写 ultra-dfu-app.zip(只含应用程序的 DFU 包,使用标准 DFU 密钥)。回到官方固件也用同样的方法。本版本只提供 Ultra,不含 Lite。

SHA-256

ddb63751b5bd3c2db812b35c64a246d0b7a05e4256ccdc1d67f864376f6474d9  ultra-dfu-app.zip