Michael Limbird / Mbed 2 deprecated VideoOutput

Dependencies:   mbed

Revision:
16:1121b66ef27b
Parent:
14:762baad15486
Child:
18:7066655957b3
--- a/main.cpp	Sun Jan 11 04:34:14 2015 +0000
+++ b/main.cpp	Sun Jan 11 06:15:22 2015 +0000
@@ -8,7 +8,8 @@
 #define ADXL_PWRCTL_MEASURE (0x01 << 3)
 
 //Gyroscope
-#define ITG3200_ADDRESS (0xD0 >> 1)
+#define ITG3200_ADDRESS_W (0xD0)
+#define ITG3200_ADDRESS_R (0xD1)
 #define ITG3200_REGISTER_XMSB (0x1D)
 #define ITG3200_REGISTER_DLPF_FS (0x16)
 #define ITG3200_FULLSCALE (0x03 << 3)
@@ -24,13 +25,14 @@
 
 void init_adxl345();
 void read_adxl345();
-//void init_itg3200();
+void init_itg3200();
+void read_itg3200();
 //void init_hmc5843();
 
 Serial pc(USBTX, USBRX); //tx, rx
 
 int accelerometer_data[3];
-//int gyro_data[3];
+int gyro_data[3];
 //int magnetometer_data[3];
 
 PwmOut led(LED1);
@@ -41,7 +43,7 @@
 
 	init_adxl345();
 	//init_hmc5843();
-	//init_itg3200();
+	init_itg3200();
     
     //pc.printf("Press 'u' to turn LED1 brightness up, 'd' to turn it down.\n");
     
@@ -57,7 +59,8 @@
         	led = brightness;
         }
         */
-        read_adxl345();
+        //read_adxl345();
+        read_itg3200();
         
     }
 }
@@ -91,27 +94,34 @@
  	pc.printf("ACCEL: %i\t%i\t%i", accelerometer_data[0], accelerometer_data[1], accelerometer_data[2]);
 }
 
-/*
+
 void init_itg3200() {
-	byte data = 0;
+	char data[2];
+	data[0] = ITG3200_REGISTER_DLPF_FS;
+	data[1] = ITG3200_FULLSCALE | ITG3200_42HZ;
 
-	i2c_write(ITG3200_ADDRESS, ITG3200_REGISTER_DLPF_FS, ITG3200_FULLSCALE | ITG3200_42HZ);
+	i2c.write(ITG3200_ADDRESS_W, data,2);
 
-	i2c_read(ITG3200_ADDRESS, ITG3200_REGISTER_DLPF_FS, 1, &data);
+	i2c.read(ITG3200_ADDRESS_R, data, 1);
 
-	Serial.println((unsigned int)data);
+	pc.printf("%i\n",(unsigned int)data);
 }
 
 void read_itg3200() {
-	bytes bytes[6];
+	char bytes[6];
 	memset(bytes,0,6);
+	bytes[0] = ITG3200_REGISTER_XMSB;
 
-	i2c_read(ITG3200_ADDRESS, ITG3200_REGISTER_XMSB, 6, bytes);
+	i2c.write(ITG3200_ADDRESS_W, bytes, 1);
+	i2c.read(ITG3200_ADDRESS_R, bytes, 6);
+	
 	for (int i=0;i<3;++i) {
 		gyro_data[i] = (int)bytes[2*i + 1] + (((int)bytes[2*i]) << 8);
 	}
+	
+	pc.printf("GYRO: %i\t%i\t%i", gyro_data[0], gyro_data[1], gyro_data[2]);
 }
-
+/*
 void init_hmc5843() {
 	bytes data = 0;