Librería Arduino MultiTask Deja un comentario

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.

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

Uso de MultiTask

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 DocumentosArduinolibraries)
  • Relanzar el IDE de Arduino

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Enviar Whatsapp
Hola 👋
¿En qué podemos ayudarte?