Conversion d'un double pour XBEE

Bonjour à tous !

J'essaie d'utiliser la librairie XBEE Arduino suivante : GitHub - andrewrapp/xbee-arduino: Arduino library for communicating with XBee radios in API mode

L'objectif de mon programme est dans un premier temps, d'envoyer une donnée de type "double" et de la lire correctement sur mon récepteur.

Je travaille avec une Arduino Uno, un shield Funduino et deux XBEE S1. Le premier est branché sur mon Arduino et l'autre sur mon PC. J'utilise XCTU pour vérifier que je reçois bien les données.

Le tableau "payload" est déclaré en "uint8_t" pour concorder avec la fonction Tx16Request de la librairie.

Voici le code que j'applique :

#include <XBee.h>
XBee xbee = XBee();
uint8_t payload[10]; //where i store my data

double data; //signed value between -140.00/140.00
char hex[10]="Data : ";

void setup() {
  Serial.begin(9600);
  xbee.setSerial(Serial);
}

void loop() {

  data = 14.56;
  hex[7]=char(data,HEX);
  for (int i; i<10;i++){
    payload[i]=hex[i]; }
  
  Tx16Request tx = Tx16Request(0x1234, payload, sizeof(payload));
  xbee.send(tx);

}

Et voici ce que je lis sur XCTU :

ASCII : Data :
HEX : 44 61 74 61 20 3A 20 10 00 00

Les données "Data : " sont bien reconnues et lues mais pas la partie avec mon double.
J'essaie de convertir ma donnée en char pour l'ajouter simplement au tableau hex :

char(data,HEX);

mais je n'obtiens pas de valeur lisible. En fait je voudrais retrouver mon "14.56" en code HEXA soit : 31 34 2e 35 36.

Dans un premier temps je pensais faire une conversion en String puis en HEX.

J'ai utilisé

String(data,HEX);

mais se pose le problème du stockage dans hex et payload ensuite ...

Avez-vous des pistes pour contourner ce problème ?

J'ai finalement trouvé mon bonheur avec la fonction toCharArray !