tsp-devel
[Top][All Lists]
Advanced

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

Re: [Tsp-devel] Questions sur TSP_consumer


From: dufy
Subject: Re: [Tsp-devel] Questions sur TSP_consumer
Date: Mon, 27 Nov 2006 11:28:45 +0100

Salut Virginie.


Le 27/11/06, ALAUX, Virginie <address@hidden> a écrit :

Bonjour,


Bienvenue dans le monde merveilleux de TSP. Et félicitations, tu es notre première develloppeuse ! 

Devant effectuer une étude pour réaliser un consumer performant à base de TSP. J'ai 2 questions:

Pour répondre à tes questions, qui sont récurrentes dans les nouveaux développeurs, le bon point d'entrée pour un TSP consumer est le fichier tsp_consumer.h (voir fichier joint)
Sinon on peut aussi trouver la doc en ligne ici : www.ts2p.org/tsp/API_doc/html/index.html
Et encore plus fort, un exemple de consumer en moins de 100 lignes de code, il n'y a plus qu'à copier coller :=) (fichier client_stdout.c)

Dans le fichier tsp_consumer.h v 1.34, pour le type TSP_sample_t : il n'y a pas le type "string". Est-ce une vieille version du fichier?

Non effectivement il n'y a pas de type string. Pour des raisons de perfs, il faut avoir une taille max de chaque symbole prédéfinie. Tu peux faire des tableau de charactères, mais ce n'est pas très souple.
Eric m'a donné une autre idée, c'est d'utiliser les extended_information :Pour un symbole calibré du genre O="ON", 1="OFF", tu récupères ces calibrations par les extended information au début de l'échange; puis en TSP tu échanges la valeur (0 ou 1), et avec ton consumer tu ré-appliques la calibration.

La requête lisant les samples : TSP_consumer_read_sample ne retourne qu'un sample à la fois?
Si c'est la cas, comment va t-on faire pour avoir tous les samples d'une fréquence donnée ( question du sleep à faire après chaque read ). Est-ce performant pour des hauts débits d'acquisition (500 valeurs à 32 Hz) ?

C'est vrai que l'API est un peu simpliste. Mais on a vu des consumers avec plus de 1000 symboles à 100Hz (donc du 100000 symboles/seconde) qui tenait très facilement les perfos avec cette API. Donc je ne pense pas que cela soit trop pénalisant.

De plus, le provider nous fournit une variable "time" pour dater les valeurs reçues. Si on ne reçoit qu'un sample à la fois, comment va t-on gérer cette variable?

En fait tu as dans chaque symbole reçus un "time-stamp" TSP, qui te groupe les symboles par blocs.
En gros ta boucle de réception c'est "Tant que c'est le même time-stamp", c'est des symboles d'un même groupe, et donc le symbole "time" est valable pour tout ce groupe.
Des que te time-stamp change, c'est que tu passes à un nouveau groupe, et que tu peux envoyer tout le bloc précédemment reçus qui sont cohérents temporellement.
 

Merci

Merci aussi pour tes questions.
Yves

Attachment: tsp_consumer.h
Description: Binary data

Attachment: client_stdout.c
Description: Binary data


reply via email to

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