631
Trucs & astuces / Re : Techniques de mise au point
« le: novembre 10, 2015, 12:09:10 pm »
On ne peut pas vraiment dire que c'est plus simple... C'est juste autre chose.
Le but de ce type d'émulation est de parvenir à compiler le fichier .ino, en faisant en sorte que les entrées et sorties soient gérées par d'autres que par l'Arduino. Il y a plusieurs problématiques :
1 Arriver à compiler
Le source .ino suppose la présence de fichiers include comme Arduino.h, serial.h et d'autres qu'il faut reproduire localement. C'est par exemple mon bout de code comme tu dis. Ensuite, et comme tout ne sera pas parfaitement identique, il faut pouvoir délimiter les zones à compiler dans le cas "émulation", et celles à compiler dans le cas "production". C'est l'utilisation des defines du C VISUALSTUDIO pour moi ou PC pour Marc-Henri.
2 Emulation des boutons
Quoi de mieux que le clavier et la souris pour évoquer des boutons ou des potars. L'émulation passe par un retour d'événements selon la touche frappée... C'est plus simple dans mon cas puisque j'ai ajouté une classe ButtonCommanderKeyboard à ma librairie, qui n'existe que pendant la compilation VisualStudio !
3 Emulation des sorties
A vrai dire, ce n'est pas vraiment nécessaire. Du temps de la mise au point de UAD, je n'avais pas pris la peine d'émuler quoi que ce soit. Se mettre dans une situation donnée et regarder le comportement sous debuggeur pour comprendre ce qui se passe est déjà en soi un grand pas en avant... Par contre pour LcdUi qui me permet de créer une interface utilisateur sur un écran Lcd, j'ai vraiment émulé cet écran avec une fenêtre windows (voir image plus haut) et j'en ai profité pour ajouter une console série qui réagit aux ordres de Serial.print !
Tout ça suppose que tu te trouve un environnement de travail comme un Gcc, un Eclipse ou Visual Studio Community gratuit sous Windows, et que tu te codes ce dont je viens de parler. Evidemment on est disposés à t'aider dans cette démarche...
Le but de ce type d'émulation est de parvenir à compiler le fichier .ino, en faisant en sorte que les entrées et sorties soient gérées par d'autres que par l'Arduino. Il y a plusieurs problématiques :
1 Arriver à compiler
Le source .ino suppose la présence de fichiers include comme Arduino.h, serial.h et d'autres qu'il faut reproduire localement. C'est par exemple mon bout de code comme tu dis. Ensuite, et comme tout ne sera pas parfaitement identique, il faut pouvoir délimiter les zones à compiler dans le cas "émulation", et celles à compiler dans le cas "production". C'est l'utilisation des defines du C VISUALSTUDIO pour moi ou PC pour Marc-Henri.
2 Emulation des boutons
Quoi de mieux que le clavier et la souris pour évoquer des boutons ou des potars. L'émulation passe par un retour d'événements selon la touche frappée... C'est plus simple dans mon cas puisque j'ai ajouté une classe ButtonCommanderKeyboard à ma librairie, qui n'existe que pendant la compilation VisualStudio !
3 Emulation des sorties
A vrai dire, ce n'est pas vraiment nécessaire. Du temps de la mise au point de UAD, je n'avais pas pris la peine d'émuler quoi que ce soit. Se mettre dans une situation donnée et regarder le comportement sous debuggeur pour comprendre ce qui se passe est déjà en soi un grand pas en avant... Par contre pour LcdUi qui me permet de créer une interface utilisateur sur un écran Lcd, j'ai vraiment émulé cet écran avec une fenêtre windows (voir image plus haut) et j'en ai profité pour ajouter une console série qui réagit aux ordres de Serial.print !
Tout ça suppose que tu te trouve un environnement de travail comme un Gcc, un Eclipse ou Visual Studio Community gratuit sous Windows, et que tu te codes ce dont je viens de parler. Evidemment on est disposés à t'aider dans cette démarche...