LCD gráfico con un nokia 5125

Tras revisar algunos controladores y probar algunos modelos de Nokias adicionales, he hallado algunos resultados interesantes.

Primero los modelos de nokia que he revisado son estos:

2220, 1100, 2230 y 3320.. El LCD tiene esta configuración:


El LCD aparentemente es igual al del Nokia 3310

Sin embargo tienen diferencias importantes que desafortunadamente impiden su funcionamiento (por lo menos hasta ahora, aun me faltan pruebas probando el orden del pinout, ya que no es igual al del 3310 :(, y aún no he podido localizar el correcto)

Siguiendo el procedimiento he "cableado" el LCD, inicialmente suponiendo el pinout que sirvió para el 3390b


Al conectar al circuito, no hubo respuesta. Invertí las conexiones y nuevamente no funcionó. :(

El siguiente paso fué revisar el voltaje de alimentación del PBC del movil para indagar las fallas. Como referencia medí el voltaje primero en los PCB de los que sirven y que aun conservo completos (bateria y carcasa).

En el modelo tipo 2 (de nueve pines como el 5125 o el 5175i) estos son los resultados


En el modelo tipo 1 (de 8 pines como el 3390b)


En el PCB de los modelos investigados hallé estos resultados:

Los pines que no están marcados son puntos GND y ambos dan la misma lectura de voltaje. Deben ser GND Sda o Scl pero habrá que investigar el orden correcto

Como vemos de entrada el voltaje es menor en algunos de los pines, por el resultado el pinout no tiene la misma distribución (suponiendo que sea el mismo pinout). No todo está perdido, las pruebas siguientes consisten en hallar el verdadero pinout además debo conseguir algunas resistencias o diodos que me permitan reducir el voltaje de 2.8 a 1.75 - 1.8 V para seguir con las pruebas. Asi que no todo está perdido (aún).

Hay una noticia importante para quienes no tienen un puerto LPT en sus placas base :p. Está desarrollandose un controlador para conectar LCD´s tipo PCD8544 por USB y aparentemente es funcional. (Mas detalles aquí). Allí mismo se puede bajar el controlador. El archivo zip contiene el diagrama de conexiones:p.

Ya he instalado el driver para el LCDHype y la vista previa muestra resultados agradables y lo mejor : puerto USB



Ahora la tarea será conseguir los materiales para montar el circuito y hacer las pruebas. Ya les aviso :p
 
viejo Cygnusx, bajè el driver de la pagina que usted dijo y lo instale, pero me sale distinto al que usted coloco......sera que hice algo mal??
aca una imagen para explicarme:
 

Archivos adjuntos

  • driver usb.JPG
    driver usb.JPG
    144.2 KB · Visitas: 203
  • Me gusta
Reacciones: 2 personas
risipio dijo:
viejo Cygnusx, bajè el driver de la pagina que usted dijo y lo instale, pero me sale distinto al que usted coloco......sera que hice algo mal??
aca una imagen para explicarme:

Ups ese no es. en el link que puse arriba (Mas detalles aquí), el post que tiene el driver está ubicado 5 mensajes antes del final del tema, el archivo es : USB_PCD87544.zip
 
risipio dijo:
pues yo baje un archivo que dice asi: USB_PCD8544.rar fue el unico que encontre.....

Ya se lo que pasó hay un truco para instalar el driver. Las instrucciones estan dentro de un archivo Readme.txt. Habiendo cerrado el LCHype haz lo siguiente: (tienes razón es rar no sip xD)

Primero: extrae los archivos del rar en C, dentro de la carpeta del LCDHype en esta carpeta:
Código:
[B]C:\Archivos de programa\LCDHype\controller\USB_PCD8544[/B]

Segundo:
Dentro de los archivos del rar hay una carpeta que dice Drivers. Hay un archivo llamado: InstallUSBdrivers.bat. Hay que modificarlo con el block de notas para asignar la ruta de la carpeta que acabamos de crear en el primer paso (si no sabes como dejo el bat modificado solo sobreescribelo :p )

Carga ese archivo bat y se instalara el driver para el LCdhype.

Reinicia el LCDhype y se verá el controlador FT232BM USB Display Driver v1.0 (Nokia PCD8544), este driver está justo debajo del driver PCD8544 para el LPT
 
pues asi ffue como lo instale, al principio no sabia como, pero lei bien lo que traia y encontre el readme que usted dice, pero hice eso, lo de cambiar la direccion y instalo bien, pero al entrar al lcd hype no sale ese sino sale es esto.......no se si sera lo mismo o que paso....
 

Archivos adjuntos

  • 8.JPG
    8.JPG
    93.6 KB · Visitas: 131
  • 9.JPG
    9.JPG
    86.6 KB · Visitas: 142
risipio dijo:
pues asi ffue como lo instale, al principio no sabia como, pero lei bien lo que traia y encontre el readme que usted dice, pero hice eso, lo de cambiar la direccion y instalo bien, pero al entrar al lcd hype no sale ese sino sale es esto.......no se si sera lo mismo o que paso....

Deben haber (con el dirver USB para nokia) 33 controladores de LCD y por lo que veo tienes solo 5 drivers a la vista, eso es indicio de que no has instalado el liberador de puertos. Ese driver USB que me indicas ya viene por default en el LCDHype.
 

Archivos adjuntos

  • Drivers.JPG
    Drivers.JPG
    71.8 KB · Visitas: 134
mmm, entonces que es lo que debo instalar.......porque la verdad lo instale igual a como dice en la guia, que otra cosa me falta por meterle??
 
Bien hoy es mi dia de descanso y podemos ver como trabaja el plugin del Everest 3.50.

(No es mi intención hacer propaganda y contravenir las Sacrosantas Normas; asi que disculpen si no pongo un link a este programa de monitoreo).

Instalación del plugin y configuracion del Everest 3.50

El plugin para el LCDHype es gratuito, pero ya he indicado el link para descargarlo en el post inmediatamente anterior a este. Veamos, lo primero es instalar el plugin dentro de la carpeta de plugins del LCdHype:
Código:
C:\Archivos de programa\LCDHype\plugins

Al reiniciar el programa de gestión veremos un nuevo plugin dentro del listado respectivo de instrucciones


Debemos activar el programa Everest 3.50 y configurarlo según el siguiente SS:


Ya tenemos todo para poder usar el plugin que acabamos de instalar.
Código:
%UsePlugin('everest\everest.dll','Parameters')

Los parámetros que permiten gestionar la información del LCDHype estan integrados de dos partes:
Código:
%UsePlugin(everest\everest.dll, IDcomponente, modo)
Componente: sensor que monitorea el Everest.

Este es un resumen de algunos de los sensores que se pueden mostrar a tráves del LCD
Código:
IDcomponente        Temperatura
TMOBO                Motherboard 
TCPU                 CPU 
TCPU1                CPU1 
TCPU2                CPU2 
TCPUDIO              CPU Diode 
TDIMM                DIMM 
TCHIP                Chipset 
TNB                  North Bridge 
TPWM                 PWM 
TAUX                 Aux 
TGPU1                GPU1 
TGPU2                GPU2 

IDcomponente        RPM ventiladores
FCPU                 CPU 
FCPU1                CPU1 
FCPU2                CPU2 
FSYS                 System 
FCHIP                Chipset 
FNB                  North Bridge 


IDcomponente        Voltaje 
VCPU                 CPU Core 
VCPU1                CPU1 Core 
VCPU2                CPU2 Core 
VP33V                +3.3 V 
VP5V                 +5 V 
VBAT                 Batería
modo: posibilidades que puede mostrar cada sensor: label, etiqueta o identificador y value valor actual del componente

Script para ejemplificar el uso del plugin

Apliquemos el plugin para obtener algo sencillo: la temperatura del CPU, la temperatura del core de la tarjeta de video, la temperatura del PCB de la tarjeta de video y el voltaje de la batería de la placa base.


Código:
#Header
 %Graph.Font('Bodoni MT Black',7,1)
 %Graph.SetTextArea(0,0,84,48)
 %Param.RenderMode(Simple)
 %Common.SetPriority(10000)
#EndHeader

#GfxMode
 %Common.CreateNewLine(1,0,-2)"EVEREST 3.50"
 %Graph.Font('Terminal',5,1)
 %Common.CreateNewLine(1,0,10)
 "T CPU: "%UsePlugin(everest\everest.dll, TCPU, value)'øC'
 %Common.CreateNewLine(1,0,18)
 "T Video (core): "%UsePlugin(everest\everest.dll, TGPU1, value)'øC'
 %Common.CreateNewLine(1,0,26)
 "T PCB video: "%UsePlugin(everest\everest.dll, TGPU1AMB, value)'øC'
 %Common.CreateNewLine(1,0,34)
 "Disco Duro: "%UsePlugin(everest\everest.dll, THDD1, value)'øC'
 %Common.CreateNewLine(1,0,42)
 "V Bateria: "%UsePlugin(everest\everest.dll, VBAT, value)"V"
#EndGfxMode

Esta es la vista previa del LCDHype


Nota

(1) El archivo de ayuda del plugin, contiene todas las ID´s que se pueden accesar a tráves de la primer versión 1.0. (Quizás en futuras actualizaciones sea posible accesar al % de uso del CPU, ya que esta versión no lo permite aún)

(2) En la siguiente complicaremos las cosas para darle una mejor presentación al Script :p
 
Notas previas

Bien veamos pues como mejorar los Scripts. Lo que sigue implica el uso de funciones avanzadas del LCHype, por lo que se debe recurrir a programación un poco más compleja, pero trataré de simplificar para que se entienda mejor. En intervenciones anteriores he puesto ejemplos de scripts que incluyen lineas para representar temperatura o el uso del CPU, pero no he profundizado en su construcción.

Gráficos lineales

En el caso que nos ocupa: los LCD de nokia; debido al tamaño tan reducido, resulta más práctico usar los datos en forma gráfica que escrita. Una forma bastante sencilla es la representación de una variable en forma de un gráfico lineal que da a los scripts una mejor presentación y permite explotar mejor el limitado espacio.

Hay que recordar algo de geometría para entender como funciona el trazado de lineas. Una linea consta de un punto inicial (X0, Y0) y de un punto final (XF, YF). Tomemos una variable como por ejemplo la temperatura del CPU a lo largo del tiempo para que esto sea más claro.

Las instrucciones que nos permiten trazar el punto inicial y final de la linea se obtienen de esta forma:

Coordenada inicial (X0, Y0) o Pixel inicial
Ruta en el listado de instrucciones: Gráfico/Pen propiedades
Linea de comando obtenida:
Código:
%Graph.Pen(0,0,1)

Coordenada final (XF, YF) o Pixel final
Ruta en el listado de instrucciones: Gráfico/Linea
Linea de comando obtenida:
Código:
%Graph.Pen(0,0,1)
El contenido de la instruccion es: (XF, YF, color del pixel)

El color del pixel en ambos casos es: 1 para color negro y 0 para blanco

Tracemos una linea cuyo pixel inicial es (5,15) y final (25, 35)

Código:
#Header
 %Param.RenderMode(Simple)
 %Graph.SetTextArea(0,0,84,48)
 %Graph.Font('Arial',7,1)
 %Common.SetPriority(1000)
#EndHeader

#GfxMode
 %Graph.Pen(5,15,1)
 %Graph.LineTo(25,35,1)
#EndGfxMode
linea1zg5.jpg

Bueno compliquemos las cosas un poco. Si el extremo inicial y final de la linea cambian dentro del mismo script, podemos obtener figuras diferentes a un rectángulo. En el script siguiente, el punto final es el punto inicial de la linea siguiente:
Código:
#Header
 %Param.RenderMode(Simple)
 %Graph.SetTextArea(0,0,84,48)
 %Graph.Font('Arial',7,1)
 %Common.SetPriority(1000)
#EndHeader

#GfxMode
 %Graph.Pen(5,15,1)
 %Graph.LineTo(25,35,1)
 %Graph.Pen(25,35,1)
 %Graph.LineTo(45,35,1)
 %Graph.Pen(45,35,1)
 %Graph.LineTo(15,5,1)
 %Graph.Pen(15,5,1)
 %Graph.LineTo(5,15,1)
#EndGfxMode
linea2af3.jpg

Sabemos que la Temperatura del CPU cambia con el paso del tiempo. Este comportamiento lo podemos llevar al LCD en forma lineal. Para ello debemos definir las variables: tiempo y temperatura del CPU.

Manejo del tiempo en un gráfico lineal

El tiempo como tal, no lo podemos obtener en forma directa. Podemos usar el segundero del reloj, pero al llegar al segundo 60, nos veremos en aprietos ya que no obtendremos 60 sino 0, asi que el trazado de una linea de esta forma se limita a un tamaño de 59 conteos, obligando a un "reset" del gráfico, para que resulte visualmente correcto.

Pero mediante programación, podemos definir un contador que vaya cambiando conforme cambia el tiempo y que no nos limite a solo 59 datos.

El siguiente es un ejemplo de script que incorpora un contador de tiempo.
Código:
#Header
 %Param.RenderMode(Simple)
 %Graph.SetTextArea(0,0,84,48)
 %Graph.Font('Arial',7,1)
 %Common.SetPriority(1000)
 /Actualizacion de pantalla cada 1000 milisegundos o bien cada segundo/
 %DefVar(Contador=0)
#EndHeader

#GfxMode
 /incremento del contador/
  %Assign(Contador,%Inc(%Contador(), 1)) 
 "Segundos: "%Contador()
#EndGfxMode
linea3zu0.jpg

En este caso he definido una actualización de pantalla cada 1000 mili segundos (o sea cada 1 segundo). Hay que tener en mente este punto, Dependiendo del valor que asignemos a la prioridad del script, será el tiempo que represente el contador.

Asi pues, para obtener el tiempo total transcurrido hay que multiplicar el contador por el tiempo asignado a la prioridad.

Ya tenemos entonces definida la variable: tiempo. Resta anexar la variable que queremos monitorear en el gráfico lineal, en este caso la temperatura del CPU

Código:
#Header
 %Param.RenderMode(Simple)
 %Graph.SetTextArea(0,0,84,48)
 %Graph.Font('Arial',7,1)
 %Common.SetPriority(1000)
 /Actualizacion de pantalla cada 1000 milisegundos o bien cada segundo/
 %DefVar(Contador=0)
#EndHeader

#GfxMode
 /incremento del contador/
  %Assign(Contador,%Inc(%Contador(), 1)) 
 "Segundos: "%Contador()
 /Variable a monitorear/
  %Common.CreateNewLine()
 "Temperatura CPU: "%UsePlugin('mbm\mbm.dll',mbmTemperature2)"ºC"
#EndGfxMode
linea4tl3.jpg

Ahora introduzcamos los datos al código. Para ello debemos definir la coordenada a partir de la que se trazará el gráfico en el LCD.

La posición X inicial, la define el contador. Por ejemplo, si el contador inicia en 0, el gráfico iniciará en el pixel 0. Veamos pues como queda el script al incorporar las variables tiempo y temperatura para representar una linea

Código:
#Header
 %Param.RenderMode(Simple)
 %Graph.SetTextArea(0,0,84,48)
 %Graph.Font('Arial',7,1)
 %Common.SetPriority(1000)
 /Acumula tiempo y define posición inicial X/
 %DefVar(Contador=0)
 /Posición inicial Y para la temperatura del CPU/
 %DefVar(YTCPU=16)
#EndHeader

#GfxMode
 /Actualiza la pantalla cuando llega al pixel 84/
 %Common.ChangeScreen(84000,93)
 %Assign(Contador,%Inc(%Contador(), 1)) 
 "Seg: "%Contador()"\"%UsePlugin('mbm\mbm.dll',mbmTemperature2)"ºC"
 %Graph.Pen(%Contador(),%YTCPU(),1)
 %Assign(YTCPU,%UsePlugin('mbm\mbm.dll',mbmTemperature2))
 %Graph.LineTo(%Contador(),%YTCPU(),1)
#EndGfxMode
linea5rb6.jpg

El script anterior, muestra una linea invertida, los picos con valores altos están hacia abajo y siempre se mostrará en el mismo rango de pixeles, no importa el valor inicial de la variable YTCPU, que controla la posición Y inicial del al linea.

Para corregir este comportamiento, debemos introducir una variable de corrección. La forma de hacerlo es restando a un valor mas alto el valor de la variable temperatura. He introducido una operación de resta dentro de la linea de comando que actualiza el valor de la temperatura.

Código:
%Assign(YTCPU,%Dec(45,%Trunc(%Div(%UsePlugin('mbm\mbm.dll',mbmTemperature2),1))))

Este sencillo ajuste a la linea de comando, incorpora una doble función: primero permite que las lineas no se ven invertidas y los picos de temperatura altos, se muestren hacia arriba, mostrando gráficos visualmente correctos y adecuados al texto e imágenes y segundo: posibilita el hecho de que podamos mover la linea hacia donde queramos. al aumentar o disminuir el valor del sustrato.

Por ejemplo, si la temperatura del CPU es 30ºC, al restar 45 - 30 = 15, estamos haciendo que la linea se dibuje en el pixel 15. Si al siguiente segundo, la temperatura sube a 47ºC, tenemos: 45 - 47 = -2. Esto significa que la linea no se verá dentro del LCD, sino que se saldrá de la pantalla.

Para que la linea quede dentro de pantalla, hay que incrementar el sustrato, a digamos 50, así, los 47ºC se dibujarán en el pixel: 50 - 47 = 3, o sea dentro del área del LCD.

El efecto que se consigue es el de una linea te temperatura que cambia con el tiempo. Asi queda el script con la corrección:

Código:
#Header
 %Param.RenderMode(Simple)
 %Graph.SetTextArea(0,0,84,48)
 %Graph.Font('Arial',7,1)
 %Common.SetPriority(1000)
 /Acumula tiempo y define posición inicial X/
 %DefVar(Contador=0)
 /Posición inicial Y para la temperatura del CPU/
 %DefVar(YTCPU=28)
#EndHeader

#GfxMode
 /Actualiza la pantalla cuando llega al pixel 84/
 %Common.ChangeScreen(84000,93)
 %Assign(Contador,%Inc(%Contador(), 1)) 
 "Seg: "%Contador()"\"%UsePlugin('mbm\mbm.dll',mbmTemperature2)"ºC"
 %Graph.Pen(%Contador(),%YTCPU(),1)
 /Ajuste de altura de la linea y corrección del valor representado/
 %Assign(YTCPU,%Dec(45,%Trunc(%Div(%UsePlugin('mbm\mbm.dll',mbmTemperature2),1))))
 %Graph.LineTo(%Contador(),%YTCPU(),1)
#EndGfxMode
linea6rw6.jpg

OJO: hay que ajustar el número del Script al valor del script que tengan para este ejemplo, en mi caso el script es el número 93

Aplicando el Script

Ahora todo estará completo cuando introduzcamos un BMP adecuado que permitirá complementar el Script. He ajustado un poco el Script para mejorar la presentación.

Código:
#Header
 %Param.RenderMode(Simple)
 %Graph.SetTextArea(0,0,84,48)
 %Graph.Font('Arial',7,1)
 %Common.SetPriority(1000)
 /Acumula tiempo y define posición inicial X/
 %DefVar(Contador=8)
 /Posición inicial Y para la temperatura del CPU/
 %DefVar(YTCPU=28)
 /Carga de BMP de fondo/
 %Graph.LoadBitmap('linea.bmp',0,0,0,0,84,48,0,NONE)
#EndHeader

#GfxMode
 /Actualiza la pantalla cuando llega al pixel 84/
 %Common.ChangeScreen(74000,93)
 %Assign(Contador,%Inc(%Contador(), 1)) 
 %Graph.Pen(%Contador(),%YTCPU(),1)
 /Ajuste de altura de la linea y corrección del valor representado/
 %Assign(YTCPU,%Dec(55,%Trunc(%Div(%UsePlugin('mbm\mbm.dll',mbmTemperature2),1))))
 %Graph.LineTo(%Contador(),%YTCPU(),1)
 %Common.CreateNewLine(1,21,32)"CPU: " %UsePlugin('mbm\mbm.dll',mbmTemperature2)"ºC"
#EndGfxMode
linea7kt8.jpg

Cada pixel representa 1ºC. La incorporación del BMP de fondo, permite que la linea dibujada tome un sentido dentro del script.

Notas finales:
Esta es una forma sencilla de obtener lineas. Existe una forma aun más compleja que recurre al uso de listas de datos. El uso de las listas, permite obtener lineas con mejores características visuales. En la siguiente veremos como construir Scripts más complejos pero a la vez más funcionales.
 

Archivos adjuntos

  • linea.bmp
    638 bytes · Visitas: 158
Hola,,,, le agradezco completamente a CygnusX por toda la ayuda q me presto para poder poner a funcionar mis LCD,, pues ahi les dejo unas foticos de como es q quedo...:)
 

Archivos adjuntos

  • 26.JPG
    26.JPG
    88.3 KB · Visitas: 221
  • 32.JPG
    32.JPG
    58.6 KB · Visitas: 279
  • 37.JPG
    37.JPG
    25.8 KB · Visitas: 249
junior19833 dijo:
Hola,,,, le agradezco completamente a CygnusX por toda la ayuda q me presto para poder poner a funcionar mis LCD,, pues ahi les dejo unas foticos de como es q quedo...:)

Que bien que después de tanto batallar al final has conseguido tener los LCD´s en funcionamiento. :p.

Asi como los has colocado, me recuerda a mi primer proyecto. Te han quedado muy bien. Resta solo que los disfrutes. Saludos y felicidades.

PD: para complementar: ¿siempre se solucionó el problema de la distorsión de las letras?
 
Que bien!!!!. Otro que se une al club "LCD Nokia" :p . Solo sigue el montaje paso a paso y ya verás que lograrás buenos resultados :p . No se te olvide poner fotos, para curiosear tu proyecto =)

He estado trabajando una idea que ha funcionado bien para la retroiluminación con leds normales (de 6 mm), es solo un experimento: he ido colocando los leds uno a uno para ir probando la mejor configuración. He hallado que solo con tres leds, se puede lograr un buen efecto de iluminación.

Rebajé una parte del cuerpo de cada led para que se puedan fijar con epoxi sin problemas. Al PCB del LCD, le he cortado una ventana aproximadamente del tamaño del área total (84 x 48 pixeles) y en su lugar he fijado un trozo de acrílico de 3mm. Con esto se logra una iluminación más pareja.:p
 

Archivos adjuntos

  • ev.JPG
    ev.JPG
    22.7 KB · Visitas: 191
  • ev2.JPG
    ev2.JPG
    34.7 KB · Visitas: 198
  • ev3.JPG
    ev3.JPG
    52 KB · Visitas: 212
  • ev4.JPG
    ev4.JPG
    47.4 KB · Visitas: 222
CygnusX que buen aporte (como siempre!!)
Yo estaba como loco consiguiendo los LEDs pero de los "normales" si debo tener por aqui guardados...

No he seguido con mi poryecto pues me ha dado "cosita" perforar el PCB y pasar los hilos.. Pero en esta semana si le saco ratico lo termino =) =)
Tengo unas ganas de LCD ....
 
Duda

Hola CygnusX, que tal hombre despues de tanto tiempo te vengo a molestar con una duda. Hace algun tiempo pusiste como ver el uso de CPU y la temperatura en graficos (lineas que se actualizan por segundo) todo en una sola pantalla, mi duda es: porque el uso de CPU no cambia como la hace la temperatura???, la linea de CPU se queda recta en el eje X, mientras que el eje Y no se mueve.

Este es el codigo:

#Header
%DefVar(Xmin=0)
%DefVar(Xmax=83)
%DefVar(Ymin=0)
%DefVar(Ymax=47)
%DefVar(base1=22)
%DefVar(base2=0)
%DefVar(base3=46)
/dibuja eje Y, Xmin/
%Graph.Pen(%Xmin(),%Ymin(),1)
%Graph.LineTo(%Xmin(),%Ymax(),1)
/dibuja eje Y, Xmax/
%Graph.Pen(%Xmax(),%Ymin(),1)
%Graph.LineTo(%Xmax(),%Ymax(),1)
/dibuja eje X, Ymin/
%Graph.Pen(%Xmin(),%Ymin(),1)
%Graph.LineTo(%Xmax(),%Ymin(),1)
/dibuja eje intermedio X, Ymin/
%Graph.Pen(%Xmin(),24,1)
%Graph.LineTo(%Xmax(),24,1)
/dibuja eje X, Ymax/
%Graph.Pen(%Xmin(),%Ymax(),1)
%Graph.LineTo(%Xmax(),%Ymax(),1)
%DefVar(IncTsys=-1)
%Graph.Font('Terminal',5,1)
%Graph.SetInvertArea(0,0,84,48)
%Common.SetPriority(1000)
#EndHeader
#GfxMode
/%Common.ChangeScreen(400000,10)/
/contador de actualizaciones de pantalla/
%Format.Offset(Horizontal,52)
%Format.Offset(Vertical,2)
"CPU:"%System.CPU(Usage)
%Assign(IncTsys,%Inc(%IncTsys(),1))
%Graph.Pen(%IncTsys(),%base1(),1)
%Assign(base2,%Trunc(%Div(%System.CPU(Usage),7)))
%Assign(base1,%Dec(22,%base2()))
/Temperatura/
%Common.CreateNewLine()
%Format.Offset(Horizontal,52)
%Format.Offset(Vertical,18)
"TCPU:"%UsePlugin('speedfan\speedfan.dll',getTemp,0)
%Graph.LineTo(%IncTsys(),%base1(),1)
%Graph.Pen(%IncTsys(),%base3(),1)
%Assign(base3,%Dec(80,%UsePlugin('speedfan\speedfan.dll',getTemp,0)))
%Graph.LineTo(%IncTsys(),%base3(),1)
%Common.CreateNewLine()
%Format.Offset(Horizontal,1)
%Format.Offset(Vertical,-6)
%System.GetDateTime(hh:nn:ss)
%Common.CreateNewLine()
%Format.Offset(Horizontal,1)
%Format.Offset(Vertical,-30)
%System.GetDateTime(dd³mm³yy)
#EndGfxMode

Saludos,
El Cuy
 

Los últimos temas