Hallo Linux-Freaks, Himberfreunde und Forumsbewohner,
nachdem vor ein paar Tagen Icon-Quellcode als Anhang erlaubt wurde, versuche ich gleich mal ob's denn auch funktioniert.
Im Anhang befindet sich ein Programm, dass die Temperatur des Prozessors und dessen Auslastung aufträgt.
Ich wollte einmal herausbekommen, welche Auslastung wielange bestehen muss, damit der Prozessor auf eine bestimmte Temperatur kommt.
Viel Spaß beim Übernehmen des Codes, und noch viel mehr Spaß beim Anpassen an eigene Bedürfnisse!
Beste Grüße
Andreas
Code
link graphics
global T1, T2, X, Ly
procedure leer()
Fg("green")
WAttrib("linewidth=1")
every t := T1 to T2 by 5 do
{ y := 400 * ((T2 - t) / real(T2 - T1))
DrawLine(20, y, 600, y) # Temperaturgeraden alle 5 Grad
DrawString(0, y + 5, t) # Temperaturangabe
}
end
procedure messen()
X +:= 1
if measure := open("vcgencmd measure_temp", "p") then
{ t := read(measure)[-6:-2]
close(measure)
Fg("yellow"); FillCircle(X, 400 * ((T2 - t) / (T2 - T1)), 2) # Temperaturwert zeichnen
}
if top := open("top -b -n3 -d 3 | grep Cpu | sed \"i/.*, *\([0-9.]*\)%* id.*/\1/\" | awk '{print 100 - $8}' | tail -n1", "p") then
{ load := read(top)
Fg("cyan")
if /Ly then DrawPoint(X, 400 * (real(T2 - load) / real(T2 - T1)))
else DrawLine(X - 1, 400 * (real(T2 - Ly) / real(T2 - T1)), X, 400 * (real(T2 - load) / real(T2 - T1)))
Ly := load
close(top)
}
end
procedure main(args)
if *args > 0 then every (i := 1 to 3)(T1, T2, sensorID) := args[i] # Parameter-Übergabe
/T1 := 0; /T2 := 100
if WOpen("label=vcgencmd temp & CPU-Auslastung","size=600,400", "bg=black") then
{ repeat
{ EraseArea()
leer()
Fg("yellow")
X := 20
repeat
{ messen()
if X = 600 then break # Ende nach 580 Messungen
delay(250)
}
}
}
end
Alles anzeigen