Salut Eric, Je me suis permis de t'écrire directement car j'avais posté un message sur TSP_devel mais j'ai l'impression qu'il n'est pas passé.
Je travaille effectivement avec la doc TSP programming Tutorial et surtout avec l'exemple Stub_Server qui est une très bonne illustration. Merci pour test conseils. Salutations. sa > > Arquer Stephane <[EMAIL PROTECTED]> a écrit : > > > Bonjour , > > > > Je suis en train de créer un provider TSP personnalisé afin > d'éviter > > des problèmes de publication de doubles dans le BlackBoard > TSP qui > > provoquent des accès mémoire sur des adresses non alignées. Pour > > cela je m'inspire de l'exemple Stub Server. > > Tu pourrais aussi patcher le bb provider pour qu'il ne publie > aucun double/float ? Ou encore plus radicalement interdire la > publication de ces types au sein de tes BB embarqué. > > > La récupération des valeurs est donc faite par la fonction > > STUB_GLU_thread qui recopie toutes les valeurs à la > fréquence désirée. > > OK. > > > Le fait de recopier toutes les variables systématiquement ne peut-il > > pas poser de problème dans le cas d'un grand nombre de variable ? > > Si bien sûr :=) > Néanmoins dans un prog temps réel (i.e. le provider) > il est parfois utile de faire _toujours_ la même chose > à chaque cycle. > De cette façon si ça passe une fois ça passera toujours. > > > Existe-t-il un mécanisme pour copier uniquement les variables qui > > ont changé ? > > Le provider décide strictement tout seul de la manière > dont il mets à jour le datapool. Via les fonctions > > TSP_datapool_push_next_item > http://www.ts2p.org/tsp/API_doc/html/group__TSP__DatapoolLib.html#ga3 > et > TSP_datapool_push_commit > http://www.ts2p.org/tsp/API_doc/html/group__TSP__DatapoolLib.html#ga4 > > Pour chaque item tu renseignes: > http://www.ts2p.org/tsp/API_doc/html/structglu__item__t.html > int32_t provider_global_index The PGI of the concerned sample. > void * raw_value Pointer to the raw sample value. > uint32_t size The size of the pointer to be copied. > time_stamp_t time The GLU timestamp. > > Donc tu peux si tu le souhaites ne mettre à jour dans le > datapool que ce TU SAIS qui a changé (il n'y que celui qui > écrit le provider qui sais ça TSP n'en sait rien, et en fait > il s'en fout :=) > > En revanche TSP t'offre un autre moyen d'optimiser un peu > plus les copies c'est le fait que TSP peut te donner la liste > des symboles _EFFECTIVEMENT_ consommés, c'est-à-dire qu'au > moins 1 consumer a demandé. > > C'est la fonction > TSP_datapool_get_reverse_list > http://www.ts2p.org/tsp/API_doc/html/group__TSP__DatapoolLib.html#ga2 > > tu peux donc ne mettre à jour en datapool que les variables > demandées car les autres ne servent à rien, puisque aucun > consumer ne les demande :=) > > As-tu jeté un oeil à ce doc: > http://download.savannah.gnu.org/releases/tsp/documentations/t sp_programming_tutorial-1.0.pdf Si tu le trouves incomplet (ce qui est sûrement le cas) ça vaudrait le coup d'essayer de le mettre à jour le patch de doc est aussi accepté :-) Sinon tu devrais poser ces questions sur tsp-devel afin que tout le monde en profite? _______________________________________________ Tsp-devel mailing list Tsp-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/tsp-devel