Noticias:

Grupo en telegram, del foro de meteorología fácil: https://t.me/meteorologiafacil

Para mas detalles, puedes visitar el siguiente tema http://www.meteorologiafacil.com.ar/foros/index.php?topic=1608.0

Espero que les sea de mucha utilidad.

Menú Principal

GLCD y Jal Dudas al por mayor

Iniciado por YO, Marzo 21, 2012, 12:49:30 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

HJ

Gracias YO, no es algo de apuro, solo curiosidad.

David Met

#61
Sacandin foting ;D ;D ;D

Aquí está:

Jesús dijo, yo soy el CAMINO, la VERDAD y la VIDA, nadie llega al PADRE si no es por mi.

HJ

Les adelanto algo.
Parece ser que estos módulos pueden incluir diferentes controladores de un par de fabricantes.

1- el S6B1713  (KS1713) de Samsung para el WX12864A
2- la pareja de S6B0108 y S6B0107 (KS0108 y KS0107) también de Samsung para el  WG12864A
3- la pareja de NT7107 y NT7108 de Neotec para el WG12864A

Las parejas de los puntos 2 y 3 aparentemente son totalmente compatibles.

Saludos
HJ

HJ

#63
Gracias David, es el WG12864A, mas tarde buscaré algo específico en el foro de Winstar.

Saludos
HJ

Edito: Por si alguno anda con ganas.... se accede a las hojas de datos de los controladores por acá, y también está el acceso al Foro.

David Met

Si, y lo peor de todo, es la poca información que hay sobre estos controladores >:(
Jesús dijo, yo soy el CAMINO, la VERDAD y la VIDA, nadie llega al PADRE si no es por mi.

David Met

No logro cambiar el tamaño de la fuente del GLCD para poder usar las librerías glcd_8x12_font; etc. Hace más de 3 horas que analicé, probé y solucioné un montón de errores que me tiraba el jal. Pero aún así, no pude hacerlo andar. Este debe ser el motivo por el cual actualizaron la librería modificándola bastante.

Hice lo siguiente:

-- Incluimos las librerías --
include delay
include glcd_8x12_font

const bit GLCD_FONT_USAGE = true -- Hace incluir el procedimiento de la fuente externa de tipo de letra.
const byte _glcd_font_current_byte_per_char = 8 -- Indico el alto de la letra.
const byte glcd_font_lookup = FONT_8X12_CHARS[] -- Este me trajo dolores de cabeza (*)


include glcd_ks0108  --

(*) Tuve que deshacer esta línea y modificar la librería glcd_ks0108. Donde decía glcd_font_lookup la cambié por  FONT_8X12_CHARS
para que jal invocara la tabla correcta. Además, se debe escribir el caracter con el procedimiento lcd_write_char().
Pero aún así, no hay forma de hacerlo andar correctamente y no logro encontrar el porqué. Se me hace que es un fallo de dicha librería.

Este es el programa que utilicé:

include 16f877a

pragma target clock 20_000_000
pragma target OSC    hs
pragma target LVP disabled
pragma target WDT disabled

enable_digital_io()

-- ***************************************************
-- Definimos los puertos relacionados con el GLCD    (adaptalo al tuyo)
-- ***************************************************

var volatile byte GLCD_DATAPRT is portd
var volatile byte GLCD_DATAPRT_DIR is portd_direction

var volatile bit GLCD_RW is pin_b4
var volatile bit GLCD_CS1 is pin_b0
var volatile bit GLCD_E   is pin_b5
var volatile bit GLCD_DI  is pin_b2
var volatile bit GLCD_RST is pin_c0
var volatile bit GLCD_CS2 is pin_b1

var volatile bit GLCD_RW_DIRECTION is pin_b4_direction
var volatile bit GLCD_CS1_DIRECTION is pin_b0_direction
var volatile bit GLCD_E_DIRECTION is pin_b5_direction
var volatile bit GLCD_DI_DIRECTION is pin_b2_direction
var volatile bit GLCD_RST_DIRECTION is pin_c0_direction
var volatile bit GLCD_CS2_DIRECTION is pin_b1_direction

-- Incluimos las librerías --
include delay
include glcd_8x12_font

const bit GLCD_FONT_USAGE = true
const byte _glcd_font_current_byte_per_char = 12
-- const word glcd_font_lookup = FONT_8X12_CHARS[]


include glcd_ks0108  --


-- Ahora inicializamos el glcd --
glcd_init()

-- Borramos la pantalla --
lcd_fill(0)
;
lcd_write_char(10,10,"P")

forever loop
asm sleep
end loop
Jesús dijo, yo soy el CAMINO, la VERDAD y la VIDA, nadie llega al PADRE si no es por mi.

YO

Hola !
A mi me tira èsta falla:

generating p-code
C:\PIC\jalv2\lib/(1)glcd_ks0108.jal:464: "glcd_font_lookup" not defined
C:\PIC\jalv2\lib/(1)glcd_ks0108.jal:464: Too many parameters (0 expected, 1 found)
C:\PIC\jalv2\lib/glcd_font.jal:69: 'glcd_font_usage' previously defined
C:\PIC\jalv2\lib/glcd_font.jal:72: '_glcd_font_current_byte_per_char' previously defined
C:\PIC\jalv2\lib/glcd_font.jal:99: assign to constant
5 errors, 0 warnings

¿Te hace lo mismo?
Sin saber que era imposible El fue y lo hizo

David Met

No, me da otro error.
El lunes, si tengo tiempo, te copio y pego el error.
Jesús dijo, yo soy el CAMINO, la VERDAD y la VIDA, nadie llega al PADRE si no es por mi.

David Met

Aquí está el error que me da


GLCD1.jal:37: constant expression expected
C:\JALv2\lib/glcd_ks0108.jal:464: value missing
C:\JALv2\lib/glcd_ks0108.jal:464: 'end' expected (got ']')
C:\JALv2\lib/glcd_ks0108.jal:464: {FOR starts at C:\JALv2\lib/glcd_ks0108.jal:463}
C:\JALv2\lib/glcd_ks0108.jal:464: 'end' expected (got ']')
C:\JALv2\lib/glcd_ks0108.jal:464: {procedure starts at C:\JALv2\lib/glcd_ks0108.jal:452}
C:\JALv2\lib/glcd_ks0108.jal:464: 'end' expected (got ']')
C:\JALv2\lib/glcd_ks0108.jal:464: {IF starts at C:\JALv2\lib/glcd_ks0108.jal:449}
C:\JALv2\lib/glcd_ks0108.jal:464: unexpected token: "]"
9 errors, 0 warnings


Hay un error en la librería glcd_ks0108.jal y es justamente en dicha línea que me da error. Dicha línea está escrito:

cx = glcd_font_lookup(indx)

y el indx debe estar entre corchetes, así

cx = glcd_font_lookup[indx]
Jesús dijo, yo soy el CAMINO, la VERDAD y la VIDA, nadie llega al PADRE si no es por mi.

YO


Si, està mal, en la librerìa Font 8x12 està asì ; const byte FONT_8X12_CHARS [] 
Raro que con el mìsmo còdigo, tire diferentes fallas
Sin saber que era imposible El fue y lo hizo

David Met

¿Viste? Es raro.
Yo voy a preparar una librería solo del GLCD en el que incluirá todo lo necesario. Diferentes tamaños de letras, para dibujar círculos, cuadrados; líneas; etc. Y para que el compilador solo incluya aquellos procedimientos y funciones que vamos a usar; le agregaré una directiva que se deberá habilitar por medio de una constante. Así ahorramos memoria en el PIC.
Jesús dijo, yo soy el CAMINO, la VERDAD y la VIDA, nadie llega al PADRE si no es por mi.

David Met

Al final, decidí seguir por la otra librería. La GLCD_COMMON.JAL
Es una librería que soporta GLCD a color.
Hay 4 procedimientos que no logro hacerlos andar y no estoy muy seguro de como funciona. Por eso no quiero mencionarlo en el hilo del glcd sin secretos.

Los procedimientos son:

glcd_write_char_pbp()
glcd_write_char_block()
glcd_put()
glcd_draw_image()
Jesús dijo, yo soy el CAMINO, la VERDAD y la VIDA, nadie llega al PADRE si no es por mi.

YO

Hola a todos!!
Volví del viaje, hoy cuando llegue a casa voy a probar esta: glcd_draw_image().
Por lo poco que ví, si el display no es en colores, no se puede usar..., veremos

   Saludos!
Sin saber que era imposible El fue y lo hizo

David Met

Si, es por eso que no lo puedo usar; pero intenté engañar a la librería y no pude.
Jesús dijo, yo soy el CAMINO, la VERDAD y la VIDA, nadie llega al PADRE si no es por mi.

YO

Claro, en la librerìa  lcd_ks0108 ya està declarado asì : const byte GLCD_COLOR_BITS = 1 -- black & white, monochrome.

Y en la  glcd_common està discriminado de èsta manera :
                         elsif GLCD_COLOR_BITS == 1 then
                          -- not supported yet
                      end if    ??? ??? >:( >:(
Sin saber que era imposible El fue y lo hizo