upm  0.4.1
Sensor/Actuator repository for libmraa (v0.8.0)
Classes | Public Member Functions | List of all members

API for the MMA7660 I2C 3-Axis Digital Accelerometer. More...

Detailed Description

UPM module for the MMA7660 I2C 3-axis digital accelerometer. This device supports a variety of capabilities, including the generation of interrupts for various conditions, tilt and basic gesture detection, and X/Y/Z-axis measurements of g-forces being applied (up to 1.5g)

This module was tested with the Grove 3-Axis Digital Accelerometer (1.5g)

mma7660.jpg
// Instantiate an MMA7660 on I2C bus 0
// place device in standby mode so we can write registers
accel.setModeStandby();
// enable 64 samples per second
accel.setSampleRate(upm_mma7660.MMA7660.MMA7660_AUTOSLEEP_T.AUTOSLEEP_64);
// place device into active mode
accel.setModeActive();
while (true) {
int[] rawValues = accel.getRawValues();
System.out.println("Raw Values: x = " + rawValues[0] + " y = " + rawValues[1] + " x = "
+ rawValues[2]);
float[] acceleration = accel.getAcceleration();
System.out.println("Raw Values: x = " + acceleration[0] + " y = " + acceleration[1]
+ " x = " + acceleration[2]);
Thread.sleep(1000);
}

Classes

class  MMA7660_AUTOSLEEP_T
 
class  MMA7660_INTR_T
 
class  MMA7660_MODE_T
 
class  MMA7660_REG_T
 
class  MMA7660_TILT_BF_T
 
class  MMA7660_TILT_LP_T
 

Public Member Functions

synchronized void delete ()
 
 MMA7660 (int bus, short address)
 
 MMA7660 (int bus)
 
boolean writeByte (short reg, short arg1)
 
short readByte (short reg)
 
int[] getRawValues ()
 
float[] getAcceleration ()
 
int getVerifiedAxis (MMA7660.MMA7660_REG_T axis)
 
short getVerifiedTilt ()
 
void setModeActive ()
 
void setModeStandby ()
 
short tiltBackFront ()
 
short tiltLandscapePortrait ()
 
boolean tiltTap ()
 
boolean tiltShake ()
 
void installISR (int pin, IsrCallback cb)
 
void uninstallISR ()
 
boolean setInterruptBits (short ibits)
 
boolean setSampleRate (MMA7660.MMA7660_AUTOSLEEP_T sr)
 

Constructor & Destructor Documentation

MMA7660 ( int  bus,
short  address 
)

MMA7660 constructor

Parameters
busI2C bus to use
addressAddress for this sensor; default is 0x55

Member Function Documentation

float [] getAcceleration ( )

Gets the computed acceleration

Returns
Array containing x, y, z. Free using delete.
int [] getRawValues ( )

Reads the current value of conversion

Returns
Array containing x, y, z. Free using delete.
int getVerifiedAxis ( MMA7660.MMA7660_REG_T  axis)

Reads an axis, verifying its validity. The value passed must be one of REG_XOUT, REG_YOUT, or REG_ZOUT.

Parameters
axisAxis to read
Returns
Axis value
short getVerifiedTilt ( )

Reads the tilt register, verifying its validity

Returns
Tilt value
void installISR ( int  pin,
IsrCallback  cb 
)

Installs an interrupt service routine (ISR) to be called when an interrupt occurs

Parameters
pinGPIO pin to use as the interrupt pin
fptrPointer to a function to be called on interrupt
argPointer to an object to be supplied as an argument to the ISR.
short readByte ( short  reg)

Reads a byte value from a register

Parameters
regRegister location to read from
Returns
Value in a specified register
boolean setInterruptBits ( short  ibits)

Enables interrupt generation based on passed interrupt bits. The bits are a bitmask of the requested MMA7660_INTR_T values. Note: the device must be in the standby mode to set this register.

Parameters
ibitsSets the requested interrupt bits
Returns
True if successful
void setModeActive ( )

Puts the device in the active mode. In this mode, register writes are not allowed. Place the device in the standby mode before attempting to write registers.

void setModeStandby ( )

Puts the device in the standby (power saving) mode. Note: when in the standby mode, there is no valid data in the registers. In addition, the only way to write a register is to put the device in the standby mode.

boolean setSampleRate ( MMA7660.MMA7660_AUTOSLEEP_T  sr)

Sets the sampling rate of the sensor. The value supplied must be one of the MMA7660_AUTOSLEEP_T values.

Parameters
srOne of the MMA7660_AUTOSLEEP_T values
Returns
True if successful
short tiltBackFront ( )

Reads tiltBackFront bits

The value returned is one of the MMA7660_TILT_BF_T values

Returns
Bits corresponding to the BackFront tilt status
short tiltLandscapePortrait ( )

Reads tiltLandscapePortrait bits

The value returned is one of the MMA7660_TILT_LP_T values

Returns
Bits corresponding to the LandscapePortrait tilt status
boolean tiltShake ( )

Reads the tiltShake status

Returns
True if a shake is detected
boolean tiltTap ( )

Reads the tiltTap status

Returns
True if a tap is detected
void uninstallISR ( )

Uninstalls the previously installed ISR

boolean writeByte ( short  reg,
short  arg1 
)

Writes a byte value into a register

Parameters
regRegister location to write into
byteByte to write
Returns
True if successful

The documentation for this class was generated from the following file: