Skip to content

feat(ui): ギア表示を実ギアに修正し、オイル残を ATF 油温に差し替える - #177

Merged
RyoheiHashimoto merged 2 commits into
developfrom
fix/ui-engaged-gear
Sep 1, 2026
Merged

feat(ui): ギア表示を実ギアに修正し、オイル残を ATF 油温に差し替える#177
RyoheiHashimoto merged 2 commits into
developfrom
fix/ui-engaged-gear

Conversation

@RyoheiHashimoto

Copy link
Copy Markdown
Owner

症状

運転者からの報告:

速度が落ち切る前に2速に落としたとき、落ちてないのに2速表示になってた

updateGeard.gear(目標ギア) を渡していた。目標ギアは変速指令が出た瞬間に切り替わるので、実際に噛む前に新しい段が表示される。

実測で裏が取れた

2026-09-01、114分・17,681サンプル(#153 以降のログ):

実ギア有効 97.4%
実ギアが不定 2.6%(中央0.40秒、最長2.9秒)
目標≠実ギア 2.4% → 114分の走行で約83秒間、嘘の段が出ていた

内訳:

目標4→実3 ×179   目標3→実4 ×109
目標3→実2 ×64    目標2→実3 ×48   ← 報告と一致

修正

d.engaged_gear(ギア比から求めた実ギア、#153)を使う。

変速の過渡で実ギアが不定(0)になる間は直前値を保持する。0 に落とすと変速のたびに段が消える。ロック率が同じ理由で直前値を保持しているのに揃えた。

検証

Mac 上にモックAPI + WebSocket サーバを立て、実車と同じ画面を出して確認した。

目標2速・実3速の状態を意図的に作り、

  • 修正前 → 「2」(目標ギア)
  • 修正後 → 「3」(実ギア)

と表示されることを画面で確認済み。

🤖 Generated with Claude Code

https://claude.ai/code/session_01JeHX6eyTnRPgubr7XLL8ZB

RyoheiHashimoto and others added 2 commits September 2, 2026 01:01
updateGear に d.gear (目標ギア) を渡していた。目標ギアは変速指令が出た
瞬間に切り替わるので、実際に噛む前に新しい段が表示される。

運転者からの報告: 「速度が落ち切る前に2速に落としたとき、落ちてないのに
2速表示になってた」

実測 (2026-09-01、114分・17,681サンプル) でも裏が取れた。

  実ギア有効        97.4%
  実ギアが不定       2.6%  (中央0.40秒、最長2.9秒)
  目標≠実ギア        2.4%  → 114分の走行で約83秒間、嘘の段が出ていた

  内訳: 目標4→実3 ×179  目標3→実4 ×109
        目標3→実2 ×64   目標2→実3 ×48  ← 報告と一致

d.engaged_gear (ギア比から求めた実ギア、#153) を使う。変速の過渡で実ギア
が不定 (0) になる間は直前値を保持する。0 に落とすと変速のたびに段が消える。
ロック率が同じ理由で直前値を保持しているのに揃えた。

## 検証

Mac 上にモックAPI + WebSocket サーバを立て、実車と同じ画面を出して確認した。
目標2速・実3速の状態を意図的に作り、修正前は「2」、修正後は「3」と表示
されることを画面で確認済み。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JeHX6eyTnRPgubr7XLL8ZB
## なぜ差し替えるか

オイル交換までの残距離は、走行中は走った距離ぶんしか動かない。TRIP の
複製でしかなく、1回の走行で情報が増えない。整備の目安は停車中に見れば足りる。

一方 ATF 油温は 1回の走行で 54.1℃ 動く。表示中のどの値より大きい。

  ATF油温      54.1℃    0.48/分
  水温         20.0℃    0.18/分
  ECO(平均燃費) 2.5km/L  0.02/分
  オイル残     走行距離ぶんのみ

新東名では 110℃超が 58.4分、最高 116.7℃ に達していたが、運転者はそれを
走行中に知る手段が無く、あとからログで確認していた。

## 区分は「1段 = 油の寿命が半分」

業界の経験則では 20°F (11.1℃) 上がるごとに ATF の寿命が半減する。
10℃刻みがちょうど1段ぶんにあたるので、90/100/110/120 で切った。

実測 24.1時間 (426,440サンプル) での滞在割合と劣化速度:

  緑    〜90℃    59.0%   0.8倍
  黄緑  90-100   21.4%   2.7倍
  黄   100-110   14.2%   5.2倍
  橙   110-120    5.4%   8.3倍
  赤   120〜      0.0%   未到達

走行の種類との対応:

  停車・アイドル      緑93%
  街乗り (<25km/h)    緑84% / 黄緑14%
  流れの良い道        緑55% / 黄緑35%
  高速巡航 (70km/h+)  黄緑39% / 黄35% / 橙15%

高速に乗ると黄緑、踏み続けると黄へ移る。赤は 24時間で一度も出ておらず、
出たときは何かが違うという意味を持つ。

## 旧しきい値 (100/120/130) の問題

120℃も130℃も一度も超えたことがなく、上2段が死んでいた。そして意味のある
領域が全部「黄」に潰れていて、101℃ と 116℃ が同じ色だった。130℃ を基準に
すると、この車が実際にいる範囲 (60〜117℃) の外に目盛りが行ってしまう。

## 実装

ATFAlert を ATFLevel に改めた。返り値は表示色を引くキーで、そのまま画面に
出す文言ではない。しきい値は Go 側の1か所に置き、UI はキーから色を引くだけに
した。ATFAlert は今日書いた表示コードからしか使われておらず、通知には
使っていないので影響は無い。

## 検証

Mac 上にモックAPI + WebSocket サーバを立て、実車と同じ画面で確認した。
85℃ 緑 / 115℃ 橙 / 125℃ 赤 を画面で目視。境界値 89.9/90/99.9/100/109.9/
110/116.7/120 での区分が正しいことも確認済み。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JeHX6eyTnRPgubr7XLL8ZB
@RyoheiHashimoto RyoheiHashimoto changed the title fix(ui): ギア表示が目標ギアで、実際に噛む前に切り替わっていた feat(ui): ギア表示を実ギアに修正し、オイル残を ATF 油温に差し替える Sep 1, 2026
@RyoheiHashimoto
RyoheiHashimoto merged commit 1c7492c into develop Sep 1, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant