Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of MMA8452 by
Diff: MMA8452.cpp
- Revision:
- 10:ca9ba7ad4e94
- Parent:
- 9:dfb0f6a7a455
- Child:
- 11:dfd1e0afcb7b
--- a/MMA8452.cpp Thu Oct 17 10:21:37 2013 +0000
+++ b/MMA8452.cpp Tue Mar 04 11:14:34 2014 +0000
@@ -20,8 +20,7 @@
# include "MMA8452.h"
// Connect module at I2C address using I2C port pins sda and scl
-Accelerometer_MMA8452::Accelerometer_MMA8452(PinName sda, PinName scl,int frequency) : m_i2c(sda, scl) , m_frequency(frequency)
-{
+MMA8452::MMA8452(PinName sda, PinName scl,int frequency) : m_i2c(sda, scl) , m_frequency(frequency) {
//m_i2c.frequency(m_frequency);
// setup read and write addresses to avoid duplication
@@ -31,14 +30,10 @@
// Destroys instance
-Accelerometer_MMA8452::~Accelerometer_MMA8452()
-{
-
-}
+MMA8452::~MMA8452() {}
// Setting the control register bit 1 to true to activate the MMA8452
-int Accelerometer_MMA8452::activate()
-{
+int MMA8452::activate() {
// set control register 1 to active
char init[2] = {CTRL_REG_1,ACTIVE};
@@ -50,13 +45,13 @@
// Get 'Fast Read Mode' called F_READ. If bit 1 is set '1' then F_READ is active. Fast read will skip LSB when reading xyz
// resisters from 0x01 to 0x06. When F_READ is '0' then all 6 registers will be read.
-int Accelerometer_MMA8452::get_CTRL_Reg1(int* dst)
+int MMA8452::get_CTRL_Reg1(int* dst)
{
- return read_reg(CTRL_REG_1,dst);
+ return readRegister(CTRL_REG_1,dst);
}
// Setting the control register bit 1 to true to activate the MMA8452
-int Accelerometer_MMA8452::standby()
+int MMA8452::standby()
{
// set control register 1 to standby
char init[2] = {CTRL_REG_1,STANDBY};
@@ -68,40 +63,40 @@
// Device initialization
-void Accelerometer_MMA8452::init()
+void MMA8452::init()
{
- write_reg(INTSU_STATUS, 0x10); // automatic interrupt after every measurement
- write_reg(SR_STATUS, 0x00); // 120 Samples/Second
- write_reg(MODE_STATUS, 0x01); // Active Mode
+ writeRegister(INTSU_STATUS, 0x10); // automatic interrupt after every measurement
+ writeRegister(SR_STATUS, 0x00); // 120 Samples/Second
+ writeRegister(MODE_STATUS, 0x01); // Active Mode
}
// Get real time status of device - it can be STANDBY, WAKE or SLEEP
-int Accelerometer_MMA8452::get_SystemMode(int *dst)
+int MMA8452::getSystemMode(int *dst)
{
- return read_reg(SYSMOD,dst);
+ return readRegister(SYSMOD,dst);
}
// Get real time status of device - it can be STANDBY, WAKE or SLEEP
-int Accelerometer_MMA8452::get_Status(int* dst)
+int MMA8452::getStatus(int* dst)
{
- return read_reg(STATUS,dst);
+ return readRegister(STATUS,dst);
}
// Get device ID
-int Accelerometer_MMA8452::get_DeviceID(int *dst)
+int MMA8452::getDeviceID(int *dst)
{
- return read_reg(WHO_AM_I,dst);
+ return readRegister(WHO_AM_I,dst);
}
/*
// Reads x data
-int Accelerometer_MMA8452::read_x(int& xaxisLSB)
+int MMA8452::read_x(int& xaxisLSB)
{
char mcu_address = (MMA8452_ADDRESS<<1);
m_i2c.start();
@@ -124,7 +119,7 @@
}
*/
-int Accelerometer_MMA8452::read_raw(char src, char *dst, int len) {
+int MMA8452::readRaw(char src, char *dst, int len) {
// this is the register we want to get data from
char register_address[1];
register_address[0] = src;
@@ -148,10 +143,10 @@
// It takes a 2 byte char array and copies the register values into the buffer. If it fails the char array
// is set to '0'. It returns '0' success '1' fail. This method does nothing to the registers - just returns
// the raw data.
-//int Accelerometer_MMA8452::read_x(int& xaxisLSB)
-int Accelerometer_MMA8452::read_x_raw(char *xaxis)
+//int MMA8452::read_x(int& xaxisLSB)
+int MMA8452::readRawX(char *xaxis)
{
- return read_raw(OUT_X_MSB,xaxis,2);
+ return readRaw(OUT_X_MSB,xaxis,2);
}
@@ -160,8 +155,8 @@
// is set to '0'. It returns '0' success '1' fail. This method does nothing to the registers - just returns
// the raw data.
-int Accelerometer_MMA8452::read_y_raw(char *yaxis) {
- return read_raw(OUT_Y_MSB,yaxis,2);
+int MMA8452::readRawY(char *yaxis) {
+ return readRaw(OUT_Y_MSB,yaxis,2);
}
@@ -171,15 +166,15 @@
// is set to '0'. It returns '0' success '1' fail. This method does nothing to the registers - just returns
// the raw data.
-int Accelerometer_MMA8452::read_z_raw(char *zaxis)
+int MMA8452::readRawZ(char *zaxis)
{
- return read_raw(OUT_Z_MSB,zaxis,2);
+ return readRaw(OUT_Z_MSB,zaxis,2);
}
// Reads y data
-int Accelerometer_MMA8452::read_y()
+int MMA8452::read_y()
{
char mcu_address = (MMA8452_ADDRESS <<1);
@@ -197,7 +192,7 @@
// Reads z data
-int Accelerometer_MMA8452::read_z()
+int MMA8452::read_z()
{
char mcu_address = (MMA8452_ADDRESS <<1);
@@ -215,7 +210,7 @@
// Reads xyz
-int Accelerometer_MMA8452::read_xyz(char *x, char *y, char *z)
+int MMA8452::readRawXYZ(char *x, char *y, char *z)
{
@@ -247,7 +242,7 @@
}
// Write register (The device must be placed in Standby Mode to change the value of the registers)
-void Accelerometer_MMA8452::write_reg(char addr, char data)
+void MMA8452::writeRegister(char addr, char data)
{
char cmd[2] = {0, 0};
@@ -266,10 +261,8 @@
}
-
-
// Read from specified MMA7660FC register
-int Accelerometer_MMA8452::read_reg(char addr, int *dst)
+int MMA8452::readRegister(char addr, int *dst)
{
m_i2c.start();
@@ -292,9 +285,3 @@
return 0;
}
-
-
-
-
-
-
