[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Tsp-devel] PB Tsp_async_sample_read avec Rtems
From: |
Eric Noulard |
Subject: |
Re: [Tsp-devel] PB Tsp_async_sample_read avec Rtems |
Date: |
Tue, 29 Apr 2008 08:45:34 +0200 |
Le 28/04/08, Arquer Stephane<address@hidden> a écrit :
> Bonjour,
>
> Je suis toujours embourbé avec mes soucis de portage sur Rtems, je tente
> désespérement de faire fonctionner les requetes async_sample read et write.
> Mon souci est le suivant, lors d'une requete async_sample_read avec le
> client request_generic la valeur retournée est toujours 0.000000, pourtant la
> valeur est corretement récupérée la fonction tsp_rpc_svc.c :
> _tsp_request_async_sample_read_1.
> Mon problème semble venir de la conversion de cette valeur en caractère dans
> le fonction tsp_rpc_1.
Le cast en char* dans tsp_rpc_svc.c est du code genere par rpcgen
(? éventuellement touillé à la main pour RTEMS ?) mais je doute
que le problème soit là, car sauf erreur de ma part ce cast ne doit pas
changer le contenu.
> Je n'arrive pas à visualier la variable "local" qui récupère le retour de
> _tsp_request_async_sample_read_1.
La variable 'local' est un _POINTEUR DE FONCTION_
tsp_rpc_svc.c.rtems:120
char *(*local)(char *, struct svc_req *);
qui est positionné suivant la le type de requête:
tsp_rpc_svc.c.rtems:187--191
case TSP_REQUEST_ASYNC_SAMPLE_READ:
_xdr_argument = (xdrproc_t) xdr_TSP_async_sample_t;
_xdr_result = (xdrproc_t) xdr_TSP_async_sample_t;
local = (char *(*)(char *, struct svc_req *))
_tsp_request_async_sample_read_1;
ensuite on appelle cette fonction:
tsp_rpc_svc.c.rtems:214
result = (*local)((char *)&argument, rqstp);
>
> Quelqu'un aurait-il une piste ?
>
Est-ce que tu as pû tracer l'appel à
BB_GLU_async_sample_read(GLU_handle_t* glu,
int provider_global_index, void* value_ptr, uint32_t*
value_size)
qui est la fonction du GLU du BB provider qui est appelée lors d'un async_read?
tu dois pouvoir activer les traces de DEBUG/INFO qui suivantes:
STRACE_DEBUG("BB_PROVIDER want to AsyncRead : pgi <%d> (value_size
allowed=%d)",provider_global_index,*value_size);
STRACE_INFO("About to read from symbol <%s> value...",n);
[...]
STRACE_DEBUG("BB_PROVIDER After AsyncRead : value %f return
:%d",*((double*)value_ptr), retcode);
Ces traces nous permettront de savoir si l'appel async_read fonctionne
_JUSTE AVANT_ de retourner vers tsp_rpc_svc...
Quoiqu'il en soit notre async_read doit souffrir d'un pb d'indien car il est
"non typé" en gros le consumer et le provider doivent convenir de
l'encodage des "valeur".
Envoies les traces (DEBUG et INFO) coté BB_Provvider ainsi que les mêmes
côté generic request, ensuite on verra mieux ce qui se passe.
--
Erk
- [Tsp-devel] PB Tsp_async_sample_read avec Rtems, Arquer Stephane, 2008/04/28
- Re: [Tsp-devel] PB Tsp_async_sample_read avec Rtems,
Eric Noulard <=
- RE : [Tsp-devel] PB Tsp_async_sample_read avec Rtems, Arquer Stephane, 2008/04/29
- Re: RE : [Tsp-devel] PB Tsp_async_sample_read avec Rtems, Eric Noulard, 2008/04/29
- RE : RE : [Tsp-devel] PB Tsp_async_sample_read avec Rtems, Arquer Stephane, 2008/04/29
- Re: RE : RE : [Tsp-devel] PB Tsp_async_sample_read avec Rtems, Eric Noulard, 2008/04/29
- RE : [Tsp-devel] PB Tsp_async_sample_read avec Rtems, Arquer Stephane, 2008/04/29
- Re: RE : [Tsp-devel] PB Tsp_async_sample_read avec Rtems, Eric Noulard, 2008/04/29
- Re: RE : [Tsp-devel] PB Tsp_async_sample_read avec Rtems, Yves DUF, 2008/04/29