]> oss.titaniummirror.com Git - tinyos-2.x.git/commitdiff
nx_float support
authoridgay <idgay>
Fri, 19 Sep 2008 23:59:00 +0000 (23:59 +0000)
committeridgay <idgay>
Fri, 19 Sep 2008 23:59:00 +0000 (23:59 +0000)
tos/chips/atm128/atm128hardware.h
tos/chips/msp430/msp430hardware.h
tos/platforms/null/hardware.h

index 89f312f8481559f06dafa048651b068c57a8c259..32c1c8e310a0fa24063ffc5c68a72f15d3546de8 100644 (file)
@@ -135,6 +135,18 @@ mcu_power_t mcombine(mcu_power_t m1, mcu_power_t m2) @safe() {
   return (m1 < m2)? m1: m2;
 }
 
-#endif //_H_atmega128hardware_H
+/* Floating-point network-type support */
+typedef float nx_float __attribute__((nx_base_be(afloat)));
 
+inline float __nesc_ntoh_afloat(const void *COUNT(sizeof(float)) source) @safe() {
+  float f;
+  memcpy(&f, source, sizeof(float));
+  return f;
+}
 
+inline float __nesc_hton_afloat(void *COUNT(sizeof(float)) target, float value) @safe() {
+  memcpy(target, &value, sizeof(float));
+  return value;
+}
+
+#endif //_H_atmega128hardware_H
index e0d9cbac33096f04a3e01bf87254d6791db5e223..829f2bd8cc8ff2d332f5930266427b702c7d8dea 100644 (file)
@@ -239,5 +239,19 @@ void __nesc_atomic_end(__nesc_atomic_t reenable_interrupts) @spontaneous() @safe
 }
 #endif
 
+/* Floating-point network-type support */
+typedef float nx_float __attribute__((nx_base_be(afloat)));
+
+inline float __nesc_ntoh_afloat(const void *COUNT(sizeof(float)) source) @safe() {
+  float f;
+  memcpy(&f, source, sizeof(float));
+  return f;
+}
+
+inline float __nesc_hton_afloat(void *COUNT(sizeof(float)) target, float value) @safe() {
+  memcpy(target, &value, sizeof(float));
+  return value;
+}
+
 #endif//_H_msp430hardware_h
 
index 4e2f7984303223d4f508b52cc39d20d1388f9063..2321cb159a52422f842d951c849de064b496db9b 100644 (file)
@@ -14,4 +14,18 @@ inline __nesc_atomic_t __nesc_atomic_start(void) @spontaneous() {
 inline void __nesc_atomic_end(__nesc_atomic_t x) @spontaneous() { }
 inline void __nesc_atomic_sleep() { }
 
+/* Floating-point network-type support */
+typedef float nx_float __attribute__((nx_base_be(afloat)));
+
+inline float __nesc_ntoh_afloat(const void *COUNT(sizeof(float)) source) @safe() {
+  float f;
+  memcpy(&f, source, sizeof(float));
+  return f;
+}
+
+inline float __nesc_hton_afloat(void *COUNT(sizeof(float)) target, float value) @safe() {
+  memcpy(target, &value, sizeof(float));
+  return value;
+}
+
 #endif