RF module

Buongiorno,
Vorrei chiedere gentilmente un piccolo aiuto a risolvere un problema con la RF module. Io dovrei inviare dei numeri con anche 4 cifre decimali. Purtroppo però ne ricevo solo una.
esempio:

vorrei inviare
outArray[0] = 2.3335;
outArray[1] = 567.236;
outArray[2] = 58.36587;

ma ricevo solo

Incoming Data:2.300000, 567.200012, 58.299999, 0.000000,
Bytes Used:8

Per chiarezza allego i codici.

TRASMITTER:

#include <VirtualWire.h>
#include <DataCoder.h>


int transmit_pin = 12;
int baudRate = 1000;

void setup()
{
  Serial.begin(9600);
  SetupRFDataTxnLink(transmit_pin, baudRate);
}

void loop()
{ 
      float outArray[RF_DATA_ARRAY_SIZE];
      outArray[0] = 2.3335; 
      outArray[1] = 567.236;
      outArray[2] = 58.36587;


      Serial.println( outArray[0], 6 );
      Serial.println( outArray[1], 6 );
      Serial.println( outArray[2], 6 );

      union RFData outDataSeq; 
      EncodeRFData(outArray, outDataSeq);  
      TransmitRFData(outDataSeq);  
}

RECEIVER

#include <DataCoder.h>
#include <VirtualWire.h>

const int rx_pin = 11;
const int led_pin = 13;
const int baudRate = 1000;

void setup()
{
  delay(1000);
  Serial.begin(9600);
  pinMode(led_pin,OUTPUT);
  digitalWrite(led_pin,LOW);
  SetupRFDataRxnLink(rx_pin, baudRate);

}

void loop()
{
	
  uint8_t buf[VW_MAX_MESSAGE_LEN];
  uint8_t buflen = VW_MAX_MESSAGE_LEN;
  
  union RFData inDataSeq;//To store incoming data
  
  float inArray[RF_DATA_ARRAY_SIZE];//To store decoded information
  //RF_DATA_ARRAY_SIZE can be changed if need be inside DataCoder.h
  
  
  if(RFLinkDataAvailable(buf, &buflen))
  {
        digitalWrite(led_pin, HIGH);
    
        for(int i =0; i< buflen; i++)
        {
          inDataSeq.s[i] = buf[i];
        }
        
        Serial.println();
        
        digitalWrite(led_pin, LOW);
      
        DecodeRFData(inArray, inDataSeq);
        
        //Do something with the information that have been received
       
        Serial.print("Incoming Data:");

        for (int i=0; i < RF_DATA_ARRAY_SIZE; i++)
          {
            Serial.print(inArray[i], 6 );
            Serial.print(", ");
          }
          Serial.println();
          Serial.print("Bytes Used:");
          Serial.println(RF_DATA_ARRAY_SIZE * 2);
  }
  
}

Qualcuno saprebbe dirmi dove sbaglio?

grazie anticipatamente
Cordiali saluti
Denis

DataCoder.zip (6.42 KB)