The whole program
Dependencies: MMA8451Q8_v2 SLCD mbed
Fork of KL46z_single_tap_Project_1_v1 by
Diff: main.cpp
- Revision:
- 5:0930b17d337d
- Parent:
- 4:d75c7e69796b
- Child:
- 6:990e73b26c15
diff -r d75c7e69796b -r 0930b17d337d main.cpp --- a/main.cpp Mon Feb 09 18:19:28 2015 +0000 +++ b/main.cpp Mon Feb 16 03:23:33 2015 +0000 @@ -18,13 +18,16 @@ #define REG_PULSE_SRC 0x22 #define REG_PULSE_CFG 0x21 -#define REG_PULSE_THSX 0x23 -#define REG_PULSE_THSY 0x24 #define REG_PULSE_THSZ 0x25 #define REG_PULSE_TMLT 0x26 #define REG_PULSE_LTCY 0x27 -#define REG_PULSE_WIND 0x28 + +#define REG_CTRL_REG4 0x2D +#define REG_CTRL_REG5 0x2E +#define REG_DATA_THSZ 0x08 +#define REG_DATA_TMLT 0x26 +#define REG_DATA_LTCY 0x27 #define MAX_2G 0x00 #define MAX_4G 0x01 @@ -56,8 +59,6 @@ int outState = false; SLCD slcd; //define LCD display char LCDMessages[2][LCDLEN] = {"TRUE", "FALS"}; -uint8_t registerArray[8] = {REG_PULSE_CFG, REG_PULSE_SRC, REG_PULSE_THSX, REG_PULSE_THSY, REG_PULSE_THSZ, REG_PULSE_TMLT, REG_PULSE_LTCY, REG_PULSE_WIND}; -uint8_t regAddress; void LCDMess(char *lMess, float dWait){ @@ -96,7 +97,8 @@ relay.write(relayState); // set up interrrupts to be used later for taps - mybutton.fall(&pressed); + mybutton.rise(&pressed); + mybutton.mode(PullNone); // set up interrrupts to be used later for taps ledBlink.attach(&LEDBlinker, LEDDELAY); @@ -122,9 +124,13 @@ LCDMess(lcdData,BLINKTIME); //send address - regData = latchData | axisData; - regAddress = 0; - acc.setRegisterInStandby(registerArray[regAddress], regData); + acc.setRegisterInStandby(REG_PULSE_THSZ, REG_DATA_THSZ); + acc.setRegisterInStandby(REG_PULSE_TMLT, REG_DATA_TMLT); + acc.setRegisterInStandby(REG_PULSE_LTCY, REG_DATA_LTCY); + + acc.setRegisterInStandby(REG_CTRL_REG4, 0x08); + acc.setRegisterInStandby(REG_CTRL_REG5, 0x08); + acc.readRegs(REG_PULSE_SRC, ®Data, 1); sprintf (lcdData,"%x",regData); LCDMess(lcdData,BLINKTIME);