Michael Limbird / Mbed 2 deprecated VideoOutput

Dependencies:   mbed

Committer:
mlimbird
Date:
Sat Jan 10 03:46:30 2015 +0000
Revision:
8:c64f76d4deff
Parent:
7:4377556c2d5b
Child:
9:331dbf3b341d
Added serial interface. Has some I2C stuff

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mlimbird 0:80725699690f 1 #include "mbed.h"
mlimbird 0:80725699690f 2
mlimbird 8:c64f76d4deff 3 //Accelerometer
mlimbird 8:c64f76d4deff 4 #define ADXL345_ADDRESS (0xA6 >> 1)
mlimbird 8:c64f76d4deff 5 #define ADXL345_REGISTER_XLSB (0x32)
mlimbird 8:c64f76d4deff 6 #define ADXL_REGISTER_PWRCTL (0x2D)
mlimbird 8:c64f76d4deff 7 #define ADXL_PWRCTL_MEASURE (1 << 3)
mlimbird 8:c64f76d4deff 8
mlimbird 8:c64f76d4deff 9 //Gyroscope
mlimbird 8:c64f76d4deff 10 #define ITG3200_ADDRESS (0xD0 >> 1)
mlimbird 8:c64f76d4deff 11 #define ITG3200_REGISTER_XMSB (0x1D)
mlimbird 8:c64f76d4deff 12 #define ITG3200_REGISTER_DLPF_FS (0x16)
mlimbird 8:c64f76d4deff 13 #define ITG3200_FULLSCALE (0x03 << 3)
mlimbird 8:c64f76d4deff 14 #define ITG3200_42HZ (0x03)
mlimbird 8:c64f76d4deff 15
mlimbird 8:c64f76d4deff 16 //3-Axis Digital Compass IC
mlimbird 8:c64f76d4deff 17 #define HMC5843_ADDRESS (0x3C >> 1)
mlimbird 8:c64f76d4deff 18 #define HMC5843_REGISTER_XMSB (0x03)
mlimbird 8:c64f76d4deff 19 #define HMC5843_REGISTER_MEASMODE (0x02)
mlimbird 8:c64f76d4deff 20 #define HMC5843_MEASMODE_CONT (0x00)
mlimbird 8:c64f76d4deff 21
mlimbird 8:c64f76d4deff 22 //I2C i2c( p9, p10 ); // sda, scl
mlimbird 8:c64f76d4deff 23
mlimbird 8:c64f76d4deff 24 //void init_adxl345();
mlimbird 8:c64f76d4deff 25 //void init_itg3200();
mlimbird 8:c64f76d4deff 26 //void init_hmc5843();
mlimbird 8:c64f76d4deff 27
mlimbird 8:c64f76d4deff 28 const int addr = 0x90;
mlimbird 8:c64f76d4deff 29 Serial pc(USBTX, USBRX); //tx, rx
mlimbird 8:c64f76d4deff 30
mlimbird 8:c64f76d4deff 31 //int adxl345_Data[3];
mlimbird 8:c64f76d4deff 32 //int itg3200_Data[3];
mlimbird 8:c64f76d4deff 33 //int hmc5843_Data[3];
mlimbird 8:c64f76d4deff 34
mlimbird 0:80725699690f 35 DigitalOut myled(LED1);
mlimbird 0:80725699690f 36
mlimbird 0:80725699690f 37 int main() {
mlimbird 8:c64f76d4deff 38 char cmd[2];
mlimbird 8:c64f76d4deff 39
mlimbird 8:c64f76d4deff 40 //init_adxl345();
mlimbird 8:c64f76d4deff 41 //init_hmc5843();
mlimbird 8:c64f76d4deff 42 //init_itg3200();
mlimbird 7:4377556c2d5b 43
mlimbird 0:80725699690f 44 while(1) {
mlimbird 8:c64f76d4deff 45 cmd[0] = 0x01;
mlimbird 8:c64f76d4deff 46 cmd[1] = 0x00;
mlimbird 8:c64f76d4deff 47 //i2c.write(addr, cmd, 2); // i2c.write(address, command, bytes);
mlimbird 8:c64f76d4deff 48
mlimbird 8:c64f76d4deff 49 pc.printf("Hello.");
mlimbird 7:4377556c2d5b 50
mlimbird 0:80725699690f 51 myled = 1;
m-limbird 5:42066232dc6f 52 wait(0.1333);
mlimbird 0:80725699690f 53 myled = 0;
m-limbird 4:e51fc19119ba 54 wait(1.9);
m-limbird 6:42acd9884ffc 55 //this is an awesome program.
mlimbird 0:80725699690f 56 }
mlimbird 0:80725699690f 57 }
mlimbird 8:c64f76d4deff 58
mlimbird 8:c64f76d4deff 59
mlimbird 8:c64f76d4deff 60 /*
mlimbird 8:c64f76d4deff 61 void init_adxl345() {
mlimbird 8:c64f76d4deff 62 char data = 0;
mlimbird 8:c64f76d4deff 63
mlimbird 8:c64f76d4deff 64 i2c_write(ADXL345_ADDRESS, ADXL_REGISTER_PWRCTL, ADXL_PWRCTL_MEASURE);
mlimbird 8:c64f76d4deff 65
mlimbird 8:c64f76d4deff 66 i2c_read(ADXL345_ADDRESS, ADXL_REGISTER_PWRCTL, 1, &data);
mlimbird 8:c64f76d4deff 67 Serial.println((unsigned int)data);
mlimbird 8:c64f76d4deff 68 }
mlimbird 8:c64f76d4deff 69
mlimbird 8:c64f76d4deff 70 void read_adxl345() {
mlimbird 8:c64f76d4deff 71 bytes bytes[6];
mlimbird 8:c64f76d4deff 72 memset(bytes,0,6);
mlimbird 8:c64f76d4deff 73
mlimbird 8:c64f76d4deff 74 i2c_read(ADXL345_ADDRESS, ADXL345_REGISTER_XLSB, 6, bytes);
mlimbird 8:c64f76d4deff 75
mlimbird 8:c64f76d4deff 76 for (int i=0;i<3;++i) {
mlimbird 8:c64f76d4deff 77 accelerometer_data[i] = (int)bytes[2*i] + (((int)bytes[2*i + 1]) << 8);
mlimbird 8:c64f76d4deff 78 }
mlimbird 8:c64f76d4deff 79 }
mlimbird 8:c64f76d4deff 80
mlimbird 8:c64f76d4deff 81 void init_itg3200() {
mlimbird 8:c64f76d4deff 82 byte data = 0;
mlimbird 8:c64f76d4deff 83
mlimbird 8:c64f76d4deff 84 i2c_write(ITG3200_ADDRESS, ITG3200_REGISTER_DLPF_FS, ITG3200_FULLSCALE | ITG3200_42HZ);
mlimbird 8:c64f76d4deff 85
mlimbird 8:c64f76d4deff 86 i2c_read(ITG3200_ADDRESS, ITG3200_REGISTER_DLPF_FS, 1, &data);
mlimbird 8:c64f76d4deff 87
mlimbird 8:c64f76d4deff 88 Serial.println((unsigned int)data);
mlimbird 8:c64f76d4deff 89 }
mlimbird 8:c64f76d4deff 90
mlimbird 8:c64f76d4deff 91 void read_itg3200() {
mlimbird 8:c64f76d4deff 92 bytes bytes[6];
mlimbird 8:c64f76d4deff 93 memset(bytes,0,6);
mlimbird 8:c64f76d4deff 94
mlimbird 8:c64f76d4deff 95 i2c_read(ITG3200_ADDRESS, ITG3200_REGISTER_XMSB, 6, bytes);
mlimbird 8:c64f76d4deff 96 for (int i=0;i<3;++i) {
mlimbird 8:c64f76d4deff 97 gyro_data[i] = (int)bytes[2*i + 1] + (((int)bytes[2*i]) << 8);
mlimbird 8:c64f76d4deff 98 }
mlimbird 8:c64f76d4deff 99 }
mlimbird 8:c64f76d4deff 100
mlimbird 8:c64f76d4deff 101 void init_hmc5843() {
mlimbird 8:c64f76d4deff 102 bytes data = 0;
mlimbird 8:c64f76d4deff 103
mlimbird 8:c64f76d4deff 104 i2c_write(HMC5843_ADDRESS, HMC5843_REGISTER_MEASMODE, HMC5843_MEASMODE_CONT);
mlimbird 8:c64f76d4deff 105
mlimbird 8:c64f76d4deff 106 i2c_read(HMC5843_ADDRESS, HMC5843_REGISTER_MEASMODE, 1, &data);
mlimbird 8:c64f76d4deff 107 Serial.println((unsigned int)data);
mlimbird 8:c64f76d4deff 108 }
mlimbird 8:c64f76d4deff 109
mlimbird 8:c64f76d4deff 110 void read_hmc5843() {
mlimbird 8:c64f76d4deff 111 bytes bytes[6];
mlimbird 8:c64f76d4deff 112 memset(bytes,0,6);
mlimbird 8:c64f76d4deff 113
mlimbird 8:c64f76d4deff 114 i2c_read(HMC5843_ADDRESS, HMC5843_REGISTER_XMSB, 6, bytes);
mlimbird 8:c64f76d4deff 115
mlimbird 8:c64f76d4deff 116 for (int i=0;i<3;++i) {
mlimbird 8:c64f76d4deff 117 magnetometer_data[i] = (int)bytes[2*i + 1] + (((int)bytes[2*i]) << 8);
mlimbird 8:c64f76d4deff 118 }
mlimbird 8:c64f76d4deff 119 }
mlimbird 8:c64f76d4deff 120 */