paparazzi-commits
[Top][All Lists]
Advanced

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

[paparazzi-commits] [4767] fix handling of doubles


From: Pascal Brisset
Subject: [paparazzi-commits] [4767] fix handling of doubles
Date: Tue, 30 Mar 2010 10:01:43 +0000

Revision: 4767
          http://svn.sv.gnu.org/viewvc/?view=rev&root=paparazzi&revision=4767
Author:   hecto
Date:     2010-03-30 10:01:43 +0000 (Tue, 30 Mar 2010)
Log Message:
-----------
 fix handling of doubles

Modified Paths:
--------------
    paparazzi3/trunk/sw/airborne/xbee.h

Modified: paparazzi3/trunk/sw/airborne/xbee.h
===================================================================
--- paparazzi3/trunk/sw/airborne/xbee.h 2010-03-30 10:00:29 UTC (rev 4766)
+++ paparazzi3/trunk/sw/airborne/xbee.h 2010-03-30 10:01:43 UTC (rev 4767)
@@ -98,10 +98,17 @@
     XBeeTransportPut2ByteByAddr((const uint8_t*)_byte+2); \
   }
 
-#define XBeeTransportPut8ByteByAddr(_byte) { \
-    XBeeTransportPut4ByteByAddr(_byte);        \
-    XBeeTransportPut4ByteByAddr((const uint8_t*)_byte+4); \
+#ifdef __IEEE_BIG_ENDIAN /* From machine/ieeefp.h */
+#define XBeeTransportPutDoubleByAddr(_byte) { \
+    XBeeTransportPut4ByteByAddr((const uint8_t*)_byte+4);      \
+    XBeeTransportPut4ByteByAddr((const uint8_t*)_byte);        \
   }
+#else
+#define XBeeTransportPutDoubleByAddr(_byte) { \
+    XBeeTransportPut4ByteByAddr((const uint8_t*)_byte);        \
+    XBeeTransportPut4ByteByAddr((const uint8_t*)_byte+4);      \
+  }
+#endif
 
   
 #define XBeeTransportPutInt8ByAddr(_x) XBeeTransportPut1ByteByAddr(_x)
@@ -111,7 +118,6 @@
 #define XBeeTransportPutInt32ByAddr(_x) XBeeTransportPut4ByteByAddr((const 
uint8_t*)_x)
 #define XBeeTransportPutUint32ByAddr(_x) XBeeTransportPut4ByteByAddr((const 
uint8_t*)_x)
 #define XBeeTransportPutFloatByAddr(_x) XBeeTransportPut4ByteByAddr((const 
uint8_t*)_x)
-#define XBeeTransportPutDoubleByAddr(_x) XBeeTransportPut8ByteByAddr((const 
uint8_t*)_x)
 #define XBeeTransportPutNamedUint8(_name, _byte) XBeeTransportPutUint8(_byte)
 
 #define XBeeTransportPutArray(_put, _n, _x) { \
@@ -126,6 +132,8 @@
 
 #define XBeeTransportPutUint16Array(_n, _x) 
XBeeTransportPutArray(XBeeTransportPutUint16ByAddr, _n, _x)
 #define XBeeTransportPutUint8Array(_n, _x) 
XBeeTransportPutArray(XBeeTransportPutUint8ByAddr, _n, _x)
+#define XBeeTransportPutFloatArray(_n, _x) 
XBeeTransportPutArray(XBeeTransportPutFloatByAddr, _n, _x)
+#define XBeeTransportPutDoubleArray(_n, _x) 
XBeeTransportPutArray(XBeeTransportPutDoubleByAddr, _n, _x)
 
 
 





reply via email to

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