Bueno despues de pelearnos un rato con el Hardware del proyecto, vamos a dar una pequeño repaso al software
Nos quedamos en la parte de configuracion del LCDHype. Ahora veamos algunas de sus partes y programaremos algo sencillo para empezar a disfrutar
Lo primero: para poder visualizar temperaturas, RPM´s de ventiladores, Temperaturas de HDD, etc. Debemos tener instalado uno de estos programas: SpeedFan (SF) o Mother Board Monitor 5 (MBM5). Para el Speed Fan habrá que localizar el plugin respectivo e instalarlo en la carpeta de Plugins del LCDHype.
Aqui la zona de plugins de la página donde reside el programa LCDHYpe (hay mas plugins, pero no he podido hacerles funcionar
, pero en eso estoy 8| )
Plugins LCDHype
Por default la version 0.41 o la version 0.42 ya traen habilitado el plugin para el MBM5Dado que me he familiarizado con el MBM, con este porograma trabajaremos en lo sucesivo. (Después pruebo el SpeedFan para complementar mas el proyecto
)
Lo primero que haremos será obtener un Script sencillo en el que mostraremos Temperatura del CPU, uso del CPU, , la fecha, y la hora pero en forma de texto.
Como primer paso crearemos un espacio de trabajo o Script. Como vemos en la captura siguiente primero creamos un nuevo espacio, enseguida seleccionamos guardar (guardar como...)
En este caso: lo he nombrado OCMEx
Todavia falta un poco mas para empezar con el trabajo
Ahora agregamos el primer Script al archivo OCMex.sd. (Con este proceso no es necesario crear un archvo *.sd para cada pantalla, en este primer archivo general, podemos crear todos los scripts que deseemos
). Para ello damos un click en el icono (+) ubicado en la zona de nombres de Scripts. AL hacerlo aparecerá el primer escript con tres campos de trabajo en la zona de código.
Ahora asignamos un nombre, en este caso Ejemplo1 y enter.
En automático el primer Script en el listado superior cambiará de 0 Sin nombre a 0 Ejemplo1. Ahora procedemos a guardar el script (esto hay que hacerlo de cuando en cuando pues para que no se nos pierda el trabajo :blink: )
Varios puntos resultan importantes para el trabajo con el LCDHype:
El icono de guardado se torna de color azul cuando hay algo por guardar y gris cuando no hay nada que almacenar.
Del lado derecho del listado de Scripts, aparece un listado de comandos. El área de código aparece con un listado de instrucciones al estilo Basic o Q-basic. LA diferencia es que las instrucciones se van llevando renglon por renglon y los números de linea no son de importancia, son solo un control visual.
Bueno este es un resumen de los iconos del Programa. Los descritos como
? no son de gran utilidad para la programación.
Bueno habiendo dado un vistazo general ya estamos en posicion de seguir.
Ahora explicaré como cargar una instruccion al área de código.
Primero asignaremos la prioridad del Script. Este parámetro es conveniente ubicarlo en el enzabezado. Definirá el intervalo de tiempo de actualizacion del LCD.
Está medido en milisegundos, por lo que un valor de 500, 1000, 5000 son respectivamente: 0.5, 1 y 5 segundos.
Mientras mas pequeno sea este valor mas uso de recursos del CPU habrá. Cada quien debe seleccionar el que le permita trabajar cómodamente sin afectar juegos o carga de programas.
Personalmente uso valores de 4000 que me dan en promedio un uso de CPU de entre 0 y 15%, sin afectar desempeño de juegos.
Para cargarlo primero borramos el texto gris del encabezado
Código:
/insert header code here/
Este es un comentario, no se ejecuta y está entre dos barras diagonales con el formato: /comentario/
y el área de LCD de Texto que no nos sirve.
Código:
#TextMode
/insert textmode script code here/
#EndTextMode
Posicionamos el cursor entre estas dos lineas que indican el área de ancabezado
Ahora buscamos el grupo de comandos "Común" y desplegamos su contenido. Buscamos el comando: "Prioridad" y damos doble click con el boton izq del mouse.
Aparece este codigo en el encabezado:
Código:
#Header
%Common.SetPriority(1)
#EndHeader
Sustituimos 1 milisegundo por 2000 milisegundos (o 2 seg)
Ahora vamos a buscar las instrucciones que nos permitiran enviar la fecha y la hora al LCD.
Ahora nos pasamos al área de finida para el LCD Gráfico:
(y quitamos el comentario)
Posicionamos el cursor entre las dos lineas y buscamos el grupo de comandos Sistema/Común/Fecha y hora y damos doble click. Y obtenemos:
Código:
#GfxMode
%System.GetDateTime(hh:nn:ss-dd.mm.yyyy)
#EndGfxMode
Ahora si damos click en arrancar veremos un texto muy grande y solo indicando la hora, y el primer digito del día :blink:
Dos cosas vienen: imagen estática, tamaño de letra y fuente, ¿que hay con eso?.
Vamos por partes.
La imágen estática. Para corregir esto, debemos hacer que en la pantalla se borre el texto anterior. Por lo que despues de prioridad debemos limpiar la pantalla.
Nos colocamos en la zona del encabezado al final del comando prioridad. Al dar enter al final de esta instruccion, insertamos una linea nueva. Posicionamos el cursor al principio de esta nueva linea del encabezado
Buscamos el grupo Graphic *New*/Área de Texto
Código:
#Header
%Common.SetPriority(2000)
%Graph.SetTextArea(0,0,50,50)
#EndHeader
La instruccion trabaja con posiciones a partir de la esquina superior izquierda del LCD, la cual tiene estos valores: X=0 (largo), Y=0 (alto).
El otro extremo para nuestro LCD será: X = 84, Y = 48.
Cada punto es un pixel del LCD. La instruccion por default indica que se refrescará un área de 50 x 50 pixeles a partir de la esquina superior izquierda.
Con esto podemos ver que se pueden refrescar los pixeles que deseemos. Asi la interpretacion de la instruccion es:
(Xinicial, Yinicial, Xfinal, Yfinal)
Por lo que en nuestro Script marcamos
Código:
#Header
%Common.SetPriority(2000)
%Graph.SetTextArea(0,0,84,48)
#EndHeader
Si ahora iniciamos el Script la hora se actualizará cada dos segundos.
Cyg: la hora y fecha siguen demasiado grande... :angry:
Bueno esto tiene una solucion. El formato de cada Script puede ser controlado como instruccion de encabezado o bien con instrucciones individuales para cada linea.
Formato de texto, tamaño de letra tipo de fuente
La instruccion que define el tamaño y tipo de una fuente se obtiene asi:
Graphic *NEW*/Propiedades de la fuente
Vamos a colocarla en el encabezado, abajo del refresco de texto
Código:
#Header
%Common.SetPriority(2000)
%Graph.SetTextArea(0,0,84,48)
%Graph.Font('FixedSys',9,1)
#EndHeader
Sus caracteristicas son ('fuente', tamaño, color del pixel)
El color del pixel es 1: encendido (color negro), y 0 apagado (pixel inactivo).
Los tipos de fuente se obtienen del icono de herramientas, ubicado arriba del área de grupos de comandos (es una llave inglesa
)
Seleccionando la herramienta
Listado de Fuentes
Como está en la captura, hay que seleccionar de la instruccion
Código:
%Graph.Font('FixedSys',9,1)
Lo que está entre tildes:
FixedSys. En este caso hice el cambio a Arial, y cambié el tamaño de letra de 9 a 7.
Para ilustrar lo que vamos haciendo sin tener salida al LCD, podemos usar la vista previa. Podemos mover la ventana obtenida en la posicion que deseemos. Ademas podemos cambiar el color del fondo y de los pixeles.
El resultado del cambio en la fuente es este
Hemos conseguido meter el texto dentro del LCD. (para regresar al listado de comandos, basta con seleccionar icono herramientas y buscar listado de funciones)
El menor tamaño para la mayoria de fuentes es de 7, valores menores no dan un texto coherente. A excepcion del tipo
Terminal. Que acepta un valor mínimo de 5
Para que el siguiente comando se inserte debajo de la fecha, debemos usar otra instruccion.
Control de posicionamiento: nueva linea de texto, posicion vertical y posicion horizontal (hay mas de momento explicaré estos)
En lo sucesivo tomaré esta codificacion para indicar instruccion
(ruta). (lo que esta al final del texto entre parentesis, indica la instruccion sobre la cual hay que hacer doble click para seleccioanrla)
Asi: nueva linea de texto
(Común/Linea nueva)
posicion vertical
(Formato/Alineamiento/Desplazamiento), en esta por defáult se obtiene la posicion Horizontal (X), basta con cambiar Horizontal por Vertical para obtener la opcion para Y.
Ahora nos posicionamos en la zona de Scripting para el LCD gráfico y creamos una nueva linea debajo de la instruccion de la fecha. Insertamos el comando para linea nueva.
Vamos a mostrar ahora en el LCD el Nombre del procesador, su velocidad y el OC que le hemos hecho.
Los datos de nombre de CPU y de MHz defáult son datos que podemos ingresar como texto. El valor de MHz actuales es un valor que debe obtenerse del MBM.
El texto se ingresa al LCD mediante comillas
"texto". Todo lo que esté dentro de las comillas ingresará como texto.
El plugin para velocidad del CPU se obtiene de esta forma:
(Plugins/Mainboard Monitor 5 Plugin Version 0.3/CPU MHz)
Por default se obtiene esta instrucción:
Código:
%UsePlugin('mbm\mbm.dll',mbmMhz1)
No mostrará nada al iniciar el Script. Para que sea mostrar el dato correcto, hay que modificar mbmMhz1 a mbmMHZ. Es un error no corregido del programa :blink:
El script y su vista previa quedan así:
Insertamos una nueva linea de texto. Ahora vamos a mandar info del uso del CPU y de su temperatura actual. Ejemplifico el uso de las instrucciones de posicionamiento horizontal y vertical.
Finalmente el Script queda así:
Varios puntos hay que destacar:
Cuando cargamos la instruccion para ver el suo del CPU por default obtenemos:
Código:
%UsePlugin('mbm\mbm.dll',mbmUsage1)
En si esta instruccion no sirve (otro error en el programa). Hay que sustituir
mbmUsage1 por
mbmUsageCPU1.
La instruccion de temperatura manda por default el valor
mbmTemperature1, en el caso de mi sistema, cambié por el valor 2 para poder obtener el dato de temperatura del procesador. Dependiendo de la placa base estos valores pueden cambiar entre 1, 2 o 3. Segun la configuracion final del MBM.
Cada vez que se crea una nueva linea que indica una nueva salida al LCD, la posicion relativa de origen X, Y se mueve de 0, 0 a la posicion de la última linea de texto. X se mantiene en 0 pero la referencia de Y en la nueva linea se convierte en el nuevo Y =0.
Es por eso que apararece un valor negativo en la posicion vertical que posiciona la temperatura enfrente del texto "TCPU: ", ya que la nueva referencia para Y, está dada por la nueva linea de texto.
Al dar "Arrancar", vemos como cambian los valores mostrados en el LCD, segun el comportamiento del CPU.
En la siguiente veremos: uso de barras para representar info cómo ver imagenes por el LCD.