Hace algún tiempo hice una multitarea para manejar 5 motores de un brazo robot con un Arduino UNO. Lo he probado bastante y me funciona bien, pero no tengo otras tarjetas de Arduino y no se para cuantas funcionaria, o si solo funciona para la UNO. Si a alguien le interesa probarla, adjunto un comprimido con la librería y con un PDF explicativo. El código también esta explicado.
La he probado con librerías como Servo, Lcd, Serial, con delay(), milis(), etc. y no he encontrado ningún problema. Lo mas difícil que encuentro es darle la memoria justa para poder arrancar el máximo de tareas.
Agradecería me comunicarais los errores que encontréis, para solucionarlos.
Lo siento, es que al adjuntar un tar.gz el editor me dio un error y envió el post y se ha enviado 2 veces, uno cuando me ha dado el error y otro cuando he enviado el zip.
Ya he comparado códigos con FreeRTOS y aparte de lo estrictamente necesario como salvar el contexto (recomendación de avrlibc), la tabla de tareas (Tanenbaum, Stallings, etc) o el intercambio de pila (arquitectura Harvard), los códigos no se parecen en nada. FreeRTOS es mas pesada, utiliza su propia malloc(), su propio delay(), utiliza comunicación entre procesos y mas. La filosofía de un microcontrolador no es la misma que la de un microprocesador. Un microcontrolador tiende a ser un sistema dedicado mientras que un microprocesador es mas general, y en los sistemas dedicados se tiende a quitar los innecesario (Allan Burns y Andy Wellings).
Bueno habla bien de tu librería y tu trabajo. Intenta que lo vea la gente del foro en inglés para que le den categoría de librería para arduino.
Osimplemente preséntalo en el subforo en inglés que corresponda y verás como tienes una catarata de gente que te hará buenas preguntas.