raynard omongbale / Mbed OS hexiwear_Bluetooth_Moonshot

Dependencies:   Hexi_OLED_SSD1351

Committer:
raynard
Date:
Fri Jul 26 13:37:55 2019 +0000
Revision:
0:a84d2425acba
watch

Who changed what in which revision?

UserRevisionLine numberNew contents of line
raynard 0:a84d2425acba 1
raynard 0:a84d2425acba 2 #include "GYROMETER.h"
raynard 0:a84d2425acba 3 #include "mbed.h"
raynard 0:a84d2425acba 4
raynard 0:a84d2425acba 5 GYROMETER::GYROMETER(PinName sda, PinName scl) : gyroi2c(sda,scl)
raynard 0:a84d2425acba 6 {
raynard 0:a84d2425acba 7
raynard 0:a84d2425acba 8 }
raynard 0:a84d2425acba 9
raynard 0:a84d2425acba 10 void GYROMETER::Config(void)
raynard 0:a84d2425acba 11 {
raynard 0:a84d2425acba 12 char d[2];
raynard 0:a84d2425acba 13 d[0] = GYRO_CTRL_REG1; //standby mode
raynard 0:a84d2425acba 14 d[1] = 0x08;
raynard 0:a84d2425acba 15 gyroi2c.write(GYRO_I2C_ADDRESS, d,2);
raynard 0:a84d2425acba 16
raynard 0:a84d2425acba 17
raynard 0:a84d2425acba 18 d[0] = GYRO_CTRL_REG0;
raynard 0:a84d2425acba 19 d[1] = 0x00;
raynard 0:a84d2425acba 20 gyroi2c.write(GYRO_I2C_ADDRESS, d, 2);
raynard 0:a84d2425acba 21
raynard 0:a84d2425acba 22
raynard 0:a84d2425acba 23 d[0] = GYRO_CTRL_REG1; // active mode
raynard 0:a84d2425acba 24 d[1] = 0x0A;
raynard 0:a84d2425acba 25 gyroi2c.write(GYRO_I2C_ADDRESS, d,2);
raynard 0:a84d2425acba 26
raynard 0:a84d2425acba 27 }
raynard 0:a84d2425acba 28
raynard 0:a84d2425acba 29 void GYROMETER::getData(float * g_data)
raynard 0:a84d2425acba 30 {
raynard 0:a84d2425acba 31
raynard 0:a84d2425acba 32 char data_bytes[7];
raynard 0:a84d2425acba 33 gyroi2c.write(GYRO_I2C_ADDRESS,GYRO_STATUS,1,true); // Read the 6 data bytes
raynard 0:a84d2425acba 34 gyroi2c.read(GYRO_I2C_ADDRESS,data_bytes,7);
raynard 0:a84d2425acba 35
raynard 0:a84d2425acba 36 g_data[0] = (float)((int16_t)((data_bytes[1]*256) + (data_bytes[2]))) * 0.0625;
raynard 0:a84d2425acba 37 g_data[1] = (float)((int16_t)((data_bytes[3]*256) + (data_bytes[4]))) * 0.0625;
raynard 0:a84d2425acba 38 g_data[2] = (float)((int16_t)((data_bytes[5]*256) + (data_bytes[6]))) * 0.0625;
raynard 0:a84d2425acba 39
raynard 0:a84d2425acba 40 }
raynard 0:a84d2425acba 41
raynard 0:a84d2425acba 42
raynard 0:a84d2425acba 43
raynard 0:a84d2425acba 44
raynard 0:a84d2425acba 45