Librería de Arduino PropertyChange


La librería ProperyChange implementa una variable que conoce su estado anterior, y ejecuta una acción de callback cuando el valor actual cambia. Adicionalmente se pueden definir triggers, condiciones que evalúan al asignar un valor y que disparan sus propias acciones.

Manual de uso

La librería ProperyChange es un wrapper entorno a una otra variable de tipo T. Almacena el último valor y el valor actual de la misma. Para actualizar el valor de la variable podemos usar la función Update(T newValue), o simplemente emplear el operador = como en una variable convencional.

Adicionalmente, podemos definir una función de Callback, que dispara cuando se detecta un cambio en la variable. Las funciones de callback reciben la propia instancia, por lo que tienen acceso a todos los campos de la misma, incluidos el valor o anterior.

La librería PropertyChange también permite añadir triggers, formados por una condición y una función de callback similar la anterior. Al actualizar el valor de la variable, se evalúan los triggers (en función de su tipo) y, en caso de cumplirse, disparan la función asignada.

Anuncio: Tus propias PCBs a media en PCBWAY

El comportamiento del trigger está condicionado por su tipo, existiendo:

  • AnyTime, disparan siempre que se cumple la condición
  • OnChange, disparan en todo cambio de valor, en el que se cumpla la condición
  • Once, disparan una única vez y quedan desactivados hasta que son rearmados mediante las funciones Enable..()

Los trigger pueden ser desactivados o activados mediante los grupos de funciones Enable..() y Disable..(). Combinado a que cada Callback dispone de la instancia del objeto que lo invoca,da lugar a muchas posibles combinaciones potentes (ver ejemplo TriggersEnable).

Por último al comportamiento ante la primera asignación, podemos emplear el campo IgnoreFirst para que la primera asignación sea considerada como una inicialización, por lo cuál es ignorada.

Constructor

La clase ProperyChange se instancia a través de su constructor.

Definiciones

Uso de ProperyChange

Ejemplos

La librería ProperyChange incluye los siguientes ejemplos para ilustrar su uso.

  • Basic: Ejemplo que muestra el uso básico de PropertyChange

  • IgnoreFirst: Ejemplo que muestra el uso de IgnoreFirst

  • Triggers: Ejemplo que muestra el uso de Triggers y la diferencia entre el tipo Once, OnChange y AnyTime

  • TriggersEnable: Ejemplo que muestra el uso de activar/desactivar triggers. En este ejemplo, usamos una PropertyChange para distinguir entre una secuencia de 00, 01 y 11

Instalación

  • Descargar la última versión desde GitHub
  • Descomprimir el archivo
  • Copiar en tu carpeta de librerías (normalmente Mis Documentos\Arduino\libraries)
  • Relanzar el IDE de Arduino

Si te ha gustado esta entrada y quieres leer más sobre Arduino puedes consultar la sección
tutoriales de Arduino

Anuncio:

Previous Pinout del SoC ESP8266 y del módulo ESP12E
Next Aprender a usar el editor de texto Nano en Raspberry Pi

¡Deja un comentario!...

1000