LCD

NOMBRE
SINOPSIS
FUNCIONES
PINES
PARÃMETROS
DESCRIPCIÃN
AUTOR
LICENCIA

NOMBRE

lcd - Transmite datos HAL a una pantalla LCD

SINOPSIS

loadrt lcd fmt_strings="" Texto sin formato %4.4f\nAnd So on|Second Page, Next Inst""

FUNCIONES

lcd (requiere un hilo de punto flotante). Todas las instancias de LCD
se actualizan con la misma función.

PINES

«TP lcd.NN.out (u32) out El flujo de bytes de salida se envÃa a través de este pin. Se envÃa un carácter a cada invocación de hilo sin ninguna negociacion prevista.
lcd.
NN.page.PP.arg.NN (float/s32/u32/bit) in

Los pines de entrada tienen los tipos que coinciden con los especificadores de cadena de formato.

lcd.NN.page_num (u32) in

Selecciona el número de página. Se pueden definir varios diseños, y este pin cambia entre ellos.

lcd.NN.contrast (float) in

Intenta establecer el contraste de la pantalla LCD usando la secuencia de bytes ESC C y luego un valor de 0x20 a 0xBF. (a juego con Mesa 7i73). El valor debe estar entre 0 y 1.

PARÃMETROS

lcd.NN.decimal-separator (u32) rw

Establece el separador decimal utilizado para los números de punto flotante. El valor predeterminado es 46 (0x2E) que corresponde a ".". Si se requiere una coma, establezca este parámetro en 44 (0x2C).

DESCRIPCIÃN

lcd toma cadenas de formato muy parecidas a las utilizadas en C y muchos otros lenguajes en las funciones printf y scanf y sus variantes.

El componente fue escrito especÃficamente para admitir el controlador colgante Mesa 7i73, sin embargo, puede ser útil para transmitir datos a otros dispositivos de caracteres y, como el formato de salida imita el formato del terminal ADM3, podrÃa usarse para transmitir datos a un dispositivo en serie. Quizás incluso un ADM3 genuino. Las cadenas contienen una mezcla de valores de texto (que se muestran directamente), códigos de formato "escapados" y descriptores numéricos de formato. Para obtener una descripción detallada de los códigos de formato, consulte: http://en.wikipedia.org/wiki/Printf

El componente se puede configurar para mostrar un número ilimitado de páginas con un formato diferente, que se pueden seleccionar con un pin HAL.
 ódigos escapados

 \n Inserta los caracteres clear-to-end, retorno de carro y avance de lÃnea. Esto continuará el salto de lÃnea y se borrará incluso si se ha producido un reajuste automático (lcd no tiene conocimiento del ancho de la pantalla lcd). Para imprimir en la columna de la derecha, es necesario permitir que el formato se ajuste y omita el código \n.

 \t Inserta un tabulador (en realidad 4 espacios en la versión actual en lugar de un tabulador verdadero).

 \NN inserta el carácter definido por el código hexadecimal NN.  Como el carácter ’,’ se usa en la cadena de formato para separar las instancias de LCD, debe estar representado por
\2C en la cadena de formato. (el separador decimal se maneja de manera diferente)    \\ Inserta un literal \.

 Formatos numéricos

lcd difiere ligeramente de las convenciones estándar de printf. Una diferencia significativa es que los lÃmites de ancho se aplican estrictamente para evitar que la pantalla LCD haga scroll y estropee el diseño. El ancho del campo incluye el carácter del signo, de modo que los números negativos a menudo tendrán un rango válido más pequeño que los positivos. Los números que no caben en el ancho especificado se muestran como una lÃnea de asteriscos (********).

Cada formato comienza con un sÃmbolo "%". (Para un % literal use "%%"). Inmediatamente después del % se pueden usar los siguientes modificadores:

" " (espacio) Rellena el número al ancho especificado con espacios. Este es el valor predeterminado y no es estrictamente necesario.

"0" Rellena el número al ancho especificado con el número 0.

"+" Fuerza la visualización de un sÃmbolo + antes de los números positivos. Esto (como el signo aparecerá inmediatamente a la izquierda de los dÃgitos para un número con espacio y en la posición extrema izquierda para un número con 0.

"1234567890" Una entrada numérica (que no sea el 0 inicial anterior) define el número total de caracteres a mostrar, incluido el separador decimal y el signo. Si bien este número puede tener tantos dÃgitos como sea necesario, el ancho máximo del campo es de 20 caracteres. La precisión inherente del tipo de datos "doble" significa que más de 14 dÃgitos tenderán a mostrar errores en los dÃgitos menos significativos. Los tipos de datos enteros nunca llenarán más de 10 dÃgitos decimales.

Siguiendo al especificador de ancho debe estar el especificador decimal. Este solo puede ser un carácter de punto (.) ya que la coma (,) se usa como separador de instancia. Actualmente, lcd no accede a la información de la configuración regional para determinar el separador correcto, pero el parámetro Hal decimal-separator se puede utilizar para elegir cualquier separador deseado.

Después del separador decimal debe haber un número que determine cuántos lugares decimales mostrar. Esta entrada se ignora en el caso de formatos enteros.

Todos los modificadores anteriores son opcionales, pero para especificar una precisión decimal, el punto decimal debe preceder a la precisión. Por ejemplo %.3f.  La precisión decimal predeterminada es 4.

Los formatos numéricos admitidos son:

%f %F (por ejemplo, %+09.3f) Estos crean un pin HAL de tipo de punto flotante. El ejemplo se mostrarÃa en un campo de 9 caracteres, con 3 lugares de decimales,. como separador decimal, rellenado a la izquierda con 0s y con un signo que se muestra tanto para positivo como para negativo. Por el contrario, un %f simple tendrÃa 6 dÃgitos de ancho decimal, de formato variable, con un signo que solo se muestra para números negativos. Tanto %f como %F crean exactamente el mismo formato.

%i %d (Por ejemplo %+4d) Crea un pin HAL s32 (s32). El ejemplo mostrarÃa el valor con 4 caracteres fijos, espacio rellenado, ancho que incluye el + que da un rango de +999 a -999. %i y %d crean resultados idénticos.

%u (por ejemplo %08u) Crea un pin HAL sin signo (u32). El ejemplo serÃa un ancho fijo de 8 caracteres, rellenado con ceros.

%x, %X Crea un pin HAL sin signo (u32) y muestra el valor en hexadecimal. Tanto %x como %X muestran letras mayúsculas para los dÃgitos ABCDEF. Se puede especificar un ancho, aunque el tipo HAL u32 tiene solo 8 dÃgitos hexadecimales de ancho.

%o Crea un pin sin signo (u32) y muestra el valor en Octal.

%c Crea un pin HAL u32 y muestra el carácter correspondiente al valor del pin. Se suprimen los valores inferiores a 32 (espacio). Se puede usar un especificador de ancho, por ejemplo, %20c se puede usar para crear una lÃnea completa de un carácter.

%b Este especificador no tiene equivalente en printf. Crea un pin HAL de tipo bit (booleano). La b debe ir seguida de dos caracteres y la pantalla mostrará el primero de ellos cuando el pin sea TRUE y el segundo cuando sea FALSE. Tenga en cuenta que los caracteres que siguen, no preceden a la "b", a diferencia del caso con otros formatos. Los caracteres pueden ser valores hexadecimales "escapados". Por ejemplo, "%b\FF" mostrará un bloque negro sólido si es TRUE, y un espacio si es FALSE y "%b\7F\7E" mostrará la flecha derecha para FALSE y la flecha izquierda para TRUE. Un valor inesperado de ’E’ indica un error de formato.

Pages El separador de página es "|" (pipe. si se necesita el carácter real, entonces se puede usar \7C). Una "Page" en este contexto se refiere a un formato separado que puede mostrarse en la misma pantalla.

Instances El separador de instancia es la coma. Esto crea una instancia lcd completamente separada, por ejemplo, para controlar una segunda pantalla lcd en un segundo 7i73. El uso de comas para separar las instancias está integrado en el código de lectura del modparam para que ni siquiera se puedan utilizar las comas "\,". Se puede mostrar una coma usando la secuencia \2C.

AUTOR

Andy Pugh

LICENCIA

GPL