test program for using sensor R1307

Dependents:   r1370_test

Files at this revision

API Documentation at this revision

Comitter:
WAT34
Date:
Fri Dec 01 18:18:17 2017 +0900
Parent:
1:59efa65938c7
Child:
4:b6583f28f7b7
Commit message:
checksum added

Changed in this revision

r1307.cpp Show annotated file Show diff for this revision Revisions of this file
--- a/r1307.cpp	Sat Sep 02 19:30:23 2017 +0900
+++ b/r1307.cpp	Fri Dec 01 18:18:17 2017 +0900
@@ -3,7 +3,7 @@
 
 R1307::R1307(PinName tx_,PinName rx_): serial(tx_,rx_)
 {
-  ticker.attach(this,&R1307::update,0.01);
+  //ticker.attach(this,&R1307::update,0.01);
   serial.baud(115200);
 }
 
@@ -16,7 +16,7 @@
   int16_t x_acc;
   int16_t y_acc;
   int16_t z_acc;
-  uint8_t check_sum;
+  uint8_t check_sum,recievedData[13];
   //Verify packet heading information
   while(serial.getc() != 0xAA){
     if(!serial.readable())
@@ -25,13 +25,22 @@
   if(serial.getc() != 0x00)
     return;
    //Assemble data
+  for(int i = 0;i < 13;i++)
+  {
+    recievedData[i] = serial.getc();
+  }
+  for(int i = 0;i < 12;i++)
+  {
+    check_sum += recievedData[i];
+  }
+  if (recievedData[12] != check_sum) return;
 
-  index = serial.getc();
-  rate = (serial.getc() & 0xFF) | ((serial.getc() << 8) & 0xFF00);
-  angle = (serial.getc() & 0xFF) | ((serial.getc()<< 8) & 0XFF00);
-  x_acc = (serial.getc() & 0xFF) | ((serial.getc()<< 8) & 0xFF00);
-  y_acc = (serial.getc() & 0xFF) | ((serial.getc() << 8) & 0XFF00);
-  z_acc = (serial.getc() & 0xFF) | ((serial.getc() << 8) & 0xFF00);
+  index = recievedData[0];
+  rate = (recievedData[1] & 0xFF) | ((recievedData[2] << 8) & 0xFF00);
+  angle = (recievedData[3] & 0xFF) | ((recievedData[4]<< 8) & 0XFF00);
+  x_acc = (recievedData[5] & 0xFF) | ((recievedData[6]<< 8) & 0xFF00);
+  y_acc = (recievedData[7] & 0xFF) | ((recievedData[8] << 8) & 0XFF00);
+  z_acc = (recievedData[9]& 0xFF) | ((recievedData[10] << 8) & 0xFF00);
   //Scale and store data
   gRate = rate / 100.0;
   gAngle = angle / 100.0;