Librería Arduino MultiTask


El objeto de la librería MultiTask es facilitar la ejecución de varias acciones de forma no bloqueante, dotando de un cierto comportamiento asíncrono. En un proyecto en el que necesitáramos tareas temporizadas instanciaríamos un objeto MultiTask para el número de tareas estimemos vamos a necesitar, y las crearíamos e iniciaríamos según necesidades.

MultiTask se inicia con indicando la capacidad, el número máximo de tareas que puede alojar un MultiTask. La cantidad de tareas realmente empleada se almacena en Count.

Las tareas se almacenan en un array. Cada vez que se añade una tarea, se devuelve el índice de la tarea añadida. Si el buffer está lleno, la tarea no se añade.

Existen varios tipos de tareas que podemos añadir

  • Delay, no ejecuta acción.
  • Single, se ejecuta una única vez.
  • Repetitive, se ejecuta N veces.
  • Continous, se repite de forma indefinida.
  • Alternat, se ejecuta N veces, alternando entre dos acciones.
  • AlternantContinous, se ejecuta de forma indefinida, alternando entre dos acciones.

Para actualizar el estado de las tareas, debemos llamar al método Update con frecuencia. El método Update comprueba el estado de todas las tareas y, en caso de que alguna haya expirado, ejecuta las acciones permanentes.

Manual de uso

La clase MultiTask puede instanciarse como un objeto a través de uno de sus constructores,

Uso de MultiTask

Ejemplos

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

  • MultiTask: Ejemplo que muestra el uso de algunas de las funciones de conversión.

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
Previous Librería Arduino AsyncTask
Next Librería Arduino Storyboard

¡Deja un comentario!...

avatar
1000
wpDiscuz