Toshihisa T / Mbed 2 deprecated ENVLogger

Dependencies:   ChaNFSSD mbed BMP085 SHT2x

Revision:
0:6089ae824f06
Child:
1:83960ee4d9a2
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/libT/mbed/libT_getAcc.c	Mon Dec 26 15:58:32 2011 +0000
@@ -0,0 +1,61 @@
+
+
+extern "C" {
+static int libT_getAccTOmV(unsigned long Val,long *mV);
+int libT_getAcc1dot5G(unsigned long ADval,long *g);
+int libT_getAcc6G(unsigned long ADval,long *g);
+}
+
+
+static int libT_getAccTOmV(unsigned long Val,long *mV)
+{
+    *mV = 0;
+
+    /* AnalogIn = 1mV = 19.85939393939394 */
+    if(Val >= 32767UL){
+        *mV = ((Val - 32767UL) * 100UL) / 1985UL;
+        *mV = 0 - *mV;
+    } else {
+        *mV = ((32767UL - Val) * 100UL) / 1985UL;
+    }
+    return 0;
+}
+
+int libT_getAcc1dot5G(unsigned long ADval,long *g)
+{
+    long mV = 0;
+    libT_getAccTOmV(ADval,&mV);    /* A/D value to mV */
+    *g = (long)(mV / 8);    /* 0.01g units */
+    return 0;
+}
+
+int libT_getAcc6G(unsigned long ADval,long *g)
+{
+    long mV = 0;
+    libT_getAccTOmV(ADval,&mV);    /* A/D value to mV */
+    *g = (long)(mV / 2);    /* 0.01g units */
+    return 0;
+}
+
+#if 0
+int main(void)
+{
+    long g;
+
+    libT_getAcc1dot5G(22767UL,&g);
+    if(g >= 0){
+        printf("1.5g g(DOWN)=%ld.%02ld\n",g/100,g%100);
+    } else {
+        g = g * -1;
+        printf("1.5g g(UP)=%ld.%02ld\n",g/100,g%100);
+    }
+    libT_getAcc6G(22767UL,&g);
+    if(g >= 0){
+        printf("6g g(DOWN)=%ld.%02ld\n",g/100,g%100);
+    } else {
+        g = g * -1;
+        printf("6g g(UP)=%ld.%02ld\n",g/100,g%100);
+    }
+    return 0;
+}
+#endif