freefall-sleep

Dependencies:   MMA8451Q mbed

main.cpp

Committer:
radovan
Date:
2017-11-06
Revision:
0:81c077a20809
Child:
1:af093354ea03

File content as of revision 0:81c077a20809:

#include "mbed.h"
#include "MMA8451Q.h"

#if   defined (TARGET_KL25Z) || defined (TARGET_KL46Z)
  PinName const SDA = PTE25;
  PinName const SCL = PTE24;
#elif defined (TARGET_KL05Z)
  PinName const SDA = PTB4;
  PinName const SCL = PTB3;
#elif defined (TARGET_K20D50M)
  PinName const SDA = PTB1;
  PinName const SCL = PTB0;
#else
  #error TARGET NOT DEFINED
#endif

#define MMA8451_I2C_ADDRESS (0x1d<<1)
InterruptIn intin(PTA15);
    MMA8451Q acc(SDA, SCL, MMA8451_I2C_ADDRESS);
Serial pc(USBTX, USBRX);


void intfun(){
                pc.printf("tu\n\r"); 

        uint8_t datan[1]; 
acc.readRegs(0x0C,datan,1);
if((datan[0]&0x04)==0x04){
    acc.readRegs(0x16,datan,1);
        pc.printf("fall \n\r"); 

    }
    }

int main(void)
{
    pc.printf("Init \n\r"); 
    
    
    intin.fall(&intfun);
   
    uint8_t krok1[2] = {0x2A, 0x20};
    acc.writeRegs(krok1, 2);
    
    uint8_t krok2[2] = {0x15, 0xB8};
    acc.writeRegs(krok2,2);
    
    uint8_t krok3[2] = {0x17, 0x03};
    acc.writeRegs(krok3,2);
    
    uint8_t krok4[2] = {0x18, 0x06};
    acc.writeRegs(krok4,2);
    
    uint8_t krok5[2] = {0x2D, 0x04};
    acc.writeRegs(krok5,2);
    
    uint8_t krok6[2] = {0x2E, 0x00};
    acc.writeRegs(krok6,2);
    
    
    //krok7
    uint8_t data[1]; 
    acc.readRegs(0x2A,data,1); 
    data[0]=data[0]| 0x01;
    
    uint8_t krok7[2] = {0x2A, data[0]};
    krok7[1] = data[0];
    acc.writeRegs(krok7,2);


    while (true) {
       
    }
}