Works with 8g
Fork of MMA8452 by
Diff: MMA8452.cpp
- Revision:
- 17:6e4232c421c0
- Parent:
- 16:d6dde2318edc
- Child:
- 19:4d6cd7140a71
--- a/MMA8452.cpp Wed Mar 05 16:47:13 2014 +0000 +++ b/MMA8452.cpp Wed Mar 05 17:01:00 2014 +0000 @@ -20,11 +20,16 @@ #include "MMA8452.h" #include "mbed.h" +#ifdef MMA8452_DEBUG extern Serial pc; +#define MMA8452_DBG(...) pc.printf(__VA_ARGS__); pc.printf("\r\n"); +#else +#define MMA8452_DBG(...) +#endif // Connect module at I2C address using I2C port pins sda and scl MMA8452::MMA8452(PinName sda, PinName scl, int frequency) : _i2c(sda, scl) , _frequency(frequency) { - DBG("Creating MMA8452"); + MMA8452_DBG("Creating MMA8452"); // set I2C frequency _i2c.frequency(_frequency); @@ -39,7 +44,7 @@ _dynamicRange = DYNAMIC_RANGE_UNKNOWN; setDynamicRange(DYNAMIC_RANGE_2G); - DBG("Done"); + MMA8452_DBG("Done"); } @@ -351,67 +356,69 @@ return readRegister(addr,dst,1); } +#ifdef MMA8452_DEBUG void MMA8452::debugRegister(char reg) { // get register value char v = 0; if(readRegister(reg,&v)) { - DBG("Error reading specified register"); + MMA8452_DBG("Error reading specified register"); return; } // print out details switch(reg) { case MMA8452_CTRL_REG_1: - DBG("CTRL_REG_1 has value: 0x%x",v); - DBG(" 7 ALSP_RATE_1: %d",(v&0x80)>>7); - DBG(" 6 ALSP_RATE_0: %d",(v&0x40)>>6); - DBG(" 5 DR2: %d", (v&0x20)>>5); - DBG(" 4 DR1: %d", (v&0x10)>>4); - DBG(" 3 DR0: %d", (v&0x08)>>3); - DBG(" 2 LNOISE: %d", (v&0x04)>>2); - DBG(" 1 FREAD: %d", (v&0x02)>>1); - DBG(" 0 ACTIVE: %d", (v&0x01)); + MMA8452_DBG("CTRL_REG_1 has value: 0x%x",v); + MMA8452_DBG(" 7 ALSP_RATE_1: %d",(v&0x80)>>7); + MMA8452_DBG(" 6 ALSP_RATE_0: %d",(v&0x40)>>6); + MMA8452_DBG(" 5 DR2: %d", (v&0x20)>>5); + MMA8452_DBG(" 4 DR1: %d", (v&0x10)>>4); + MMA8452_DBG(" 3 DR0: %d", (v&0x08)>>3); + MMA8452_DBG(" 2 LNOISE: %d", (v&0x04)>>2); + MMA8452_DBG(" 1 FREAD: %d", (v&0x02)>>1); + MMA8452_DBG(" 0 ACTIVE: %d", (v&0x01)); break; case MMA8452_XYZ_DATA_CFG: - DBG("XYZ_DATA_CFG has value: 0x%x",v); - DBG(" 7 Unused: %d", (v&0x80)>>7); - DBG(" 6 0: %d", (v&0x40)>>6); - DBG(" 5 0: %d", (v&0x20)>>5); - DBG(" 4 HPF_Out: %d",(v&0x10)>>4); - DBG(" 3 0: %d", (v&0x08)>>3); - DBG(" 2 0: %d", (v&0x04)>>2); - DBG(" 1 FS1: %d", (v&0x02)>>1); - DBG(" 0 FS0: %d", (v&0x01)); + MMA8452_DBG("XYZ_DATA_CFG has value: 0x%x",v); + MMA8452_DBG(" 7 Unused: %d", (v&0x80)>>7); + MMA8452_DBG(" 6 0: %d", (v&0x40)>>6); + MMA8452_DBG(" 5 0: %d", (v&0x20)>>5); + MMA8452_DBG(" 4 HPF_Out: %d",(v&0x10)>>4); + MMA8452_DBG(" 3 0: %d", (v&0x08)>>3); + MMA8452_DBG(" 2 0: %d", (v&0x04)>>2); + MMA8452_DBG(" 1 FS1: %d", (v&0x02)>>1); + MMA8452_DBG(" 0 FS0: %d", (v&0x01)); switch(v&0x03) { case 0: - DBG("Dynamic range: 2G"); + MMA8452_DBG("Dynamic range: 2G"); break; case 1: - DBG("Dynamic range: 4G"); + MMA8452_DBG("Dynamic range: 4G"); break; case 2: - DBG("Dynamic range: 8G"); + MMA8452_DBG("Dynamic range: 8G"); break; default: - DBG("Unknown dynamic range"); + MMA8452_DBG("Unknown dynamic range"); break; } break; case MMA8452_STATUS: - DBG("STATUS has value: 0x%x",v); - DBG(" 7 ZYXOW: %d",(v&0x80)>>7); - DBG(" 6 ZOW: %d", (v&0x40)>>6); - DBG(" 5 YOW: %d", (v&0x20)>>5); - DBG(" 4 XOW: %d", (v&0x10)>>4); - DBG(" 3 ZYXDR: %d",(v&0x08)>>3); - DBG(" 2 ZDR: %d", (v&0x04)>>2); - DBG(" 1 YDR: %d", (v&0x02)>>1); - DBG(" 0 XDR: %d", (v&0x01)); + MMA8452_DBG("STATUS has value: 0x%x",v); + MMA8452_DBG(" 7 ZYXOW: %d",(v&0x80)>>7); + MMA8452_DBG(" 6 ZOW: %d", (v&0x40)>>6); + MMA8452_DBG(" 5 YOW: %d", (v&0x20)>>5); + MMA8452_DBG(" 4 XOW: %d", (v&0x10)>>4); + MMA8452_DBG(" 3 ZYXDR: %d",(v&0x08)>>3); + MMA8452_DBG(" 2 ZDR: %d", (v&0x04)>>2); + MMA8452_DBG(" 1 YDR: %d", (v&0x02)>>1); + MMA8452_DBG(" 0 XDR: %d", (v&0x01)); break; default: - DBG("Unknown register address: 0x%x",reg); + MMA8452_DBG("Unknown register address: 0x%x",reg); break; } -} \ No newline at end of file +} +#endif \ No newline at end of file