Hello,
Je tombe sur un problème bizarre, cela paraît cul-cul la praline, mais bon,
marche pas :-(
j'ai codé deux petits bouts de soft, un côté en caml, l'autre en C.
la partie caml encode un flottant 64 bits selon ieee 754, l'envoie en mode big
endian par udp.
sur le fil avec wireshark j'ai un champ à :
0xC0 44 00 00 00 00 00 00, ce pour la valeur -40.0 encodée. d'après
binaryconvert.com, c'est juste.
en C je fais:
case volume:
dprintf("a volume message: %f; mute: %d\n",
be64toh(msgp->payload.vol.volume),
be32toh(msgp->payload.vol.mute));
break;
j'ai pas l'air d'avoir de décalage dans mes bytes, et pourtant s'affiche:
parsing msg, mtype=30, a volume message: 1330613449.029229; mute: 0
-40.0 s'est muté en 1330613449.029229.
nucht gut...
si qqun est déjà passé par là, ça m'intéresse.
--
Philippe Strauss
http://www.strauss-acoustics.ch/
_______________________________________________
gull mailing list
[email protected]
http://forum.linux-gull.ch/mailman/listinfo/gull