Abo
  • Services:

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. Lufthansa Industry Solutions TS GmbH, Oldenburg
  2. infoteam Software AG, Bubenreuth,Dortmund

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]

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])

 NZXT: Lüfter auch unter Linux steuernDas Programm testen 
  1.  
  2. 1
  3. 2
  4. 3
  5. 4
  6. 5
  7.  


Anzeige
Hardware-Angebote
  1. bei Alternate.de
  2. 107,85€ + Versand
  3. 120,84€ + Versand
  4. täglich neue Deals bei Alternate.de

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...


Folgen Sie uns
       


PUBG für Smartphones - Test

Wir testen PUBG für Smartphones - eine sehr gute Umsetzung der ursprünglichen Version für PC und Konsole.

PUBG für Smartphones - Test Video aufrufen
Dell XPS 13 (9370) im Test: Sehr gut ist nicht besser
Dell XPS 13 (9370) im Test
Sehr gut ist nicht besser

Mit dem XPS 13 (9370) hat Dell sein bisher exzellentes Ultrabook in nahezu allen Bereichen überarbeitet - und es teilweise verschlechtert. Der Akku etwa ist kleiner, das spiegelnde Display nervt. Dafür überzeugen die USB-C-Ports, die Kühlung sowie die Tastatur, und die Webcam wurde sinnvoller.
Ein Test von Marc Sauter und Sebastian Grüner

  1. Ultrabook Dell hat das XPS 13 ruiniert
  2. XPS 13 (9370) Dells Ultrabook wird dünner und läuft kürzer
  3. Ultrabook Dell aktualisiert XPS 13 mit Quadcore-Chip

P20 Pro im Kameratest: Huaweis Dreifach-Kamera schlägt die Konkurrenz
P20 Pro im Kameratest
Huaweis Dreifach-Kamera schlägt die Konkurrenz

Mit dem P20 Pro will Huawei sich an die Spitze der Smartphone-Kameras katapultieren. Im Vergleich mit der aktuellen Konkurrenz zeigt sich, dass das P20 Pro tatsächlich über eine sehr gute Kamera verfügt: Die KI-Funktionen können unerfahrenen Nutzern zudem das Fotografieren erleichtern.
Ein Test von Tobias Költzsch

  1. Android Huawei präsentiert drei neue Smartphones ab 120 Euro
  2. Wie Samsung Huawei soll noch für dieses Jahr faltbares Smartphone planen
  3. Porsche Design Mate RS Huawei bringt 512-GByte-Smartphone für 2.100 Euro

HP Z2 Mini Workstation G3 im Test: Leises Rauschen hinterm Monitor
HP Z2 Mini Workstation G3 im Test
Leises Rauschen hinterm Monitor

Unterm Tisch, auf dem Tisch oder hinter den Bildschirm geklemmt: HPs Z2 Mini Workstation ist ein potentes, wenn auch nicht gerade sehr preiswertes Komplettsystem. Den Preis ist der PC aber wert, denn er ist leise, modular und kann einfach gewartet werden. Der Admin dankt!
Ein Test von Oliver Nickel

  1. HP Pavilion Gaming Hardware für Gamer, die sich Omen nicht leisten wollen
  2. Chromebook x2 HP präsentiert Chrome-OS-Detachable mit Stift
  3. Laserjet Pro M15w und M28w HPs Laserdrucker schrumpfen auf 34 Zentimeter Länge

    •  /