Microsoft hilft mit

Grundsätzlich kann jede ausführbare Datei mit Hilfe eines Decompilers analysiert und in eine lesbare Programmiersprache zurückübersetzt werden. Bei .NET geht es sogar einen Schritt weiter: Der ursprüngliche Quellcode lässt sich mit Ausnahme der Kommentare fast vollständig wiederherstellen.

Stellenmarkt
  1. Software Entwicklungsingenieur*in (d/m/w)
    OSRAM GmbH, Paderborn
  2. Mitarbeiter (m/w/d) im internen IT-Support
    NOVENTI Health SE, Bietigheim-Bissingen, München
Detailsuche

Ich entscheide mich, mein Glück mit dem .NET Decompiler ILSPY zu versuchen. Nach dem Öffnen der DLL in ILSPY werde ich mit einer Vielzahl an Klassen begrüßt - und lande einen Volltreffer: GridPlusControl. Das klingt nach dem, was ich suche!

  • NZXT Grid+ (Bild: Matthias Riegler)
  • Steuerplatine, Frontseite (Bild: Matthias Riegler)
  • Steuerplatine, Rückseite (Bild: Matthias Riegler)
  • ILSpy (Bild: Matthias Riegler)
ILSpy (Bild: Matthias Riegler)

Die Drehzahl steuern

Während ich den Quellcode überfliege, werde ich auf die Funktion SetGridPlusVoltage() aufmerksam. Es werden zwei Funktionen aus weiteren Klassen aufgerufen, die ich mir daraufhin anschaue. Was zunächst komplex aussieht, stellt sich als simpel heraus. Zunächst wird eine ID gesendet, darauf ein Index, gefolgt von dem Dezimalwert 192, gefolgt von zwei Null-Bytes. Warum 192 gesendet wird, ist mir nicht ganz klar, auch die beiden Null-Bytes irritieren mich. Anschließend wird eine Spannung übermittelt. Insgesamt ergibt sich also folgende Kette (hier für 12,4 Volt):


[ID, index ,192, 0, 0, 12, 40]

Golem Akademie
  1. Azure und AWS Cloudnutzung absichern: virtueller Zwei-Tage-Workshop
    17.–18. März 2022, virtuell
  2. Jira für Systemadministratoren: virtueller Zwei-Tage-Workshop
    9.–10. Dezember 2021, virtuell
Weitere IT-Trainings

Die Eingangsspannung liegt in einem Intervall von 0 bis 12,4 Volt. Um diese zu übertragen, wird das vorletzte Byte auf den Wert vor dem Komma gesetzt. Das letzte Byte wird in zwei 4-Bit Blöcke unterteilt, welche die erste und zweite Nachkommastelle aufnehmen.

Die 0,01 Volt-Schritte verwerfe ich, so genau muss ich die Lüfter nicht steuern können. Sauber aufgeschrieben sieht die Prozedur in Python so aus:

  1. def set_voltage(index , voltage):
  2. vsteps = int(voltage*10)
  3. return [ID_SET_VOLTAGE, index
  4. , 192, 0, 0, (vsteps/10), ((vsteps % 10) << 4)]

Die Drehzahl auslesen

Die Drehzahl kann ich über die Spannung regeln. Wenn der Computer unter dem Schreibtisch steht, ist es mühselig, jedes Mal die Verkleidung zu öffnen und zu schauen, ob meine neuen Einstellungen übernommen wurden. Ich schaue mir wieder die Klasse an und finde die Funktion mit dem Namen GetAllRPM(). Das scheint genau das zu sein, was ich brauche. Eine zwei Byte lange Anfrage resultiert in einer fünf Byte langen Antwort.

Die Anfrage:


[ID_GET_RPM, 1]

Drei der fünf Byte scheinen fix zu sein - 60 Prozent Überschuss ist schon eine Leistung! Auswertung der Antwort:

  1. def get_rpm_cmd(index):
  2. return [138, index]
  3. def get_rpm_response(response):
  4. return (int(response[3]) << 8) + int(response[4])

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed
 NZXT: Lüfter auch unter Linux steuernDas Programm testen 
  1.  
  2. 1
  3. 2
  4. 3
  5. 4
  6. 5
  7.  


lespocky 04. Apr 2017

Der scheinbar komische Wert 192, der fest mitgegeben werden muss, ist vermutlich ein Byte...

captain_spaulding 27. Mär 2017

Da dieses Teil einen ganz normalen Serial Port benutzt, macht zumindest dieser Teil keine...

aha47 26. Mär 2017

Welche jetzt konkret? Stimmt, leider sind die "meisten Linux User" offenbar aus der...

scheuerseife 25. Mär 2017

Eine Alternative Java Software für das NZXT Grid+ Hat RoelGo schon 2016 unter der MIT...

1ras 24. Mär 2017

Ja, kenne ich. Von den USB nach RS-232 Wandlern gibt es leider ziemlich viele...



Aktuell auf der Startseite von Golem.de
Pornhub, Youporn, Mydirtyhobby
Gericht bestätigt Zugangsverbot für Pornoportale

Die Landesmedienanstalt NRW hat zu Recht gegen drei Pornoportale mit Sitz in Zypern ein Zugangsverbot verhängt.

Pornhub, Youporn, Mydirtyhobby: Gericht bestätigt Zugangsverbot für Pornoportale
Artikel
  1. Zip: Ratenzahlung in Microsoft Edge empört die Community
    Zip
    Ratenzahlung in Microsoft Edge empört die Community

    Die App Zip wird seit Microsoft Edge 96 standardmäßig aktiviert. Diese bietet Ratenzahlung an, schürt aber nur Hass in der Community.

  2. Kompakter Einstieg in die Netzwerktechnik
     
    Kompakter Einstieg in die Netzwerktechnik

    Die Golem Akademie bietet Admins und IT-Sicherheitsbeauftragten in einem Fünf-Tage-Workshop einen umfassenden Überblick über Netzwerktechnologien und -konzepte.
    Sponsored Post von Golem Akademie

  3. Razer Zephyr im Test: Gesichtsmaske mit Stil bringt nicht viel
    Razer Zephyr im Test
    Gesichtsmaske mit Stil bringt nicht viel

    Einmal Cyberpunk mit Beleuchtung bitte: Tragen wir Razers Zephyr in der U-Bahn, fallen wir auf. Allerdings ist das Produkt nicht ausgereift.
    Ein Test von Oliver Nickel

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    Daily Deals • Last Minute Angebote bei Amazon • Crucial-RAM zu Bestpreisen (u. a. 16GB Kit DDR4-3600 73,99€) • HP 27" FHD 165Hz 199,90€ • Razer Iskur X Gaming-Stuhl 239,99€ • Adventskalender bei MM/Saturn (u. a. Surface Pro 7+ 849€) • Alternate (u. a. Adata 1TB PCIe-4.0-SSD für 129,90€) [Werbung]
    •  /