interfrac
/
FRDM_MMA8451Q
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; }