Framework of classes and program to measure tilt angles using accelerometers

Dependencies:   C12832 mbed

Fork of tilt_angles by Mark Petovello

Revision:
0:3bffc1862262
diff -r 000000000000 -r 3bffc1862262 ENGO333_I2C.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/ENGO333_I2C.cpp	Thu Nov 24 23:02:42 2016 +0000
@@ -0,0 +1,39 @@
+#include "ENGO333_I2C.h"
+
+ENGO333_I2C::ENGO333_I2C(PinName sda, PinName scl) : i2c(sda, scl)
+{
+    // Do nothing
+}
+
+ENGO333_I2C::~ENGO333_I2C()
+{
+    // Do nothing
+}
+
+void ENGO333_I2C::setSpeed(int freq)
+{
+    this->i2c.frequency(freq);
+}
+
+void ENGO333_I2C::writeOneByte(char deviceAddress, char registerAddress, char value)
+{
+    char temp[2];
+    temp[0] = registerAddress;
+    temp[1] = value;
+    this->i2c.write(deviceAddress, temp, 2);
+}
+
+char ENGO333_I2C::readOneByte(char deviceAddress, char registerAddress)
+{
+    char temp = 0;
+    this->i2c.write(deviceAddress, &registerAddress, 1);
+    this->i2c.read(deviceAddress, &temp, 1);
+    return (char)temp;
+}
+
+void ENGO333_I2C::readBytes(char deviceAddress, char registerAddress, char* value, int length)
+{
+    this->i2c.write(deviceAddress, &registerAddress, 1);
+    this->i2c.read(deviceAddress, value, length);
+}
+