Dependencies:   MMA8451Q mbed

main.cpp

Committer:
TheZaro
Date:
2015-10-28
Revision:
1:953d19be0550
Parent:
0:2227363aa617
Child:
2:ff965ab5160f

File content as of revision 1:953d19be0550:

#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) // accel address

void read_accel(struct *xyz data);
void set_color(struct *xyz data);

// accel comes from MMA8451Q.CPP library 
struct xyz{
    unsigned int x = 0;
    unsigned int y = 0;
    unsigned int z = 0;
};


int main(void)
{
    MMA8451Q acc(SDA, SCL, MMA8451_I2C_ADDRESS); // PTE25, PTE24 
    PwmOut rled(LED1); // 
    PwmOut gled(LED2);
    PwmOut bled(LED3);

    //printf("MMA8451 ID: %d\n", acc.getWhoAmI());

    while (true) 
    {
        struct xyz data;
        read_accel(&data);
        set_color(&data);
        send_data(&data);
        wait_ms(50);
        printf("%1.3f\r\n",z); /* 1.3f sets output to 3-precision */
    }
    return 0;
}

void read_accel(struct *xyz data)
{
    
    data.x = abs(acc.getAccX());
    data.y = abs(acc.getAccY());
    data.z = abs(acc.getAccZ());    
    
}


void set_color(struct *xyz data)
{
    rled = 1.0f - data->x;
    gled = 1.0f - data->y;
    bled = 1.0f - data->z;
}