Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Kennt einer von euch ne ASUS EPU API oder SDK? (https://www.delphipraxis.net/174534-kennt-einer-von-euch-ne-asus-epu-api-oder-sdk.html)

CrashBack 27. Apr 2013 14:11

Kennt einer von euch ne ASUS EPU API oder SDK?
 
Kennt einer von euch ne ASUS EPU API oder SDK?

Hallo möchte gerne ein Tool Schreiben welches je Anwendung und Bedarf die Hardware (Lüfter) Umschaltet.

Lg & Danke

hathor 27. Apr 2013 15:16

AW: Kennt einer von euch ne ASUS EPU API oder SDK?
 
Macht das nicht ASUS Smart Doctor?

http://www.asus.de/Graphics_Cards/Fe...Voltage_Tweak/
http://dlcdnet.asus.com/pub/ASUS/vga...martDoc580.zip

CrashBack 27. Apr 2013 15:29

AW: Kennt einer von euch ne ASUS EPU API oder SDK?
 
Jein es steuert genau so wie ASUS EPU Dynamisch die Hardware nur das in dem ASUS Smart Doctor ne Overclocking möglichkeit drin ist. Ich hatte daher auch schon bei ASUS Nachgefragt wegen einer SDK oder ne API aber die Helfen mir da nicht keine Antwort. War ja auch irgend wo klar.

Ich möchte mir halt nen Tool Schreiben wo ich die Programme Angebe wie zb. nen Spiel und angebe das genau dann die Lüfter Hochdrehen und nicht erst wenn der Rechner Kocht.

Aber trotzdem Danke

hathor 27. Apr 2013 16:05

AW: Kennt einer von euch ne ASUS EPU API oder SDK?
 
Das läuft vermutlich alles über EIO.DLL.

Alternative ist:
Finde heraus, welcher EC (Embeddded Controller) das alles steuert.
Da sind 255 Bytes (EC-RAM), die vom Hersteller beliebig belegt werden.
- BAT: Batterie-Eigenschaften (mehrere Bytes: Spannung, Strom, )
- CPU-Temperaturen (mehrere Bytes)
- FAN-Eigenschaften: MANUELL, BIOS, AUTO (1 Byte), Drehzahlen (2 Bytes)
- SENSOREN: andere (mehrere Bytes)
Steht alles in der ACPI-Tabelle (RW-Everything, rw.exe, RwPortableV1.5.3.7)

Bei manchen Herstellern (IBM=LENOVO, ThinkPad) sind solche Belegungen bei vielen Modellen identisch.
INFO:
http://sourceforge.net/projects/tp4xfancontrol/files/
http://thinkwiki.de/TPFanControl_richtig_einrichten
http://www.thinkwiki.org/wiki/Thermal_Sensors

Zur Zeit down:
PFControl - www.fancontrol.de/
FORUM:
http://thinkpad-forum.de/threads/116...trol%29/page78

Nützt Dir für den ASUS zwar direkt nichts, gibt aber viele Informationen...

CrashBack 28. Apr 2013 14:48

AW: Kennt einer von euch ne ASUS EPU API oder SDK?
 
Danke :thumb: Das ist ja egal ich werd mir das mal Ansehen vllt ist da ja was bei was ich auch auf einem ASUS Nutzen kann.

CrashBack 28. Apr 2013 21:36

AW: Kennt einer von euch ne ASUS EPU API oder SDK?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ich bin nun schon etwas weiter gekommen. Es wird dazu die "AIGear.dll, AiNap.dll, AsAcpi.dll, AsSpindownTimeout.dll" genutzt. bin gerade dabei die Funktionen zu der "AIGear.dll" zu Schreiben habe bisher

Code:
Function AiGearInit:Boolean;stdcall external'AIGear.dll';
Function IsFanControlSupported:Boolean;stdcall external'AIGear.dll';
Function IsThermostatSupported:Boolean;stdcall external'AIGear.dll';
Function IsAiGearTwoSupported:Boolean;stdcall external'AIGear.dll';
Function IsAiBoosterThreeSupported:Boolean;stdcall external'AIGear.dll';
Function IsQFanThreeSupported:Boolean;stdcall external'AIGear.dll';

// hier ist noch ein Fehler
Function AiGearGetLevel(var Value:Cardinal):Boolean;stdcall external'AIGear.dll';
Function AiGearSetLevel(var Value, NewValue:Cardinal):Boolean;stdcall external'AIGear.dll';
Ich denke mal es wird noch etwas dauern bis ich alle habe.

================================================== ===============================================

Ich kann das nicht deuten

Code:
public AiGearGetLevel
.text:100017F0 AiGearGetLevel proc near
.text:100017F0 
.text:100017F0 arg_0           = dword ptr 4
.text:100017F0 arg_4           = byte ptr 8
.text:100017F0 arg_14          = dword ptr 18h
.text:100017F0 arg_1004        = dword ptr 1008h
.text:100017F0 arg_100C       = dword ptr 1010h
.text:100017F0 
.text:100017F0                 mov    eax, 100Ch
.text:100017F5                 call   sub_1000E210
.text:100017FA                mov    eax, dword_10029A20
.text:100017FF                xor    eax, esp
.text:10001801                 mov    [esp+arg_1004], eax
.text:10001808                 cmp    dword_1002AF68, 3
.text:1000180F                push   esi
.text:10001810                 mov    esi, [esp+4+arg_100C]
.text:10001817                 mov    [esp+4+arg_0], 1000h
.text:1000181F                jnb    short loc_1000185E
.text:10001821                 lea    eax, [esp+4+arg_0]
.text:10001825                 push   eax
.text:10001826                 lea    ecx, [esp+8+arg_4]
.text:1000182A                push   ecx
.text:1000182B                push   offset aGplv   ; "GPLV"
.text:10001830                 call   sub_10001210
.text:10001835                 add    esp, 0Ch
.text:10001838                 test   eax, eax
.text:1000183A                jnz    short loc_10001856
.text:1000183C                xor    al, al
.text:1000183E                pop    esi
.text:1000183F                mov    ecx, [esp+arg_1004]
.text:10001846                 xor    ecx, esp
.text:10001848                 call   sub_1000DE4F
.text:1000184D                add    esp, 100Ch
.text:10001853                 retn   4
.text:10001856 ; ---------------------------------------------------------------------------
.text:10001856 
.text:10001856 loc_10001856:                          ; CODE XREF: AiGearGetLevel+4Aj
.text:10001856                 mov    edx, [esp+4+arg_14]
.text:1000185A                mov    [esi], edx
.text:1000185C                jmp    short loc_1000187E
.text:1000185E ; ---------------------------------------------------------------------------
.text:1000185E
.text:1000185E loc_1000185E:                          ; CODE XREF: AiGearGetLevel+2Fj
.text:1000185E                lea    eax, [esp+4]
.text:10001862                 push   eax
.text:10001863                 push   0B060001h
.text:10001868                 mov    dword ptr [esp+0Ch], 0
.text:10001870                 call   sub_10001500
.text:10001875                 mov    ecx, [esp+0Ch]
.text:10001879                 add    esp, 8
.text:1000187C                mov    [esi], ecx
.text:1000187E
.text:1000187E loc_1000187E:                          ; CODE XREF: AiGearGetLevel+6Cj
.text:1000187E                mov    ecx, [esp+4+arg_1004]
.text:10001885                 pop    esi
.text:10001886                 xor    ecx, esp
.text:10001888                 mov    al, 1
.text:1000188A                call   sub_1000DE4F
.text:1000188F                add    esp, 100Ch
.text:10001895                 retn   4
.text:10001895 AiGearGetLevel endp ; sp = 100Ch


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:04 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz