J'aimerais vous exposer mon projet "OS48" qui découle d'un projet que j'ai réalsié l'an dernier "OS47".
J'ai créé un noyau sous forme de lib c++ qui permet d'exécuter plusieurs tâches à la fois. Le noyau a spécialement été conçu pour fonctionner sur les cartes Arduino UNO et MEGA.
Vous assignez à une tâche une fonction, et le noyau s'occupe d’exécuter tout ça en parallèle sans ou avec votre intervention.
Voici quelques unes des fonctionnalités apportées :
5 algos d'ordonnancement au choix
détection des débordements de mémoire
gestion des états des tâches
semaphore, barrière, mutex, ...
système de boîte à lettres de messages pour chaque tâche
software timers
Le projet a un site dédié : http://www.rtos48.com/. Vous pourrez y trouver une documentation complète, des tutoriaux pour démarrer et comprendre les dessous.
Le tout est sous licence MIT. Le code source se trouve dans le zip qui peut être importé directement dans votre sketch.
dommage, le site est en anglais, j'ai téléchargé la version OS48.
je n'ose pas la décompiler de peur d'y trouver encore de l'anglais.
je ne suis pas un spécialiste de cette langue et c'est toujours un très gros effort pour moi.
je pense que je ne suis pas le seul.
Travail impressionnant bravo Je ne sais pas encore si j'aurais besoin d'un tel outil pour mes petits projets mais je vais le tester au plus vite. Le site aussi est super bien documenté, même avec l'anglais ça passe tout seul, au moins pour l'utilisation.
Et ce n'est que le début, j'ai encore pas mal d'idées mais je dois faire attention à ce que ça reste simple et pas trop lourd pour du "Arduino". Une des évolutions sera d'assurer le support du Arduino Due (processeur ARM donc architecture totalement différente).