Bienvenido a Hardcore Modding

 Vivir el modding / Iniciarse en el modding 20 de junio de 2019 23:47   Modding  ·  Artículos  ·  Guías  ·  Guías de los usuarios  ·  Reviews  ·  Enviar Noticia ·  Top 10 ·  Temas

Minichat

gabilette :hola teo!
Tpm :Madre midar!!! sigue vivo!! 05/06/2019:eek:
tengoundvd1 :Años sin pasar por aqui!
Teotekaplan :26 de abril de 2019. Sigo vivo. Y esto parece que también. Saludos a los del futuro!
Teotekaplan :Hola!!! No recuerdo mi contraseña!!!
Rienzi :Hola soy nuevo aqui, donde puedo encontrar el tema de mejorar los laser verdes?
Rienzi :Teotekaplan
Cyg :Tanto tiempo. Cuantos de ustedes ya estan "modeados"?
El_Nene :Feliz Año nuevo viejunos!!!
spider :Un saludo a ese ADMIN que siempre está cuando lo necesitas: GRACIAS !!
cardoso :esta web la estudiarán los chavales en el futuro, aquí empezó todo. Saludos !!
yeipi :hola
yeipi :hola
suthell :Ciao
Cyg :Saludos familia!:)
telli-nova :17/05/2018 9:50 pm hay alguien?:(
telli-nova :hay alguien? :/ tengo dudas sobre formateo de disco :(
javituner :saludazo para todos!!!
javituner :Alucino que siga abierto despues de tantisimos años!!
javituner :VAMOS AHIII
Mooding-Machine :no puedo creer que esto siga vivo :eek: :eek:
IVAJ :Aún seguimos vivos :) :) :) , que pasa gente!
:)8):eek::(:@;):P9):O

 FAQFAQ   BuscarBuscar   Grupos de UsuariosGrupos de Usuarios   PerfilPerfil   Entre para ver sus mensajes privadosEntre para ver sus mensajes privados   ConectarConectar 

LCDHype: Guía + Scripts+Galería+Circuitos (en construcció

 
Publicar nuevo tema   Este tema está cerrado y no puede editar mensajes o responder    Foros de discusión -> Software
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mamel
Moderador
Moderador



País:
Sexo:
Registrado: 13 abril 2004
Mensajes: 814
Ubicación: Cáceres

MensajePublicado: Mar, 22 Nov 2005 2:29 am    Asunto: LCDHype: Guía + Scripts+Galería+Circuitos (en construcció Responder citando

Dadas las dimensiones que estaba adquiriendo el anterior hilo de la guía de LCDHype (más de 330 post), se estaba produciendo una disgregación de la información, que hacía dificil la consulta para los nuevos usuarios del programa.
Por otro lado, habida cuenta de las frecuentes actualizaciones que recibe el programa, la realización de una guía, destinada a ser incluida en la sección de guías, sería una tarea poco productiva ya que en pocos meses se quedaría obsoleta (véase lo ocurrido con la guía de LCDStudio).

Por estos y otros motivos se ha decidido crear este hilo, en el que se incluirán tanto la guía (actualizada), como unas galerías de imágenes de LCDs, con listados de scripts comentados y fondos para incluir en los Scripts.

Este hilo permanecerá cerrado.

Las preguntas, sugerencias y comentarios, al igual que las aportaciones, imágenes, fondos, listados de Scripts, etc. se deben efectuar en el anterior hilo de la guía, al que podeis acceder con el siguiente enlace:
Hilo de discusión sobre LCDHype.

Las colaboraciones que se publiquen en aquel hilo, irán siendo trasladadas a este, agrupándolas por tipos de LCD, para mantener el orden y facilitar la lectura.
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor
Mamel
Moderador
Moderador



País:
Sexo:
Registrado: 13 abril 2004
Mensajes: 814
Ubicación: Cáceres

MensajePublicado: Mar, 22 Nov 2005 2:38 am    Asunto: Responder citando

VERSION 0.42


*** INSTALACION ***

LCDhype es un programa para el control de LCD's.
Tiene soporte para muchos tipos de LCD, entre otros los de texto, compatibles con chip Hitachi y también, los gráficos con el chip KS0108 de 128x64.
Ambos tipos de LCD han sido protagonistas de compras masivas gestionadas por usuarios de este foro.
Es un programa muy completo y versatil capaz de exprimir, al máximo, las características de nuestro LCD.
Por contra, en un primer momento, puede ser complejo, para el usuario no habituado a tareas de programación.
Pero los resultados son excelentes, mirad esta imagen.



Es una vista previa de una pantalla para WinAmp y se puede destacar:
3 filas de texto con "Fuente Verdana".
Una barra de progreso de 2 pixel de ancho, con marco alrededor.
Un analizador de espectro de 40 columnas, con picos que caen de forma independiente.
Vídeo inverso en el LCD con un recuadro en vídeo normal para el espectro.
Posibilidad de cargar gráficos, animaciones, etc. dependiendo del LCD.
Y... mucho más.

El programa es de libre disposición, al igual que los complementos que vayan apareciendo aquí, así que lo podeis descargar sin ningún problema.
La dirección de descarga está aquí. Normalmente en el post situado en la parte de arriba, estará el enlace para descargarse la última versión
También es conveniente bajarse algunos plug-in:
El de WinAmp ya viene incluido con la instalación del programa. Buscad en la carpeta \stuff\winamp\. El fichero necesario es el que se llama "vis_waspec.dll".
Para el resto de plug-ins, visitad la rama correspondiente del foro de LCDHype, en este enlace.
En esta guía usaremos el del MBM, así que es conveniente que os lo bajeis, también haremos algo con el plug-in de SpeedFan.
En principio, eso es todo. Hay más plug-in, pero son para aplicaciones específicas o con menos usos.

La instalación del programa es sencilla ya que tiene su propio instalador, por lo que sólo tendremos que ejecutarlo para tener el LCHype funcionando en unos segundos:

Una vez instalado, en la carpeta de instalación, os tiene que quedar algo como esto:



El plug-in de MBM lo extraeremos a una carpeta que llamaremos [mbm] con minúsculas y la meteremos en la subcarpeta [plugins] que estará en el directorio donde hayamos colocado el LCDHype.

Bueno pues con esto, ya está instalado.

Para ejecutarlo hacemos doble click en el programa [lcdhype.exe].

En la versión 0.36 me curré la traducción del programa al español. Tanto de la interfaz, como de la ayuda.
Ahora ya viene como opción durante la instalación, así que podreis elegir el idioma español para entederos mejor con el programa.
A partir de la versión 0.40 se cambió el sistema de ayuda por el actual, más dinámico y mejor trabajado.
La versión 0.42 no dispone de la ayuda en español, pero ya he terminado de traducirla y, hasta que se incorpore en la instalación estandar, os la podeis bajar de mi servidor. Los que la quieran, la pueden encontrar en este enlace.
La instalación es muy sencilla, sólo hay que descomprimir unos ficheros y llevarlos hasta los subdirectorios adecuados.
Más info en el fichero leeme.txt, dentro del .ZIP de la descarga.

***IMPORTANTE***
Si vuestro sistema calza Win XP, debeis saber que, por defecto, este sistema operativo no da soporte al puerto paralelo.
Necesitareis instalar los drivers apropiados para que el programa pueda enviar los datos hacia el LCD.
Desde la propia web del Hype podeis descargar estos drivers.
Aquí os dejo el enlace (gracias Vicksom, por el recordatorio)
http://lcdhype.mod-extreme.info/lcdhype/portdriver.zip
.
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor
Mamel
Moderador
Moderador



País:
Sexo:
Registrado: 13 abril 2004
Mensajes: 814
Ubicación: Cáceres

MensajePublicado: Mar, 22 Nov 2005 2:41 am    Asunto: Responder citando

*** CONFIGURACION ***

Una vez instalado el programa procedemos a ejecutarlo.
Al ejecutarse el programa se abren, en principio, dos ventanas.
La ventana principal.


Y una ventanita con la vista previa que, de momento, está vacía.

La resolución de pantalla debe estar, como mínimo, en 800x600. Con está resolución tendremos dificultades para colocar las ventanas y que se vean por completo. Es mejor resoluciones mayores, recomendando 1.024x768 o más.
NOTA
Si teneis monitor LCD y estais usando el Suavizado de fuentes "ClearType", es posible que tengais problemas en la visualización.
En este caso, probad a poner el suavizado de fuentes "Estandar".

En la ventana principal tenemos, arriba del todo, la barra de título.


Aquí vemos la versión del programa, la sección del programa en la que estamos (si acabamos de arrancar, estaremos en "About"). Y, a la derecha, unos iconos que sirven (por este orden) para: Mostrar la ventana de ayuda; mostrar la vista previa; hacer flotar la ventana de edición; minimizar el programa, al Systray y cerrar el programa.


En la parte de izquierda de la ventana principal, está la barra de menús.


He partido la imagen en tres trozos para no alargar, excesivamente, el post.
Arriba están las cuatro opciones del menú; más abajo la opción de cambiar la orientación del LCD (en aquellos que lo permitan); luego una casilla para marcar cuando queramos que los datos salgan por el LCD; la tasa de refresco del LCD; opciones para controlar la iluminación (en los LCD que se dejen); una barra con la prioridad del proceso y, por último, un botón [GO] para activar la vista previa.

Pulsamos en [Configuratión], para acceder a las opciones de configuración del programa.
Se nos abre un submenú, del que sólo vamos a ver las 2 primeras opciones (recordad que esto es una guía para conocimientos básicos).


Pulsamos en [Common Configuration] y la ventana principal pasa a mostrar las opciones.
Vemos en la parte de abajo un recuadro [Language] de selección de idioma.
Si hemos instalado el parche con la traducción, que me he currado, al pinchar en el cuadrito con el signo [+] veremos algo como esto:


Podemos seleccionar el lenguaje español, que nos traducirá las opciones del programa y las ayudas.

Recomiendo dejar la prioridad sobre la mitad de la barra y activar la opción anticuelges. El resto de opciones las revisais y marcais vuestras preferencias.

En la barra de menús, que ya estará traducida, seleccionamos la opción [Configuración del LCD].
Cambia la ventana principal y podremos seleccionar que LCD tenemos.


Al lado de [Controlador] tenemos un desplegable en el que seleccionaremos nuestro tipo de LCD. Los que hayan pedido el LCD gráfico, en estos foros, deben escoger [Samsung KS0108...].
Si por el contrario, teneis un LCD de texto debeis seleccionar [HDD44780 or compatible].
En esta guía trataremos, principalmente sobre los KS0108 LCD's gráficos

Dejaremos los [ajustes predefinidos] y el [Modo gráfico] tal como están (128x64) y nos aseguraremos de que la casilla [LCD tiene teclado] está desmarcada.
Arriba a la derecha, está la casilla [Puerto] que dejaremos en 378. Este programa, para este LCD, sólo contempla la salida por puerto paralelo.

Vemos una imagen con un LCD de este tipo, seguida por un esquema de conexiones. Debajo, la manera de actuar si el LCD nos muestra imágenes corruptas (nunca he oido sobre este problema) y más abajo hay un esquema de montaje para poder controlar la iluminación del LCD desde el programa (Pinchar para agrandar en una ventana nueva).

El resto de las opciones del menú [Configuración] son para temas avanzados, como comandos para LCD's con teclado; configuración TCP, etc que se escapan al contenido de esta guía.

En el siguiente post comenzaremos con la programación del LCD.
.
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor
Mamel
Moderador
Moderador



País:
Sexo:
Registrado: 13 abril 2004
Mensajes: 814
Ubicación: Cáceres

MensajePublicado: Mar, 22 Nov 2005 2:46 am    Asunto: Responder citando

*** PANTALLA DE EDICION ***

Al pinchar en el botón [Scripts] de la columna de menús, accedemos a la ventana de edición.
Desde esta ventana se controla todo lo que se va a mostrar en nuestro LCD.
Vamos a ir repasando la composición de esta ventana.
En la fila superior están los botones equivalentes al menú archivo. Así que cuando hagamos referencia a ellos diremos "Botones del menú archivo" o, simplemente "menú archivo"


Aquí tenemos botones para: nuevo fichero, abrir, guardar, importar y exportar.

A la derecha de la fila superior tenemos los siguientes botones:


Su función (de izquierda a derecha): bloquear los cambios de script, quitar sonido, activar sintaxis resaltada y opciones de sintaxis resaltada.

Más abajo hay una casilla donde figura (y se puede modificar) el nombre del grupo de pantallas que tengamos cargado.
Después otra tira de botones relativas a los Scripts que tengamos cargados.

Estos botones se utilizan para: actualizar, chequear errores, añadir, borrar y predefiniciones de Script. Cuando se hable de ellos serán los "botones del menú script" o, simplemente "menú script"

Justo debajo hay dos ventanitas interesantes:


A la izquierda aparecen los nombres de los Script del grupo que tengamos cargado.
Si es la primera vez que ejecutais el programa, aparecera el grupo "Tutorial" compuesto de 7 Scripts (numerados de 0 a 6) que tienen exóticos nombres en alemán.

A la derecha está la ventana de herramientas. Justo encima está el icono de selección de herramientas.


Pinchando este icono podemos seleccionar la herramienta que aparecerá en la ventana. Hay tres opciones: Árbol de funciones; selector de fuentes y herramienta de búsqueda.

En la lista de Scripts haremos doble click en el nombre de uno de ellos para resaltarlo y enviar sus datos a la vista previa y al LCD.
Si teneis configurado el programa para el LCD KS0108 y haceis doble click en el nombre de la pantalla Nº 1 (ScriptCode Unterteilung). Aparecerá, en la vista previa un rectángulo iluminado sobre el fondo de LCD.

Si pulsamos la tecla [Ctrl] y pinchamos en un nombre de pantalla, podremos arrastrarlo para variar el orden en que están colocadas.

Debajo de estas dos ventanas hay una casilla con el nombre del Scripts resaltado (que podremos cambiar). Y, a su derecha otra casilla para los carácteres definidos por el usuario (Custom char) que será de utilidad a los que tengan un LCD de texto (KS0108 no tiene este tipo de aplicaciones).

Y, por fin, la parte de abajo de esta pantalla, esta ocupada por una ventana donde deberemos introducir nuestras líneas de programa.


Aquí vemos un texto en alemán con las frases en colorines.
Esto es así porque tenemos activo el botón de sintáxis resaltada [ABC], de la fila superior de botones.
Si pinchamos en este botón, lo desactivaremos y el texto quedará en blanco y negro.
Mejor dejarlo con colorines que nos facilitan la tarea de identificar los comandos.

Los que no tengan conocimientos de programación que no se asusten, con este programa es bastante sencillo realizar pantallas de una cierta complejidad. (Si yo he sido capaz, cualquiera puede hacerlo).

Vamos a centrarnos, por un momento, en la ventana de vista previa ya que aquí es donde veremos el resultado de nuestro trabajo antes de lanzarlo hacia el LCD.
Si hacemos [click derecho] sobre el área de previsualización, aparecerá un menú contextual con el que podremos variar las características de la vista previa.

Podremos variar el color, el tamaño, etc.
Explorad y ajustadlo a vuestra conveniencia.

También es interesante conocer como funciona la ayuda del programa.
Tenemos dos opciones:
1.- Para saber más sobre cualquier elemento de la ventana del programa, hay que situar el cursor sobre él y presionar el botón central del ratón.
Se abrirá (si no estaba abierta) la ventana de ayuda, justo por la página con la explicación del elemento señalado.
2.- Si necesitamos ayuda sobre una función determinada, situaremos el cursor (en la ventana de edición) sobre la función y pulsaremos la tecla [F4]. En este caso la ayuda nos mostrará la explicación sobre la sintaxis, parámetros, etc de dicha función.

.


Ultima edición por Mamel el Lun, 13 Feb 2006 10:02 pm, editado 1 vez
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor
Mamel
Moderador
Moderador



País:
Sexo:
Registrado: 13 abril 2004
Mensajes: 814
Ubicación: Cáceres

MensajePublicado: Lun, 13 Feb 2006 9:28 pm    Asunto: Responder citando

*** COMENZANDO A PROGRAMAR ***

Vamos a comenzar desde cero, así que vamos a los botones del menú de archivos y pinchamos en [Nuevo] para tener la ventana de edición en blanco.
Junto a la casilla [SDID] pondremos el nombre de nuestro grupo de pantallas, en este caso "Guía LCDHype" y pulsamos [Intro].

Justo debajo vemos que los botones del menú script están en gris (desactivados) menos el botón [Añadir]. Así que lo pulsamos.
En la ventanita de lista de pantallas nos aparecerá una pantalla con el número 0, llamada "Sin nombre".
Justo debajo tenemos un recuadro [ID] y al lado el nombre de nuestra pantalla, lo señalamos, lo borramos y escribimos "Pantalla 1" y [Intro].
Vemos que, en la ventana de listas, ha cambiado el nombre de nuestra pantalla.

En la zona de edición nos deben haber aparecido unas líneas de texto, comenzando por la 01, que con letras verdes pondrá "#Header" y que llegan hasta la línea 11.
Bien, en esta zona es donde tendremos que ir añadiendo código, para decirle al programa lo que tiene que mostrar en el LCD.

Analicemos el código:
En principio, vemos tres bloques delimitados por líneas de texto en color verde.
Los bloques corresponden a: Cabecera (#Header), Modo texto (#TextMode) y Modo gráfico (#GfxMode).
En el bloque de cabecera irán funciones y comandos que sólo se ejecutan una vez.
En el bloque Modo texto irán funciones y comandos para salida en LCD's de texto.
En el bloque Modo gráfico irán las funciones y comandos relativos a LCD's gráficos.
Existe un cuarto bloque que no trataremos aquí, así como tampoco del segundo. Nos centraremos en el código para los LCD's gráficos

Ahora, borrad todo el texto de la ventana de edición y copiad y pegad lo que sigue.
Código:

**ESTO ES UN COMENTARIO**
Si ponemos algo fuera de los bloques, el programa
lo considerará como un comentario.
Esta parte no se ejecuta.

#Header
 /**ESTO ES UN COMENTARIO**/
 /Para poner comentarios dentro de los bloques
  inciaremos y terminaremos las líneas con la barra
  de division/

 /Este bloque es la cabecera, aquí irá el código
  que sólo tiene que ejecutarse una vez/
#EndHeader

#TextMode
 /Aquí irá el código para los LCD's de TEXTO/
"Prueba de texto"
#EndTextMode

#GfxMode
 /Aquí irá el código para los LCD's Gráficos/
"Prueba de gráficos"
#EndGfxMode

Con esto tenemos una descripción de, para que sirve cada bloque. Fijaos en los distintos colores de las líneas, ayudan a diferenciar claramente, las instrucciones.

El creador de LCDHype ha denominado (acertadamente) "Script" a los programas que ejecutan las acciones para mostrar los datos en el LCD.
Un Script es un trozo de código, más o menos pequeño, que realiza una tarea delimitada.
Así que, a partir de ahora en vez de hablar de pantallas, hablaremos de Script y en lugar de grupos de pantallas hablaremos de grupos de Scripts.

Ahora, si pulsamos el botón [Actualizar], en el menú de Scripts; veremos que, en la ventana de vista previa, aparece un texto.


Centrándonos en el código hemos descubierto:
1.- El código se divide en bloques. Puede haber 4 bloques, aquí hemos visto 3 y usaremos sólo 2.
2.- Los bloques van delimitados por palabras clave que comienzan con el signo "#".
3.- Todo el código que esté fuera de un bloque será considerado, por el programa, como un comentario y no tendrá ningun efecto.
4.- Podemos poner comentarios dentro de los bloques, pero deben y precedidos y terminar en el signo"/"
5.- Para escribir un texto y mandarlo al LCD, debe ir entre comillas.

Hemos escrito un texto, pero vemos que las letras salen muy grandes y no nos cabe todo en la línea.
Debemos comenzar a introducir funciones y comandos.
En LCDHype todas las funciones y comandos comienzan por el signo "%".
No es necesario memorizarlos, se pueden obtener, facilmente, de dos formas.

1.- Escribiendo el signo '%' en la ventana de edición, nos aparecerá un menú contextual. Pulsando la primera letra del comando nos irá seleccionando los comandos que comienzan por esa letra.


2.- Seleccionando la opción [Arbol de funciones] de la ventana de herramientas y desplegando las ramas, podemos hacer [doble click] en la rama que contenga el comando o función que queremos insertar.



Usaremos este segundo método hasta que nos vayamos familiarizando con los comandos.

La estructura de los comandos es: %Comando(parámetros).
Y la de las funciones es %Grupo.Función(parámetros).
Es decir: El signo de porcentaje; la palabra o palabras claves, sin espacios en blanco y los valores que tengamos que pasarle a los comandos, separados por comas y entre paréntesis.
Todas las ordenes siguen esta estructura, incluso si no llevan parámetros se deben incluir, al final los paréntesis.

Ahora nos vamos a la ventana de edición y situamos el cursor al final de la línea 13, pulsamos dos veces [intro], para crear un par de líneas vacías y ponemos el cursor en la línea 14.
En Arbol de funciones buscamos y extendemos la rama [Gráfico], seleccionamos la rama [Area de texto]. Con un [click central] podremos leer, en la ventana de ayuda, el propósito de la función, su sintaxis y los parámetros que necesita.
Hacemos [doble click] sobre [Area de texto], para que se nos copie la función en la ventana de edición.
Si lo hemos hecho correctamente, obtendremos algo así:



Esta función asigna un área de texto a un LCD gráfico, los números entre paréntesis indican la posición de la esquina superior-izquierda y la inferior-derecha, medido en pixels.
Vamos a asignar un área de texto que ocupe todo el LCD, asi que cambiamos los números para que ponga (0,0,128,64).
Nos situamos en la línea siguiente y, en la ventana de índices, dentro de la misma rama buscamos y hacemos [doble click] sobre [Propiedades de la fuente].
Nos aparece una nueva línea con las propiedades de la fuente.
Cambiamos los parámetros para que ponga ('Verdana',7,1).
'Verdana' es el tipo de letra (podemos usar cualquiera que tenga instalada windows).
7 es el tamaño mínimo que podemos usar para que los carácteres sean legibles.
1 Indica que el texto se escribirá con pixeles iluminados. Si fuese 0, sería para escribir sobre un fondo iluminado con pixeles oscuros).
Ahora hacemos click en el botón actualizar y...


Ahora tenemos el texto con un tamaño más ajustado.
Podemos poner el texto en negrita añadiendo una coma y la palabra Bold antes del cierre de paréntesis de la función. Si os leeis la ayuda vereis más posibilidades de esta función.

Vamos a escribir algo más.
En la ventana de edición, bajamos nuestro cursor al final de la penultima línea y pulsamos [Intro] un par de veces, para hacer espacio. Bajamos el cursor una línea.
Vamos al árbol de funciones y expandimos la rama [Común] y [doble click] sobre [Línea nueva].

Esta función provoca un salto de línea, de manera que el texto que pongamos, a continuación, aparecerá una línea por debajo de lo anterior. No necesita parámetros, pero hay que dejar los paréntesis vacíos.
Pulsamos [Intro] para cambiar de línea y escribimos "Línea 2" entre comillas.
Repetirermos el proceso unas cuantas veces. El código quedará así:
Código:

#GfxMode
 /Aquí irá el código para los LCD's Gráficos/
"Prueba de gráficos"
%Common.CreateNewLine()
"Línea 2"
%Common.CreateNewLine()
"Línea 3"
%Common.CreateNewLine()
"Línea 4"
%Common.CreateNewLine()
"Línea 5"
%Common.CreateNewLine()
"Línea 6"
#EndGfxMode


Pulsamos el botón [Actualizar] y vemos el resultado:


Vemos 5 líneas completas y unos pixels de lo que será la sexta línea.
Pero hay mucho hueco entre las líneas, ¿no podríamos juntarlas?
Nos situamos, con el cursor, detrás del primer [%Common.CreateNewLine()].
Buscamos en el árbol de funciones: [Formato], [Alineamiento] y hacemos doble click en [Desplazamiento].
Nos aparecerá la función [%Format.Offset] que sirve para desplazar lo que se escriba a continuación.
Cambiamos sus parámetros a [(Vertical,-2)] para indicar que queremos desplazar dos pixels hacia arriba.
Copiamos esta función, ya modificada y la pegamos detrás de todos los [%Common.CreateNewLine()]
Así quedará el código
Código:

#GfxMode
 /Aquí irá el código para los LCD's Gráficos/
"Prueba de gráficos"
%Common.CreateNewLine()%Format.Offset(Vertical,-2)
"Línea 2"
%Common.CreateNewLine()%Format.Offset(Vertical,-2)
"Línea 3"
%Common.CreateNewLine()%Format.Offset(Vertical,-2)
"Línea 4"
%Common.CreateNewLine()%Format.Offset(Vertical,-2)
"Línea 5"
%Common.CreateNewLine()%Format.Offset(Vertical,-2)
"Línea 6"
#EndGfxMode

Este será el resultado, tras pulsar el botón [Actualizar].


Hemos sacado espacio para incluir una línea más.

Vamos a guardar nuestro trabajo. En los botones del menú archivo hacemos [Click] en [Guardar]. Aparecerán dos líneas: Guardar (estará desactivada ya que nunca habíamos guardado este fichero) y Guardar como... que será la que utilicemos para poner un nombre y guardar nuestro fichero. Lo llamaremos, por ejemplo, "Guia"
Debemos recordar guardarlo en la carpeta [script] dentro del directorio de instalación de LCDHype. (Más adelante veremos porque es importante guardar los scripts en esta carpeta)

En el próximo post comenzaremos a ver funciones para mostrar datos.


Ultima edición por Mamel el Lun, 13 Feb 2006 10:13 pm, editado 1 vez
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor
Mamel
Moderador
Moderador



País:
Sexo:
Registrado: 13 abril 2004
Mensajes: 814
Ubicación: Cáceres

MensajePublicado: Lun, 13 Feb 2006 9:32 pm    Asunto: Responder citando

*** INSERTANDO DATOS ***

Una vez visto como insertar y formatear texto vamos a empezar a poner datos.
El procedimiento será el mismo: Buscar la función adecuada, insertarla en el script, modificar sus parámetros y probar a ver si funciona.
Vamos a crear una pantalla con información sobre los discos duros. (La historia se repite).
Arrancamos LCDHype y vamos a la ventana de edición, pinchando en el menú [Scripts].
Si guardamos el script que vimos en el post anterior, podemos recuperarlo (si el programa no lo ha cargado al iniciar), pinchando en el botón [Abrir] del menú archivo.
Ahora pinchamos en [Añadir] para crear un nuevo script. Nos aparecerá en la venta de listas como [1 Sin nombre].
Cambiamos el nombre del script (junto a la casilla [ID]). Vamos a llamarlo "HDD".


A partir de ahora, daré por supuesto que os habeis leído los post anteriores.
Es decir no voy a volver a contar como introducir un texto o donde buscar la función para saltar una línea, porque sino esto se haría interminable.
Iré explicando las funciones nuevas según las vayamos utilizando.

Vamos a empezar por la cabecera. Recordad que aquí pondremos el código que se ejecutará una sóla vez.
Funcionaría igual si lo colocamos en el bloque de gráficos, pero se estará ejecutando continuamente y nos consumirá memoria y tiempo de CPU.
Definimos el área del LCD que trabajará en modo texto, en este caso todo el LCD.

Establecemos la prioridad: Arbol de funciones: [Común] [Prioridad] cambiaremos el parámetro a 1000.
La prioridad fija el intervalo de tiempo entre procesos, a mayor número en la prioridad menor consumo de CPU.
Se mide en milisegundos y por lo tanto hemos fijado la prioridad para que el proceso se ejecute una vez cada segundo.
Podríamos poner una prioridad mayor, ya que los cambios en el espacio libre en disco duro no son tan rápidos ni necesitan una atención constante. Probad (cuando terminemos este script) a variar los valores y mirad el consumo de CPU.

Nuestro código de cabecera debe quedar así:
Código:

#Header

%Graph.SetTextArea(0,0,128,64)
%Common.SetPriority(1000)

#EndHeader


Para el bloque [#GfxMode] vamos a hacerlo al revés.
Pirmero el código y luego lo comentamos.
Código:

#GfxMode

%Graph.Font('Arial',7,1,Bold,Underline)
"Disco  Libre       Total   "
%Common.CreateNewLine()
%Graph.Font('Lucida Console',8,1,Normal)
" C: "
%Trunc(%Div(%System.Drive(C,Free),1024),0)
"MB "
%Trunc(%Div(%System.Drive(C,Size),1024),0)
"MB"

#EndGfxMode

Asignamos la fuente que vamos a usar: ('Arial',7,1,Bold,Underline).
En este caso no lo hemos hecho en la cabecera, ya que vamos a cambiar de fuente durante el script.
escribimos entre comillas el encabezado: "Disco Libre Total ", con los espacios necesarios.
Insertamos una función de cambio de línea.
Cambiamos la fuente y quitamos la negrita y el subrayado ('Lucida Console',8,1,Normal).
Escribimos " C: ".

Ahora vamos con los datos.
Como veis hay 3 funciones anidadas en la misma línea.
La más interna es %System.Drive(C,Free) y la obtenemos en el árbol de funciones con [Sistema] [Componentes] y hacemos doble click en [Disco]. No cambiamos los parámetros porque tiene justo los que necesitamos.
Esta función obtiene datos del disco, según los parámetros que pongamos. (Mirad la ayuda).
En este caso nos informa del espacio libre en el disco C:, nos devuelve un número en KBytes.

Rodeando a esta función tenemos %Div(Aquí va la función anterior),1024).
Se puede encontrar en el árbol de funciones en [Funciones matemáticas] [Aritméticas básicas] y doble click en [División].
Si mirais la ayuda vereis que necesita dos parámetros: El primero es el dividendo (en este caso será el resultado de la función anterior); el segundo es el divisor. Hemos puesto 1024 para pasar de KBytes a MBytes.

Por fin la función externa es: %Trunc(Las funciones anteriores),0).
Esta función la encontraremos en el árbol de funciones en [Funciones matemáticas], [Operaciones] y doble click en [Truncar].
Lo que conseguimos es truncar el primer número (en este caso el espacio libre en C: expresado en MBytes) y dejarle tantos decimales como indique el segundo parámetro. Hemos puesto cero porque no queremos decimales.

Con esta línea nos saldrá en el LCD el espacio libre en el disco C: en Megabytes.
A continuación escribimos "MB ".
Continuamos con una función triple anidada, igual a la anterior, salvo que el parámetro "Free" lo hemos cambiado por "Size" para que nos calcule el espacio total en disco.
Y terminamos escribiendo "MB".

Uff !! La explicación parece un embrollo, espero que lo entendais si os vais fijando en el código.
Al ver las funciones resaltando los colores y los paréntesis se tiene una visión mejor del conjunto de la instrucción.

He escrito unas pocas líneas más, cambiando el nombre del disco y obtengo esto:


Parece que no merece la pena meterse en estas complejidades de programación, cuando hay otros programas que con pinchar y arrastrar ofrecen un resultado similar.
Pero esperad un poco, todavía no hemos llegado a la "magia" de LCDHype.

Imaginad que ya hace unos meses que teneis el LCD funcionando. Ya se pasó la novedad y ahora apenas lo mirais, de vez en cuando.
Un día estais bajando un fichero grande con el eMule. Sin daros cuenta se os está llenando el disco duro. Cuando el eMule termina de bajar el fichero, lo reagrupa, lo renombra y lo pasa de la carpeta temporal a "incoming".
Como no tiene espacio suficiente os da un aviso, pero estais liados y no os fijais. Apagais el PC y al día siguiente comprobais que habeis perdido ese fichero que os costó días de descarga.
Ah!! Pero nosotros tenemos nuestro LCD funcionando y cuando lo miramos de refilón, casi sin fijarnos nos llama la atención así:


Rápidamente vemos que hay un problema en nuestro disco E: y lo arreglamos sin perder los datos.


Ultima edición por Mamel el Lun, 13 Feb 2006 10:21 pm, editado 1 vez
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor
Mamel
Moderador
Moderador



País:
Sexo:
Registrado: 13 abril 2004
Mensajes: 814
Ubicación: Cáceres

MensajePublicado: Lun, 13 Feb 2006 9:36 pm    Asunto: Responder citando

*** GRAFICOS ***

Vamos a ver como insertar gráficos en nuestros LCD's.

En principio es muy sencillo.
En la ventana de índices buscamos [LCD], [LCD Gráfico] y doble click en [Cargar Bitmap].

En la ventana de edición nos aparecerá la instrucción:
%LCD.Gfx_LoadBitmap(lcd.bmp,0,0,0,0,10,10,0,NONE).
Vamos a ver sus parámetros:
.-Primero tenemos "lcd.bmp". Donde pondremos la ruta y el nombre del fichero con su extensión.
El fichero debe ser obligatoriamente, de tipo .bmp en dos colores.
Si tenemos nuestro script guardado en la carpeta [script] (o en una subcarpeta dentro de ella), podemos guardar nuestro fichero de bitmap en el mismo sitio, y no hará falta poner la ruta. En caso contrario deberemos poner la ruta absoluta del fichero desde la raíz. Por ejemplo "C:\Carpeta\Subcarpeta\nombre_fichero.bmp.
Por eso es aconsejable guardar nuestros script en la carpeta [scripts] dentro del directorio donde hayamos instalado el programa.
.-Los dos primeros números indican el lugar del LCD donde comenzará a cargarse el gráfico. Pondremos 0,0, para la esquina superior izquierda del LCD.
.-El tercer y cuarto número indican el desplazamiento desde la esquina superior izquierda del dibujo. Es decir podemos tener un fichero con un dibujo muy grande y utilizar sólo una parte, indicando al programa el punto desde donde debe comenzar a pasar los datos del dibujo al LCD.
.-Los siguientes dos números indican el ancho y alto de la imagen.
.-Después pondremos 0, para vídeo normal ó 1 para video inverso.
.-Por último hay una palabra que indica el modo lógico de dibujar: XOR, AND, etc. (mirad la ayuda).
Esta última palabra debe ir con todas sus letras en mayúsculas.

Veamos un ejemplo.
Vamos a cargar un dibujo a LCD completo, por ejemplo el logo de H-M que ya usamos en otra guía.


Lo copiamos en nuestra carpeta script, y modificamos la instrucción para que ponga:
%LCD.Gfx_LoadBitmap(logoHM.bmp,0,0,0,0,128,64,0,NONE)
Empezamos en la esquina superior izquierda; sin desplazamiento de la imagen; tamaño 128x64; vídeo normal y sin MODO
Obtendremos:


A la derecha vemos como quedaría en vídeo inverso (poner el último número antes de "NONE" a 1)
Esta instrucción la pondríamos en la cabecera ya que sólo haría falta ejecutarla una vez.

Ahora un ejemplo un poco más complejo y de paso analizamos un par de instrucciones interesantes.
Necesitamos unos gráficos pequeños


El primero es una parte de un gráfico que hizo Frasaca para la otra guía.
Los otros dos son modificaciones del primero (girados a 30º y 60º con un programa de gráficos).

Necesitaremos también este Script, que comentaremos más abajo.
Código:

#Header
%LCD.Gfx_SetFont('Verdana',9,1,1,Bold)
%DefVar(vent,Local=0)

#EndHeader

#GfxMode
%Format.Offset(Vertical,-1)
"     Ventiladores"
%LCD.Gfx_LoadBitmap(fan%vent().bmp,0,17,0,0,47,47,0,NONE)
/
Aquí pondríamos las instrucciones de texto y datos
/
%If(%vent()=2)
Then{%Assign(vent,0)}
Else{%Assign(vent,%Inc(%vent(),1))}

#EndGfxMode

En la cabecera:
.-Cargamos la fuente, "verdana" en "negrita"
.-Asignamos una variable. Una variable es un espacio de memoria al que damos un nombre, (como referencia) y en el que podemos almacenar datos. La instrucción se encuentra en [Definiciones] y doble click en [Variable].
Con esta función reservamos un espacio de memoria que llamaremos "vent" y le damos un valor de cero.
Cuando trabajemos con %vent en realidad estaremos haciéndolo con su valor, el nombre sólo es un recordatorio.

En el bloque de gráficos
.-Subimos el texto siguiente 1 pixel.
.-Escribimos el título de la ventana
.-Cargamos un gráfico, pero no en la esquina superior izquierda, sino 17 pixels más abajo.
Prestad atención al nombre del fichero bitmap "fan%vent().bmp".
Es el nombre de un fichero BMP, pero hemos inscrutado la variable que habíamos creado.
En este momento el programa procesa la variable y devuelve su valor, con lo que en realidad estaremos cargando el fichero "fan0.bmp". Al modificar la variable, estaremos modificando el nombre del fichero.
.-Después dejamos unas líneas para insertar datos (por ejemplo del MBM que veremos más adelante).
.-La última instrucción es la más compleja. Ella sola ocupa las tres últimas líneas.
Para los que sepan de programación es similar al "IF...THEN...ELSE" que se usa en otros lenguajes de programación.
La instrucción la escribimos directamente, ya que es más rápido que buscarla en el árbol de funciones.
Se compone de tres partes. En la primera comparamos dos valores que pueden ser números, funciones o variables o una mezcla.
Si la comparación es verdadera se ejecutan los comandos que están situados tras la palabra "Then" y encerrados entre llaves{}
Si la comparación fuera falsa se ejecutarían los comandos situados tras la palabra "Else" y encerrados entre llaves.
Después se continua el proceso normal del programa.

En este ejemplo comparamos nuestra variable %vent con el valor numérico 2.
Al principio la comparación es falsa porque %vent tiene valor de 0 y comparamos con 2; por lo tanto salta las instrucciones del "Then" y ejecutará las instrucciones del "Else".
Aquí nos encontramos con dos nuevas funciones anidadas.
La más interna, que está en el árbol de funciones en [Funciones Matemátics], [Aritméticas Básicas] y doble click en [Suma]; tiene dos parametros y lo que hace es sumar el primero con el segundo y devolver el resultado.
La exterior sirve para asignar un valor a una variable, en este caso a la variable %vent se le da el valor que resulta de la operación anterior. La encontramos en el árbol de funciones en [Común, [Asignar].
La variable a la que vayamos a asignar un valor debe haber sido definida, anteriormente, con el comando "%DefVar", nosotros lo hicimos en la cabecera.
NOTA en los comandos "%DefVar" y "%Assign" el nombre de la variable va sin "%" ni paréntesis.
Cuando queramos usar el valor contenido en esa variable, entonces sí usaremos los signos.

Siguiendo con el ejemplo, nuestra variable %vent pasa a tener valor 1 y, por lo tanto, en el siguiente ciclo del programa se cargará al gráfico "fan1.bmp" en lugar del "fan0.bmp".
Vuelve a comparar con 2 y como sigue siendo falso sumamos 1, otra vez, a nuestra variable.
Nuevo ciclo y se carga "fan2".
Volvemos a comparar y ahora, %vent vale 2, y la comparación es cierta. Por tanto se ejecutan las instruciones que están tras la palabra "Then" que lo que hace es asignar el valor 0 a la variable %vent.
Con esto completamos el proceso y volvemos a estar como al principio.

Con todo esto, lo que logramos es cargar varios ficheros de mapa de bit, uno tras otro, en el mismo punto.
Se nos produce un efecto similar al de un gráfico .GIF animado en nuestro LCD.
Tras todo este rollo, este es el resultado:


Ha quedado un poco "cutrecillo", se ve que el dibujo no es mi fuerte.
Pero creo que ilustra el efecto que quería mostrar.

En próximos post comentaremos las funciones propias del MBM.
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor
Mostrar mensajes de anteriores:   
Publicar nuevo tema   Este tema está cerrado y no puede editar mensajes o responder    Foros de discusión -> Software Todas las horas son GMT + 2 Horas
Página 1 de 1

 
Cambiar a:  

Powered by phpBB.


Este sitio no se hace responsable de ningún daño que cause en su ordenador con la información que en el se expone.Todos los productos y marcas están registrados por sus respectivos propietarios. Prohibida la reproducción total o parcial de los textos e imagenes de esta web sin el consentimiento expreso de su autor.
Hardcore-Modding.com 2001-2019 Los comentarios son propiedad de sus autores (ya sean anonimos o registrados).
Portal basado en NukeET, RSS
Página Generada en: 0,218 segundos

π