Denwis La / Mbed OS mDot_Send_Data

Dependencies:   libmDot-dev-mbed5-deprecated ISL29011

Fork of mdot-examples by 3mdeb

Revision:
13:e336881e0a3e
Parent:
12:bdf16bf682ec
Child:
14:454090793a35
--- a/peer_to_peer_example.cpp	Sat Dec 09 02:56:19 2017 +0000
+++ b/peer_to_peer_example.cpp	Sat Dec 09 03:21:18 2017 +0000
@@ -85,7 +85,7 @@
 int DS7505sWrite(unsigned char registerAddress, unsigned char data);
 char * DS7505sRead(int hex);
 
-char * twosComplementConversion(char *value);
+char twosComplementConversion(char value);
 void flushSerialBuffer(void);
 //---------------------End of prototype functions-----------------------------//
 
@@ -336,7 +336,12 @@
                     XData = ((*(accelValues + 0) << 8) | *(accelValues + 1)) >> 4;  // Combine two bytes into short int(16 bits), remove last 4 flag bits
                     YData = ((*(accelValues + 2) << 8) | *(accelValues + 3)) >> 4;
                     ZData = ((*(accelValues + 4) << 8) | *(accelValues + 5)) >> 4;
-                    pc.printf("\n %d: X:: H: %x | L: %x | Y:: H: %x | L: %x | Z: H: %x | L: %x \n\r", i+1, *(accelValues + 0), *(accelValues + 1), *(accelValues + 2), *(accelValues + 3), *(accelValues + 4), *(accelValues + 5));
+                    pc.printf("\n %d: X:: H: %x | L: %x | Y:: H: %x | L: %x | Z: H: %x | L: %x \n\r", i+1, *(accelValues + 0), 
+                                                                                                           *(accelValues + 1), 
+                                                                                                           *(accelValues + 2),
+                                                                                                           *(accelValues + 3),
+                                                                                                           *(accelValues + 4),
+                                                                                                           *(accelValues + 5));
                     wait(0.2);
                 }
                 break;
@@ -345,7 +350,8 @@
                 for(int i = 0; i < 10; ++i){
                     regAddress = 0x00;
                     rawTempValues = ADT7410Read(regAddress);
-                    pc.printf("\n %d: Temperature is: HIGH BYTE: %x | LOW BYTE: %x \n\r", i+1, *(rawTempValues + 0), *(rawTempValues + 1));
+                    pc.printf("\n %d: Temperature is: HIGH BYTE: %x | LOW BYTE: %x \n\r", i+1, *(rawTempValues + 0), 
+                                                                                               *(rawTempValues + 1));
                 }
                 break;
             case 53:    // 5
@@ -431,11 +437,21 @@
                 break;
             case 101:   // e for two's complement of accel data
                 regAddress = 0x08;
+                char Xmsb;
+                char Xlsb;
+                char Ymsb;
+                char Ylsb;
+                char Zmsb;
+                char Zlsb;
                 
                 accelValues = accelerometerI2CRead(regAddress);
-                XData = ((*(accelValues + 0) << 8) | *(accelValues + 1)) >> 4;  // Combine two bytes into short int(16 bits), remove last 4 flag bits
-                YData = ((*(accelValues + 2) << 8) | *(accelValues + 3)) >> 4;
-                ZData = ((*(accelValues + 4) << 8) | *(accelValues + 5)) >> 4;
+                
+                Xmsb = *(accelValues + 0);
+                Xlsb = *(accelValues + 1);
+                Ymsb = *(accelValues + 2);
+                Ylsb = *(accelValues + 3);
+                Zmsb = *(accelValues + 4);
+                Zlsb = *(accelValues + 5);
                 pc.printf("\n X:: H: %x | L: %x | Y:: H: %x | L: %x | Z: H: %x | L: %x \n\r", *(accelValues + 0),
                                                                                               *(accelValues + 1),
                                                                                               *(accelValues + 2),
@@ -444,12 +460,12 @@
                                                                                               *(accelValues + 5));
                 pc.printf("Converted \n\r");
                 
-                pc.printf("\n X:: H: %x | L: %x | Y:: H: %x | L: %x | Z: H: %x | L: %x \n\r", twosComplementConversion(accelValues[0]),
-                                                                                              twosComplementConversion(accelValues[1]),
-                                                                                              twosComplementConversion(accelValues[2]),
-                                                                                              twosComplementConversion(accelValues[3]),
-                                                                                              twosComplementConversion(accelValues[4]),
-                                                                                              twosComplementConversion(accelValues[5]));
+                pc.printf("\n X:: H: %x | L: %x | Y:: H: %x | L: %x | Z: H: %x | L: %x \n\r", twosComplementConversion(Xmsb),
+                                                                                              twosComplementConversion(Xlsb),
+                                                                                              twosComplementConversion(Ymsb),
+                                                                                              twosComplementConversion(Ylsb),
+                                                                                              twosComplementConversion(Zmsb),
+                                                                                              twosComplementConversion(Zlsb));
                 wait(0.2);
                 
                 break;
@@ -557,9 +573,9 @@
 ////////////////////////////////////////////////////////////////////////////////
 void ADXL372Initialize(void){
     accelerometerI2CWrite(0x3F, 0x8F);  // Enable I2C highspeed,Low Pass, High pass and full bandwidth measurement mode
-    accelerometerI2CWrite(0x24, 0x01);  // X used for activity threshold
+/*     accelerometerI2CWrite(0x24, 0x01);  // X used for activity threshold
     accelerometerI2CWrite(0x26, 0x01);  // Y used for activity threshold
-    accelerometerI2CWrite(0x28, 0x01);  // Z used for activity threshold 
+    accelerometerI2CWrite(0x28, 0x01);  // Z used for activity threshold  */
 }
 ////////////////////////////////////////////////////////////////////////////////