tsp-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Tsp-devel] RE : tsp_provider


From: Arquer Stephane
Subject: [Tsp-devel] RE : tsp_provider
Date: Thu, 25 Sep 2008 09:07:32 +0200

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 <address@hidden> 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?







reply via email to

[Prev in Thread] Current Thread [Next in Thread]