jueves, 19 de febrero de 2015

Creando librerías en Arduino #3: Palabras clave

Siguiendo con las otras dos entradas, Creando librerías en Arduino #1: Introducción y cabeceras, y Creando librerías en Arduino #2: Clases, métodos y propiedades, en donde vimos cómo crear las partes principales de una librería; como les comenté, en esta vamos a ver las palabras clave.

¿Qué son? ¿Para qué sirven?

Resulta que cuando programamos en la IDE (el programita ese que nos descargamos de arduino.cc), vemos esas palabras coloreadas que nos ayudan a leer y entender mejor el código, bueno. Esas son las palabras clave. Cada librería tiene un archivo keywords.txt en el que éstas se definen.

Hay tres tipos de keywords.
  • KEYWORD1
  • KEYWORD2
  • KEYWORD3
  • LITERAL1
Éstas le van a indicar al programa el color con el que colorearlas (valga la redundancia :P).

Así es como se vería cada una (nótese que la primera  es ligeramente más oscura que la segunda):
Cada una tiene un significado diferente, la estructura básica más común de un keywords.txt es algo así. Siempre recuerden que entre la palabra clave y el tipo, debe haber un tabulador, no cuatro espacios. Tengo problemas para lograr que blogger lo muestre como debe hacerlo, pero ya lo saben. El que avisa no traiciona xD

#######################################
# Syntax Coloring Map For <Nombre de la clase>
#######################################

#######################################
# Datatypes (KEYWORD1)
#######################################

Palabra_Clave_1    KEYWORD1

#######################################
# Methods and Functions (KEYWORD2)
#######################################

Palabra_Clave_2    KEYWORD2

#######################################
# Class (KEYWORD3)
#######################################

Palabra_Clave_3    KEYWORD3

#######################################
# Constants (LITERAL1)
#######################################

Constante    LITERAL1

Las líneas que comienzan con # son comentarios, el programa no les da importancia.

Ahora sí. 
El primer comentario, nos dice a qué clase corresponde este set de keywords, luego de eso, sí comienzan las definiciones.
La KEYWORD1, está hecha para tipos de dato. No es algo que al empezar hagamos, pero si luego queremos definir algún datatype (int, boolean, cosas así), podemos usarla.
Luego viene KEYWORD2. Ésta es usada para definir métodos y funciones. Nosotros podríamos utilizar ésta para Encender y Apagar, las funciones que creamos anteriormente.
Nos queda KEYWORD3. Se utiliza para los nombres de las clases. Nosotros la utilizaríamos sobre Led.
Sólo resta LITERAL1, que es usada para colorear constantes. Por ejemplo, ¿recuerdan HIGH y LOW? Las palabras clave de estas constantes están definidas con LITERAL1.

Suponiendo que queramos crear las palabras clave para nuestro código:

#######################################
# Syntax Coloring Map For Led
#######################################

#######################################
# Datatypes (KEYWORD1)
#######################################

#######################################
# Methods and Functions (KEYWORD2)
#######################################

Encender KEYWORD2
Apagar KEYWORD2

#######################################
# Class (KEYWORD3)
#######################################

Led KEYWORD3

#######################################
# Constants (LITERAL1)
#######################################

¡Eso es todo por hoy! Guarden su archivo como keywords.txt en la carpeta que estamos usando para nuestra librería. En la próxima entrada veremos cómo utilizarla, cómo crear ejemplos para que quienes la vean sepan cómo hacerla funcionar, etc...

Saludos!
-fermino-

1 comentario: