Bonjour,
Ps = Peut être existe t il un moyen plus simple ou meilleur qui me serait passé sous le nez ?! ce serait fort possible

Il n'existe qu'une seule méthode pour passer une fonction en paramètre 'd'une autre fonction

-> Utiliser un pointeur sur fonction
Tutoriel :
http://www.siteduzero.com/tutoriel-3-314203-les-pointeurs-sur-fonctions.html--
Pour faire simple, tu prends le prototype de ta fonction.
Exemple :
void toto(int plop);
Tu changes un peu le nom pour montrer qu'il s'agit d'un pointeur
Exemple :
void fnc_toto_ptr(int plop);
Remarque :
fnc = abréviation de fonction
ptr = abréviation de pointeur
Ainsi tu sais de suite de quoi il s'agit

Tu ajoutes des parenthèses et une étoile devant le nom de la fonction.
Exemple :
void (*fnc_toto_ptr)(int plop);
Tu mets le tout dans un typedef.
Exemple :
typedef void (*fnc_toto_ptr)(int plop);
Et c'est cuit !

Exemple :
typedef void (*fnc_toto_ptr)(int plop);
void loop() {
// ...
mon_toto(super_toto);
}
void mon_toto(fnc_toto_ptr toto) {
int val = 42;
// ...
toto(val);
}
void super_toto(int plop) {
// ...
}
Edit: Zut alors, je me suis fait grilled par
Barbudor 