Claude Code ve ben bir USB-C ölçüm cihazı ters mühendisledik. Neredeyse tüm zamanları kablolarda geçirdim.


0

Tek Bir Cihaz, Yüzlerce Test: Açık Kodun Gücü ve Yapay Zekanın Rolü

Elektrik akışını, veri işleniş hızını veya güç transferini analiz etmek isteyen mühendisler için USB-C standartları, özellikle Power Delivery (PD) protokolü, giderek daha karmaşık hale geliyor. Piyasada bu altyapıyı ölçen birçok cihaz bulunsa da, çoğu kullanıcıya kapalı kutu bir yazılım ve kısıtlı özellik sunan çözümler hakim. Ancak geliştiriciler topluluğu, ticari üreticilerin sunduğu sınırlı araçlar yerine, daha esnek, çok platformlu ve topluluk odaklı alternatifler arayışına girdi. Bu bağlamda ortaya çıkan en ilginç gelişmelerden biri, POWER-Z KM003C adında küçük ve güçlü bir USB-C güç analiz cihazı için geliştirilmiş açık kaynaklı bir proje oldu. Geliştiriciler, bu donanımı kullanarak sadece voltaj ve akım gibi temel verileri değil, protokollerin derinliklerindeki pazarlık mekanizmalarını bile inceleyebilen kapsamlı bir ekosistem kurdular.

İnsan ve Yapay Zeka İşbirliğinin İzlenmesi

Geliştirme süreci, klasik yazılım mühendisliği normlarından oldukça farklı bir dinamik sergiledi. Proje tablosu incelendiğinde, 648'den fazla kod adımı (commit) ve 19 etiketlenmiş sürümün yanı sıra en yeni sürümden 7.875'ten fazla test senaryosunun başarılı bir şekilde tamamlanmış olduğu görülüyor. Bu kadar yoğun test hacmi, projenin güvenilirliğini artıran en önemli faktörlerden biri. İş süreçlerinde yapay zeka destekli kodlama araçlarının yoğun kullanımı dikkat çekti; toplamda 100'den fazla oturum boyunca bu dijital asistanlar proje üzerine çalıştı ve her oturum görünür terminal sekmesinde kaydedildi. Ancak tüm bu dijital gücü yönetenin tek bir insansı olduğu ortada; geliştirici ekibinin insan tarafı, süreçte çoğunlukla kabloları takıp çıkararak donanımı bağlamaya, onaylamak için "evet" diyerek süreci ilerletmeye ve en önemlisi cihazın zarar görmemesini ("brick etme") garanti altına almak için "cihazı bozma" talimatını sıkça hatırlatmaya odaklandı. Bu sadelik aslında büyük projelerde görülen karmaşık hiyerarşilerin aksine, pratik mühendislik bilgisi ve sorumluluğun tek bir omuzda toplandığının kanıtı niteliğinde.

Karşılaştırma: Ticari Çözümlerle Açık Alternatifler Arasındaki Fark

Ticari üretici, bu cihaz için POWER-Z Lab adında özel bir masaüstü programı sunmaktadır. Bu yazılım, Qt6 kütüphanesi üzerine inşa edilmiş olup iki ayrı yürütülebilir dosya halinde dağıtılıyor: ana uygulama olan Mtools.exe ve ayrı bir tetikleme aracı olarak PDM.exe. Üretici Windows tabanlı sistemler için kararlı sürümler sunarken, Mac kullanıcıları için Mart 2025'ten beri Telegram grubu üzerinden erişilebilen V3.0 beta sürümünü yayınladı. Linux işletim sistemleri ve tarayıcılar üzerindeki web tabanlı erişim konusunda ise resmi bir desteğin bulunmadığı gözlemlendi. Ayrıca üretici, seri port tetikleme komutlarını ve küçük bir C++ HID demosu aracılığıyla temel bir API betiği yayınlıyor. Bu dokümantasyon, başlık yapısı, temel komut seti ve canlı okumalar (voltaj, akım, D+/D- hatları ve CC pinleri) hakkında bilgi veriyor olsa da, içerik kalitesi konusunda ciddi eksiklikler barındırıyor. Ekibin tespiti, bu belgelere bakıldığında 15 farklı tutarsızlık tespit edildi; demo programındaki cihaz açma kontrolü hata yapmaya yatkın ve her zaman bulunan ilk cihaza erişmeye çalışıyor. Bu durum, ticari çözümlerin bazen kullanıcı deneyimini zayıflatan teknik hatalarla birlikte sunulabileceğini gösteriyor.

Protokolün Sırları Çözülüyor: Gerçek Donanım Üzerinde Reverse Engineering

Amaç, üreticinin uygulaması sunduğu tüm işlevleri kapsayan ancak kullanımı çok daha kolay ve şeffaf bir alternatif ortaya çıkarmaktı. Geliştirilen açık kaynaklı projenin çekirdeği yedi Rust kütüphanesinden oluşuyor; bunlar arasında protokol kütüphanesi (üç farklı taşınma yöntemi, çerçeveleme, kod çözücü ve kimlik doğrulama), WebAssembly için derlenebilen yapılar, I/O gerektirmeyen saf bir USB PD 3.2 kod çözücü, tetikleme motoru, CSV kayıt aracı, WebAssembly bağlamı, masaüstü komut satırı aracı (CLI) ve simüle edilmiş cihaz modülü bulunuyor. Bu altyapının üzerine dört farklı kullanım arayüzü kondu: Tauri 2 ve Svelte 5 kullanarak oluşturulan masaüstü uygulaması, uPlot grafik kütüphanesi ile güçlendirilmiş; hem Windows, macOS ve Linux sistemleri için uygun olan komut satırı aracı; Chrome veya Edge gibi tarayıcılardan doğrudan cihaza bağlanabilen web sürümü. Özellikle bu web sürümü, gerçek bir cihaz üzerinden WebUSB kullanarak çalışırken, 5 volt'tan 20 volta doğru artan basamaklar üzerinde durup grafikleri izleme özelliği sunuyor. Geliştiriciler, üreticinin kaynak kodunu kopyalamak yerine protokoli yeniden inşa ettiler ve çelişkili kaynaklar arasında karar verme yetkisini gerçek cihaz üzerindeki testlere bıraktılar. Böylece hem yazılımsal güvenliği artıran hem de donanımsal sınırlamaları aşan bir yapı oluşturuldu.

Değerlendirme: Gelecek İçin İpuçları ve Uyarılar

Bize göre, bu tür açık kaynaklı projeler sadece teknik bir başarı değil, teknolojinin nasıl geliştirildiği felsefesine de işaret eden önemli bir örnek. Geliştiriciler, temiz oda tasarımı (clean-room design) prensibi olan klasik yöntemlerden tam anlamıyla uzak durmadı ancak kendileri belirlediği kurallarla analoji çizdiler. Üreticinin ikincil kodlarını inceleyip kendi kodlarını yazarken analiz aşamasını ve uygulama aşamasını birbirinden ayırdılar; aradaki bağlantıyı yalnızca kendi kelimeleriyle notlara borçlu kaldılar. Görünen o ki, bu yaklaşım kesin bir sandık değil, daha çok esnek bir rehber niteliğinde. Şu da dikkat çekiyor; yapay zeka araçları artık sadece kod yazmayı kolaylaştırmıyor, aynı zamanda mühendislik kararlarını destekleyen ve riskleri azaltan birer ortak olarak konumlanıyor. Ancak gelecek için kesin tahminler yapmak yerine olasılık dili kullanmak gerekirse; bu tür hibrit iş modellerinin (insan-yapay zeka) açık kaynak ekosisteminde yaygınlaşacağını, ancak donanımla doğrudan etkileşim gerektiren konularda insan gözetiminin vazgeçilmez kalacağını öngörebiliriz.

Sırasında ne beklenebileceği konusunda ise projenin devam edip etmeyeceği ve yeni işletim sistemlerine veya donanım modellerine genişleyip genişlemediği takip edilmesi gereken konular arasında. Bu proje, teknik detayların yanı sıra topluluk katılımının nasıl bir yazılımın kalitesini ve sağlamlığını belirlediğini gösteriyor. Donanımsal testlerin yazılımsal doğrulama sürecinin merkezinde yer aldığı bu durum, gelecekte benzer açık kaynak girişimleri için önemli bir ders niteliğinde. Okuyucular için anlamı ise şudur: Teknolojinin kapalı kutulardan kurtulup şeffaf yapılara doğru evrildiğini ve bu süreçte hem mühendislik becerisinin hem de yapay zekanın dengeli bir şekilde kullanıldığını görmeyi sunuyor.

Bu haber tek bir yayıncının aktarımına dayanır; bağımsız kaynaklarla doğrulanmamıştır.

Bu yazı, aşağıdaki kaynaklardaki bilgiler okunup editoryal olarak özetlenerek hazırlanmıştır; “Değerlendirme” bölümü yazarın yorumudur. Ayrıntılar için kaynak sayfalarını ziyaret edebilirsiniz.

Haber Kaynakları

32400 Puan