Bonjour à tous,
Je ne pense pas que l'allocation dynamique de mémoire soit une bonne chose sur un système embarqué tel que le microcontrôleur qui équipe l'Arduino. La RAM du microcontrôleur est typiquement 2 KB pour un Atmega328 et c'est vite fait de la saturer.
Il ne faut en tout cas pas l'utiliser comme on le ferait sur un plus gros système, c'est à dire en allouant / désallouant des blocs de mémoire au fur et à mesure de l'exécution, le risque étant de fragmenter la mémoire. À la rigueur, allouer un bloc unique dans la fonction setup, si la taille nécessaire n'est pas connue à la compilation et dépend de paramètres de configuration (définis en EEPROM, via des jumpers ou par un menu de configuration par ex).
Dans sa librairie ScheduleTable, Jean-Luc effectue une allocation à la création de l'objet, cela peut être une source d'inspiration.
Pour une application en lien avec un réseau ferroviaire, j'imagine que la taille des tableaux doit être connue à la compilation ce d'autant plus qu'elle doit être liée à la configuration du réseau qui elle ne change pas à chaque exécution du programme de l'Arduino !
Meilleures salutations.
Marc-Henri