Class Module for MMA845x I2C Accelerometer.

Dependents:   mDotEVBM2X MTDOT-EVBDemo-DRH MTDOT-BOX-EVB-Factory-Firmware-LIB-108 MTDOT-UDKDemo_Senet ... more

Fork of MMA845x by Sam Grove

Files at this revision

API Documentation at this revision

Comitter:
Leon Lindenfelser
Date:
Mon Oct 17 08:38:38 2016 -0500
Parent:
3:7c2fbf79f607
Child:
5:d662a7003b6f
Commit message:
Remove disable and enable of irqs around I2C accesses. Mbed5 takes care of peripheral access protection.

Changed in this revision

MMA845x.cpp Show annotated file Show diff for this revision Revisions of this file
--- a/MMA845x.cpp	Mon Dec 21 10:49:15 2015 -0600
+++ b/MMA845x.cpp	Mon Oct 17 08:38:38 2016 -0500
@@ -50,9 +50,7 @@
     uint8_t i = 0;
     char reg_val[1];
 
-    __disable_irq();
     _i2c->frequency(100000);
-    __enable_irq();
     _who_am_i = 0x00;
 
     // Reset all registers to POR values
@@ -290,9 +288,7 @@
     buf[0] = reg;
     buf[1] = data;
 
-    __disable_irq(); // Tickers and other timebase events can jack up the I2C bus for some devices
     result |= _i2c->write(_i2c_addr, buf, 2);
-    __enable_irq();  // Just need to block during the transaction
 
     if(result != 0) {
         debug("MMA845x:writeRegister failed r-%d\n\r",result);
@@ -307,18 +303,14 @@
     char reg_out[1];
 
     reg_out[0] = reg;
-   __disable_irq(); // Tickers and other timebase events can jack up the I2C bus for some devices
     result |= _i2c->write(_i2c_addr,reg_out,1,true);
-   __enable_irq();  // Just need to block during the transaction
 
     if(result != 0) {
         debug("MMA845x::readRegister failed write r- %d\n\r", result);
         return result;
     }
 
-   __disable_irq(); // Tickers and other timebase events can jack up the I2C bus for some devices
     result |= _i2c->read(_i2c_addr,data,count,false);
-    __enable_irq();  // Just need to block during the transaction
 
     if(result != 0) {
         debug("MMA845x::readRegister failed read r-%d\n\r",result);