Releases: roflsunriz/esp32-codex-usage
Releases · roflsunriz/esp32-codex-usage
Release list
v0.4.0
Added
- 使用量タブと設定タブの状態表示へ次の取得までの残り秒数(例: 更新済み あと42秒)を追加した。取得中は更新中の表示になり、取得間隔が不明な間は従来どおり状態のみを表示する。
- 設定タブの自動消灯を固定9択からスライダー方式へ変え、0〜59分のスライダー、0〜24時間のスライダー、60〜600秒(60秒刻み)の取得間隔スライダーとスクロールバーを追加した。内容ドラッグでのスクロールとスライダーのドラッグ操作に対応し、タブ上から始まった接触はスクロールしない。0分0時間は自動消灯オフ(常時点灯)と同じになり、従来の保存値は引き続き有効である。
- 接続タブは未認証時のみ表示し、認証済みは使用量と設定の2タブにした。手動の更新ボタンを撤去し、設定タブの操作ボタンは初期設定だけにした(再ログインは接続タブ、取得は取得間隔スライダーでまかなう)。
v0.3.0
Added
- 使用量タブの5時間・週間表示に、リセット日時と残り時間を追加した。リセット日時は使用量応答の
reset_atをJSTへ換算し、残り時間は基本「あとX日Y時間」、24時間未満は「あとX時間Y分」で表示する。取得がなくても分の変わり目で表示を進める。
Changed
- 使用量の自動取得を約60秒ごとから約5分ごとに変えた。手動更新とWi-Fi再接続時はすぐに取得し、失敗時は最大15分まで間隔を延ばす。
v0.2.2
Fixed
- 初期設定ページがスマートフォンとPCのブラウザで真っ白になる問題を修正。約36KBのHTMLをヒープへ複写せず、PROGMEMから前半・nonce・後半に分けて配信する。新規ESP32の実機でページ表示とセットアップ完了を確認した。
v0.2.1
Fixed
- タブ切替後に画面右側の前ページが残る可能性を修正。8-bit Spriteの全幅320ピクセルを消去してから差分を転送する。
v0.2.0
Added
- タッチペンの軽い押下や基板ごとの位置ずれに対応するため、BOOT長押しで開始する2点の位置・押圧感度調整とNVS保存を追加した。
Changed
- 通常画面とタブ操作を通知用CYDと同じTFT_eSPI描画、16px日本語字形、別SPIのXPT2046入力へ揃えた。消灯時の復帰と保存済み設定は引き継ぐ。
- 再描画のたびに全画面を転送しないよう、8-bit Spriteを16行単位で比較し、変化した帯だけをまとめて転送する。回転・復帰・校正後は全帯を更新する。
既知の問題: タブ切替時に画面右側の前ページが残る可能性があります。v0.2.1で修正済みです。
v0.1.0
初回正式リリースです。実機で新規デバイス認証、ESP32自身によるトークン更新3回、認証情報の保存と再起動後の継続利用を確認しました。
firmware.factory.bin は初回導入用で、0x0からの書き込みは設定領域も上書きします。元ファームウェアをバックアップしてから導入してください。5時間枠がAPIから提供されない場合は -- と表示します。使用量APIの将来的な互換性は保証されません。
更新試行で一度だけ応答形式エラーを観測し、その後の3回は成功しました。原因は未確定で、詳細と残る確認範囲は verification.md に記載しています。
Added
- 初回認証と保存済み更新トークンの継続利用を実機で確認し、通常利用を開始するための検証結果を更新。
- 更新処理の実行と保存成功を秘密情報なしで確認できる、配布対象外のUSB診断機能を追加。
Fixed
- CIのブラウザ試験後に一時プロファイルの削除が競合しないよう、専用プロセスグループの終了と期限付きの削除再試行を追加。
v0.1.0-beta.1
初回ベータリリースです。初回のデバイス認証承認と更新トークンによる更新成功は、Cloudflare確認が必要なため未検証です。実機では使用量取得、消灯・復帰、BOOT反転、設定保存、再起動後のWi-Fi再接続を確認しました。
firmware.factory.bin は初回導入用で、0x0から書き込むと設定領域も上書きします。必ず元ファームウェアをバックアップしてください。5時間枠がAPIから提供されない場合は -- と表示します。
Added
- ESP32-2432S028R向けLovyanGFX表示、XPT2046タッチ、320×240横向きUIを追加。
- 使用量、設定、接続の3タブと、15秒から2時間まで9種類の自動消灯を追加。
- BOOTボタン単押しで180度回転を切り替え、NVSへ保存する設定移行を追加。
- 消灯後の最初のタッチを復帰専用にする状態機械と、確認済みNVS設定だけを表示側へ反映する処理を追加。
- 操作のたびに画面がちらつかないよう、8-bit画面バッファで完成したフレームを転送する描画を追加。
- IPアドレス取得の途中で接続を切らないよう、Wi-Fi接続とDHCPの待ち時間を分ける再接続監視を追加。
- 再起動後もIPアドレスを取得できるよう、IP未取得時のDHCP応答をブロードキャストで要求する互換処理を追加。
- Wi-Fi初期設定AP、2.4 GHzルーター設定用Web画面、日本語・英語切り替え、APの15分自動停止と手動再開を追加。
- 公式デバイス認証、認証コードのポーリング、トークン更新、使用量取得、失敗時の再試行を追加。
- refresh tokenをNVSのJSON blobへ保存し、4,000バイト超のトークンにも対応。
- production用
cydと、合成タッチ・仮想時刻・画面状態取得用のcyd-diagnosticsプロファイルを追加。 - フルフラッシュのバックアップ・照合・復元を行う
scripts/flash-backup.pyを追加。
Changed
- WebServerの既知の修正を含むpioarduino platform 55.03.311(Arduino core 3.3.11、ESP-IDF 5.5.5)へ移行した。
- 使用量ウィンドウはフィールド順ではなく
limit_window_secondsで分類し、5時間枠が未提供の場合は代替クォータを表示しない。 - Linuxでも初期設定画面の検証を実行できるよう、テスト用Chromeの描画オプションをOSに合わせた。
Security
- TLSルート証明書を同梱し、認証・使用量通信で証明書検証を行う。
- 開発ツールの既知の脆弱性を避けるため、PlatformIO 6.2.0と修正済みStarlette 1.6.0を固定した。
- APIキーを保存せず、トークン・NVS・フラッシュバックアップを機密情報として扱う手順を追加した。
- Secure Boot、Flash Encryption、eFuseへの強制操作を更新・復元手順から除外した。