Michael Limbird / Mbed 2 deprecated VideoOutput

Dependencies:   mbed

Revision:
22:dbd5c4af83d6
Parent:
20:03a3357de805
Child:
23:0baaa24e04d8
--- a/main.cpp	Sun Jan 11 13:10:03 2015 -0500
+++ b/main.cpp	Sun Jan 11 14:04:58 2015 -0500
@@ -1,37 +1,8 @@
 #include "mbed.h"
-
-//Accelerometer addresses
-#define ADXL345_ADDRESS_W (0xA6)
-#define ADXL345_ADDRESS_R (0xA7)
-#define ADXL345_REGISTER_XLSB (0x32)
-#define ADXL_REGISTER_PWRCTL (0x2D)
-#define ADXL_PWRCTL_MEASURE (0x01 << 3)
-
-//Gyroscope addresses
-#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)
-#define ITG3200_42HZ (0x03)
-
-//3-Axis Digital Compass IC addresses
-#define HMC5883_ADDRESS_W (0x3C)
-#define HMC5883_ADDRESS_R (0x3D)
-#define HMC5883_REGISTER_XMSB (0x03)
-#define HMC5883_REGISTER_MEASMODE (0x02)
-#define HMC5883_MEASMODE_CONT (0x00)
+#include "9DOF.h"
 
 //establish I2C connections
-I2C	i2c( p9, p10 );	// sda, scl
-
-//Declare functions
-void init_adxl345();
-void read_adxl345();
-void init_itg3200();
-void read_itg3200();
-void init_hmc5883();
-void read_hmc5883();
+I2C i2c( p9, p10 );
 
 //establish serial communications with computer via usb
 Serial pc(USBTX, USBRX); //tx, rx
@@ -44,101 +15,17 @@
 int main() {
 
 	//initialize each IC
-	//init_adxl345();
-	init_itg3200();
-	//init_hmc5883();
+	//init_adxl345(i2c);
+	init_itg3200(i2c);
+	//init_hmc5883(i2c);
     
     while(1) {        
         //read from each IC
-        //read_adxl345();
-        read_itg3200();
-        //read_hmc5883();
+        //read_adxl345(i2c, accelerometer_data);
+        //pc.printf("ACCEL: %i\t%i\t%i", accelerometer_data[0], accelerometer_data[1], accelerometer_data[2]);
+        read_itg3200(i2c, gyro_data);
+        pc.printf("GYRO: %i\t%i\t%i", gyro_data[0], gyro_data[1], gyro_data[2]);
+        //read_hmc5883(i2c, magnetometer_data);
+        //pc.printf("Magnet: %i\t%i\t%i", magnetometer_data[0], magnetometer_data[1], magnetometer_data[2]);
     }
-}
-
-//This function initializes the Digital Accelerometer ADXL345
-void init_adxl345() {
-	char data[2];
-	data[0] = ADXL_REGISTER_PWRCTL;
-	data[1] = ADXL_PWRCTL_MEASURE;
-
-	i2c.write(ADXL345_ADDRESS_W, data, 2); // first part of data is the register
-
-	i2c.write(ADXL345_ADDRESS_W, data, 1);
-	i2c.read(ADXL345_ADDRESS_R, data, 2);
-	
-	pc.printf("%i\n",(unsigned int)data);
-}
-
-void read_adxl345() {
-	char bytes[6];
-	memset(bytes,0,6);
-	bytes[0] = ADXL345_REGISTER_XLSB;
-	
-	i2c.write(ADXL345_ADDRESS_W, bytes, 1);
-	i2c.read(ADXL345_ADDRESS_R, bytes, 6);
-
-	for (int i=0;i<3;++i) {
-		accelerometer_data[i] = (int)bytes[2*i] + (((int)bytes[2*i + 1]) << 8);
- 	}
- 	
- 	pc.printf("ACCEL: %i\t%i\t%i", accelerometer_data[0], accelerometer_data[1], accelerometer_data[2]);
-}
-
-
-void init_itg3200() {
-	char data[2];
-	data[0] = ITG3200_REGISTER_DLPF_FS;
-	data[1] = ITG3200_FULLSCALE | ITG3200_42HZ; //bitwise or
-
-	pc.printf("Fullscale : %i, 42HZ : %i\n", ITG3200_FULLSCALE, ITG3200_42HZ);
-	pc.printf("Bitwise Or : %i\n", (unsigned int)data[1]);
-	
-	i2c.write(ITG3200_ADDRESS_W, data,2);
-	
-	i2c.write(ITG3200_ADDRESS_W, data,1);
-	i2c.read(ITG3200_ADDRESS_R, data, 2);
-
-	pc.printf("%i\n",(unsigned int)data);
-}
-
-void read_itg3200() {
-	char bytes[6];
-	memset(bytes,0,6);
-	bytes[0] = ITG3200_REGISTER_XMSB;
-
-	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_hmc5883() {
-	char data[2];
-	data[0] = HMC5883_REGISTER_MEASMODE;
-	data[1] = HMC5883_MEASMODE_CONT;
-  
-	i2c.write(HMC5883_ADDRESS_W, data, 2);
-	i2c.read(HMC5883_ADDRESS_R, data, 1);
-	
-	pc.printf("%i\n",(unsigned int)data);
-}
-
-void read_hmc5883() {
-	char bytes[6];
-	memset(bytes,0,6);
-	bytes[0] = HMC5883_REGISTER_XMSB;
-
-	i2c.write(HMC5883_ADDRESS_W, bytes, 1);
-	i2c.read(HMC5883_ADDRESS_R, bytes, 6);
-
-	for (int i=0;i<3;++i) {
-		magnetometer_data[i] = (int)bytes[2*i + 1] + (((int)bytes[2*i]) << 8);
-	}
-	
-	pc.printf("Magnet: %i\t%i\t%i", magnetometer_data[0], magnetometer_data[1], magnetometer_data[2]);
 }
\ No newline at end of file