Autor Tema: C18: Librería para creación de menús en GLCD 128x64.  (Leído 24740 veces)

0 Usuarios y 4 Visitantes están viendo este tema.

Desconectado MerLiNz

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2463
Re: C18: Librería para creación de menús en GLCD 128x64.
« Respuesta #45 en: 07 de Diciembre de 2011, 08:57:05 »
pues me dejas de piedra, como diferencia el ccs de un dato a otro?? sera porque no estan en la misma linea??

Desconectado ignaciorod

  • PIC10
  • *
  • Mensajes: 20
Re: C18: Librería para creación de menús en GLCD 128x64.
« Respuesta #46 en: 09 de Diciembre de 2011, 09:56:10 »
che suki se le puede agregar un touch  a tu pantalla para usarla con la libreria que hiciste? o habria q modificarla?

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: C18: Librería para creación de menús en GLCD 128x64.
« Respuesta #47 en: 09 de Diciembre de 2011, 13:00:09 »
Si seguro, se puede. Modificar? y un poco, pensar que ahora no hay que seleccionar los items mediante pulsadores sino que se elije al tocar la pantalla, etc.  Revisa lo que hay por aquí puede ayudarte: http://www.micros-designs.com.ar/como-crear-menus-en-lcd/


Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado LeugimZerO

  • PIC16
  • ***
  • Mensajes: 112
    • SmaTSoft Electronics
Re: C18: Librería para creación de menús en GLCD 128x64.
« Respuesta #48 en: 03 de Enero de 2012, 18:41:05 »
Hola amigos y Feliz año nuevo para toda la familia de TodoPIC, yo tengo un proyecto avanzado en CCS con GLCD y la verdad me gustaria usar el menu GLCD de nuestro maestro Suky pero como esta desarrollado en C18 (yo no manejo C18  :( ) me preguntaba si podriamos hacer una version para CCS y asi tambien usar esta interesante tecnica en nuestros proyectos CCS  :-/ , o si alguien ya lo desarrollo nos de una ayudita.

Pdta. Tambien estoy buscando el Graphics Library v1.65 para guardar mis imagenes en la eeprom, me di cuenta que el link murio.

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: C18: Librería para creación de menús en GLCD 128x64.
« Respuesta #49 en: 03 de Enero de 2012, 19:37:26 »
Esta librería no es compatible con CCS, por no permitir por ejemplo const char *Puntero  ;-)



Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado LeugimZerO

  • PIC16
  • ***
  • Mensajes: 112
    • SmaTSoft Electronics
Re: C18: Librería para creación de menús en GLCD 128x64.
« Respuesta #50 en: 03 de Enero de 2012, 20:17:27 »
noooooo....  :(
chispas entonces que tecnica me recomiendas para hacer menus en CCS que no me consuman mucha rom.
Gracias por responder.

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: C18: Librería para creación de menús en GLCD 128x64.
« Respuesta #51 en: 03 de Enero de 2012, 23:14:43 »
Un par de variables que indiquen en que submenu estas y un par de switch para seleccionarlo y dibujar  :tongue: O pasa a otro compilador  :mrgreen:


Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado MGLSOFT

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 7912
Re: C18: Librería para creación de menús en GLCD 128x64.
« Respuesta #52 en: 03 de Enero de 2012, 23:39:57 »
Esta librería no es compatible con CCS, por no permitir por ejemplo const char *Puntero  ;-)



Saludos!

Creo que en las ultimas versiones ya se puede...
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: C18: Librería para creación de menús en GLCD 128x64.
« Respuesta #53 en: 04 de Enero de 2012, 07:27:54 »
Les toca probar  :mrgreen: Alguna vez quise utilizar el tema de los punteros a funciones y solo me hizo perder el tiempo  :tongue:
No contesto mensajes privados, las consultas en el foro

Desconectado LeugimZerO

  • PIC16
  • ***
  • Mensajes: 112
    • SmaTSoft Electronics
Re: C18: Librería para creación de menús en GLCD 128x64.
« Respuesta #54 en: 04 de Enero de 2012, 17:10:34 »
bueno amigo MGLSOFT, porque no nos das unas pautas para empezar  :mrgreen:...
ya que esta tecnica es muy interesante

Desconectado pou

  • PIC12
  • **
  • Mensajes: 51
Re: C18: Librería para creación de menús en GLCD 128x64.
« Respuesta #55 en: 20 de Junio de 2012, 20:35:28 »
Hola. menudas cosas os currais!!

Yo tambien quiero hacerme un menu con algun ATmega y esta pantalla NHD-C128128BZ, que en mouser parece "barata"
Pero tema jodido este e!?! al menos para mi  :shock:

Suki, el programa que as puesto es comunicando la pantalla en patalelo no? Es que a mi me gustaria usar con SPI, y compartir este para 2 cacharros mas, tardará mucho con el SPI? (todavia nunca lo he usado)

Y no se puede hacer lo del buffer pero solo con una parte de la pantalla?? (cuando solo quiero numeros en medio de la pantalla)

no se si quiero hacer mucho con un micro o no, pero no me salen las cuentas  :D

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: C18: Librería para creación de menús en GLCD 128x64.
« Respuesta #56 en: 20 de Junio de 2012, 21:38:09 »
En ese caso si, la librería envía de forma paralela. Pero he implementado en un TFT la comunicación SPI, o sea a color y podemos decir que es aceptable, así que en monocromático poco se debe notar.

Si vas a usar SPI, lo mejor es utilizar un buffer interno, así armas una rutina rápida que dibuje toda la pantalla  ;-)


Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado pou

  • PIC12
  • **
  • Mensajes: 51
Re: C18: Librería para creación de menús en GLCD 128x64.
« Respuesta #57 en: 21 de Junio de 2012, 05:25:55 »
OK.  ;-)
He mirado un programa de ejemplo, y aparte de no enteder cosas, me parece un coñazo las funciones de IniciarLCD y DibujarLCD, otros programas para otras GLCD parecen menos lio  :?

Este es el programa de ejemplo.
http://www.newhavendisplay.com/app_notes/NHD-C128128BZ.txt

No entiendo para que vale tanto comando en la funcion "lcd_init() ", al final pone "settings for 16-level grayscale", pero ni idea
En la funcion "void show_display", escribe 4 veces el mismo dato, mirando el dataseeht del controlador (pag. 29, fig. 9) ¿será que es para la escala de grises. (escribe 4 unos = negro, ó 4 ceros = blanco)?
datasheet del controlador: http://www.newhavendisplay.com/app_notes/ST7528.pdf

Los que llamais monocromaticos tambien hay que enviar 4 bit x pixel o con 1 vale? Si es asi paso de usar este GLCD, conoceis alguno un poco grande que solo mande 1 bit x pixel, barato, que gaste poco, que se limpie solo,etc?
« Última modificación: 21 de Junio de 2012, 13:48:59 por pou »

Desconectado Rikr09

  • PIC16
  • ***
  • Mensajes: 112
Re: C18: Librería para creación de menús en GLCD 128x64.
« Respuesta #58 en: 27 de Junio de 2012, 16:18:21 »
En un proyecto que desarrollo necesito implementar un menú en una pantalla GLCD 128x64, buscando por la red encontré este excelente proyecto en el que utilizan un display Nokia 6100. A partir de esa librería, me dedique a entender como trabaja y tomando su estructura re-escribí la librería para un GLCD monocromático  :(  :D :D

Para crear un elemento del submenú tenemos la siguiente estructura:
Código: [Seleccionar]
typedef struct{
char TipoMenu;
rom char *TextoMenu;
rom char *PtrMenuSeleccion;
}MENU;

Un ejemplo en la creación de un Submenú:
Creamos Menú principal:
       
  • El primer elemento direcciona al volver atrás en el submenú:
  • MENU_MAIN o SUBMENU_ANTERIOR: Regresa a pantalla principal o a un submenú anterior.
          
  • vInicializaSistemaDisplay: Función a ejecutar al regresar atrás.-
       
  • Segundo elemento: Primer ítem del menú a crear:
  • MENU_SUBMENU: Indica que al seleccionar este se debe crear otro submenú.
          
  • "Sub Menu": Texto del ítem.-
          
  • SubMenu1: Submenú a crear y dibujar.-
       
  • Tercer elemento: Segundo ítem del menú a crear:
  • MENU_COMANDO: Indica que al ejecutar tal ítem se ejecuta una función.-
          
  • "Control Motor": Texto del ítem.
          
  • vControlMotor: Función que se ejecuta, puede generar una pantalla con mensaje, barra deslizante o nada.-
       
  • Sexto elemento: Elemento que indica finalización del menú.-
Código: [Seleccionar]
MENU MenuPrincipal[]={
{MENU_MAIN,"",vInicializaSistemaDisplay},
{MENU_SUBMENU,"Sub Menu",SubMenu1},
{MENU_COMANDO,"Control Motor",vControlMotor},
{MENU_COMANDO,"Backlight",vControlBack},
{MENU_COMANDO,"About",vMuestraAbout},
{MENU_FIN,"",0}
};

El programa está controlado por medio de punteros a la memoria de programa. Por ejemplo en el bucle del programa principal (main), ejecuta una función (vEjecutaFuncion(Evento)) apuntada por el puntero *FuncionActualEjecucion, el cual direcciona las distintas funciones que trabajan con los eventos en las distintas pantallas presentadas en el GLCD.
Por ejemplo al dibujar la pantalla principal cargamos en puntero la función vEventosPantallaPrincipal, la cual atenderá los eventos, en este caso solo se espera a que se pulse el botón inferior derecho para acceder al submenú.


Al clickear en menú ejecutamos la función vSeleccionMenu(MenuPrincipal,1) que dibujará el Menú seleccionado y volverá a direccionar el puntero a la función vEventosSubMenu, la cual atiende los eventos que ocurran en el menú dibujado en pantalla. Es mas o menos un resumen de cómo trabaja el código.

Dentro de las opciones de menús del tipo comando tenemos:

Visualizar mensaje simple:

Visualizar opción a ejecutar:

Visualizar deslizador para modificar una variable:

Visualizar una variable:

Vídeo de muestra: (El video no muestra la ultima opción de menú, lo desarrolle después  :mrgreen: )

Se adjunta proyecto con el ejemplo mostrado. Al ser flexible, se pueden ir agregando otras opciones de menús.


Saludos!

Suky Saludos,

Cual es la referencia de la GLCD que implementaste? la monocromatica que usas para la libreria que creaste.

Gracias

Desconectado Rikr09

  • PIC16
  • ***
  • Mensajes: 112
Re: C18: Librería para creación de menús en GLCD 128x64.
« Respuesta #59 en: 27 de Junio de 2012, 16:27:41 »
Saludos Suky

Excelente tu aporte una vez mas. Me gustaría saber cual es la referencia de la GLCD que empleas la de 128*64.

Atento a tu respuesta, Gracias  :-/