操舵ソースコードの第一稿です。 右翼端です。

Dependencies:   ADXL345_I2C INA226 mbed

Files at this revision

API Documentation at this revision

Comitter:
YusukeWakuta
Date:
Wed Jan 20 13:42:58 2016 +0000
Parent:
0:c7d5470d50e9
Commit message:
1?20?????

Changed in this revision

main.cpp Show annotated file Show diff for this revision Revisions of this file
diff -r c7d5470d50e9 -r ec22c326aa88 main.cpp
--- a/main.cpp	Fri Jan 15 15:30:00 2016 +0000
+++ b/main.cpp	Wed Jan 20 13:42:58 2016 +0000
@@ -1,7 +1,7 @@
 #include "mbed.h"
 #include "ADXL345_I2C.h"
 #include "INA226.hpp"
-    
+
 #define BUFFER 30
 
 Serial rs485(p13,p14);
@@ -11,48 +11,46 @@
 PwmOut servo2(p22);
 I2C i2c_Ina(p28,p27);
 INA226 Ina226(i2c_Ina);
- 
+
 //ADXL345 accelerometer(p5, p6, p7, p8);
-ADXL345_I2C accelerometer(p9, p10);
 Serial pc(USBTX, USBRX);
- 
+
 void ADXL345(int *x)
 {
-    x[3] = {0, 0, 0};
-     
-   // pc.printf("Starting ADXL345 test...\n");
+    // pc.printf("Starting ADXL345 test...\n");
     //pc.printf("Device ID is: 0x%02x\n", accelerometer.getDevId());
- 
+
     //Go into standby mode to configure the device.
     accelerometer.setPowerControl(0x00);
- 
+
     //Full resolution, +/-16g, 4mg/LSB.
     accelerometer.setDataFormatControl(0x0B);
-     
+
     //3.2kHz data rate.
     accelerometer.setDataRate(ADXL345_3200HZ);
- 
+
     //Measurement mode.
     accelerometer.setPowerControl(0x08);
 
-        accelerometer.getOutput(x);
-         
-        //13-bit, sign extended values.
-        //pc.printf("%6i, %6i, %6i\n\r", (int16_t)readings[0], (int16_t)readings[1], (int16_t)readings[2]);
-     
+    accelerometer.getOutput(x);
+
+    //13-bit, sign extended values.
+    //pc.printf("%6i, %6i, %6i\n\r", (int16_t)readings[0], (int16_t)readings[1], (int16_t)readings[2]);
+
 }
 
-int INA226(double *Voltage,double *Current){
-    while(1){
-      if(Ina226.isExist() == 0){
-        Ina226.getVoltage(Voltage);
-        Ina226.getCurrent(Current);
+int INA226_check(double *Voltage,double *Current)
+{
+    while(1) {
+        if(Ina226.isExist() == 0) {
+            Ina226.getVoltage(Voltage);
+            Ina226.getCurrent(Current);
         }
-    //pc.printf("V : %lf, C : %lf \n\r",Voltage,Current);
-    
+        //pc.printf("V : %lf, C : %lf \n\r",Voltage,Current);
+
     }
     return 0;
-    }
+}
 
 
 
@@ -65,40 +63,27 @@
 void rs485_rx()
 {
     int acc[3];
+    double *Voltage = 0;
+    double *Current = 0;
     signed char rec_data = rs485.getc();
     switch(rec_data) {
         case 'A':
             servo_deg1 = rs485.getc();
-           // pc.printf("counter1:%d\n\r",servo_deg1);
             break;
         case 'B':
             servo_deg2 = rs485.getc();
-            //pc.printf("counter2:%d\n\r",servo_deg2);
             break;
         case 'P':
-        INA226_check(Voltage,Current);
-        ADXL345(acc);
-    //counter++;
-   // if(counter > 1000){
-   // counter = 0;
-   // }
+            INA226_check(Voltage,Current);
+            ADXL345(acc);
             Receiver = 1;
             wait_ms(3);
-           // if(counter % 2 == 0){
-           rs485.putc('X');
-          // pc.printf("X");
+            rs485.putc('X');
             rs485.putc((signed char)acc[0]);
-        //pc.printf("%5d",(signed char)acc[0]);
             rs485.putc('Y');
-            //pc.printf("Y");
             rs485.putc((signed char)acc[1]);
-           // pc.printf("%5d",(signed char)acc[1]);
             rs485.putc('Z');
-            //pc.printf("Z");
             rs485.putc((signed char)acc[2]);
-            //}
-           // else{
-           // pc.printf("%5d",(signed char)acc[2]);
             rs485.putc('V');
             pc.printf("V");
             rs485.putc((signed char)Voltage);
@@ -107,16 +92,12 @@
             pc.printf("C");
             rs485.putc((signed char)Current);
             pc.printf("%5d\n\r",(signed char)Current);
-            //}
-            //pc.printf("\n\r");
-//            rs485.printf("X%iY%iZ%i\n\r",(short)acc[0],(short)acc[1],(short)acc[2]);
             wait_ms(15);
             Receiver = 0;
             //pc.printf("x:%d,y:%d,z:%d\n\r",(signed char)acc[0],(signed char)acc[1],(signed char)acc[2]);
             break;
         default:
             wait_us(5);
-          //  pc.printf("%d\n\r",rec_data);
     }
 }