Telltale
即時車輛遙測與故障診斷,透過 ELM327 轉接器讀取 OBD2。
Android / iOS / macOS · GPL-3.0
一個看起來合理的錯數字,比沒有數字更糟。
診斷 App 的輸出會被人拿著扳手去執行。一個顯示 −40 °C 的水溫錶會被當成感測器壞掉; 一句「沒有故障碼」會讓人開走一台其實有問題的車。所以這裡的每一條規則都是為了讓 「不確定」看起來像不確定,而不是像一個答案。
- 回應解析用白名單 —— 只接受整行都是 hex byte pair 的行
- 多 ECU 給出兩個答案時,兩個都不採用
- 「已回應的控制器沒有故障碼」不會被寫成「這台車沒有故障碼」
- 凍結幀的致因碼是閘門 —— 讀不到就什麼都不顯示,不會給你一份全零的假紀錄
- 推算值標明來源,輸入缺一個就整條顯示不可用
Telltale
Real-time vehicle telemetry and fault diagnosis over an ELM327 OBD2 adapter.
Android / iOS / macOS · GPL-3.0
A plausible wrong number is worse than no number.
People act on what a diagnostic app tells them, with a spanner in hand. A coolant gauge reading −40 °C gets read as a dead sensor; "no fault codes" sends somebody away in a car that has them. So every rule here exists to make uncertainty look like uncertainty instead of like an answer.
- Responses are parsed by whitelist — a line is accepted only if the whole of it is hex byte pairs
- When two ECUs answer at once, neither answer is used
- "The controllers that replied have no fault codes" is never rendered as "this car has no fault codes"
- The freeze-frame cause code is a gate: no cause, no frame, nothing shown — rather than a precise and entirely fictional record of all zeroes
- Derived values carry their provenance, and the whole strip goes unavailable if one input is missing