Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Werte von SpeedFAN auf dem Display
#1
Die neue Version 4.12 von SpeedFan beinhaltet nun ein Log-File, welches ich zur Ausgabe der Daten heranziehen möchte.

CODE
Seconds CPU System PSU AirIn Heatpipe
71469 34.0 28.0 26.0 1940 2033
71472 34.0 28.0 26.0 1940 2033
71475 35.0 28.0 26.0 1940 1985
71478 35.0 28.0 26.0 1940 1985
71481 35.0 28.0 26.0 1940 1940
71484 34.0 28.0 26.0 1940 1940
71487 34.0 28.0 26.0 1918 1940
71490 35.0 28.0 26.0 1918 1940
71493 34.0 28.0 26.0 1918 1940
71497 34.0 28.0 26.0 1918 1940
71500 35.0 28.0 27.0 1918 1875
71503 35.0 28.0 27.0 1918 1875
71506 35.0 28.0 27.0 1918 1758
71509 35.0 29.0 27.0 1918 1758
71512 35.0 29.0 27.0 1918 1758
71515 35.0 29.0 27.0 1918 1758
71518 34.0 29.0 27.0 1918 1758
71521 35.0 29.0 27.0 1918 1758


Das erste Problem was ich sehe, die Daten sind durch Tabs getrennt. Aber ansonsten ist es wohl machbar. Werde mich am WE mal dran setzen. wink.gif Endlich mal den Systemstatus auf dem Display, ohne MBM.

QUOTE ("SpeedFan-Help")
File format: log files contain values written in text format using the specified decimal separator. Values are separated by TAB. The first row in the file contains the names of the columns if the add header to file option has been selected.

Naming: log files are named SFLogYYYYMMDD.csv, where YYYY is the year (four digits), MM is the month (2 digits, zero padded) and DD is the day (2 digits, zero padded). If a file already exists by that name, the file that already exists is renamed according to the following naming scheme: SFLogYYYYMMDD-CCCC.csv, where CCCC is a increasing number. The new file is then created with the standard file name scheme.




Der erste einfache Versuch und es geht. Da kann ich beruhig schlafen gehen biggrin.gif Ich hatte das Auslesen mir komplizierter vorgestellt. Nun wird das nächste etwas komplexer.

Damit kann man nun leicht eigene Scripts erstellen.

CODE
#Header
%Common.SetPriority(3000)
%DefVar(File='C:\Programme\SpeedFan\SFLog'%System.GetDateTime(yyyymmdd)'.csv')

%DefVar(Line=%String.Replace(%System.ReadFile(%File()),%Convert.ToChar(9),' ',rfReplaceAll))

%DefVar(GetItem,Local=
%DefConst(S=%GetItem->Para0())

%Loop.For(C,1,%GetItem->Para1(),1)
{ %Assign(S,%String.Copy(%S(),%Inc(%String.Pos(' ',%S()),1),%String.Length(%S()))) }

%Common.Compare(%String.Pos(' ',%S())!0)
Then{ %String.Copy(%S(),1,%Dec(%String.Pos(' ',%S()),1)) }
Else{ %S() }

%CleanUp.Free(S)
)
#EndHeader


#TextMode
%Format.AlignCenter()
'CPU: '%GetItem(%Line(),1) ' SYS: ' %GetItem(%Line(),2)
%Common.CreateNewLine()
'PSU: '%GetItem(%Line(),3)
%Common.CreateNewLine()
'AirIn: '%GetItem(%Line(),4)
%Common.CreateNewLine()
'Heatpipe: '%GetItem(%Line(),5)
#EndTextMode


In SpeedFan muß man, für das Log-File, noch bei den gewünschten Daten ein Häckchen bei "logged" machen. In den Einstellungen vom Log muß der "Decimal seperator" ein Punkt sein und natürlich bei "Enabled" ein Häckchen wink.gif Der Rest ist egal.

%GetItem(%Line(),1) gibt dann den ersten Wert nach den Sekunden wieder, die Ziffer 2 anstatt der 1 dann den nächsten Wert, usw..

Edit: so hier das endgültige Script wink.gif das andere hatte nen Bug

Edit2: Damit das Log-File nicht ständig auf der Festplatte aktualiesiert und ausgelesen wird, habe ich eine kleine Ramdisk eingerichtet. Auf die wird SpeedFan komplett kopiert und dann ausgeführt. Einen kostenlosen Ramdisktreiber findet man unter anderem auch bei Microsoft, für die jeweiligen Windows Versionen.


Attached Files Thumbnail(s)
       


Forum Jump:


Users browsing this thread: 1 Guest(s)