interfrac
/
FRDM_MMA8451Q
Diff: main.cpp
- Revision:
- 1:953d19be0550
- Parent:
- 0:2227363aa617
- Child:
- 2:ff965ab5160f
--- a/main.cpp Tue Oct 27 23:12:09 2015 +0000 +++ b/main.cpp Wed Oct 28 04:55:35 2015 +0000 @@ -16,8 +16,16 @@ #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) { @@ -28,17 +36,37 @@ //printf("MMA8451 ID: %d\n", acc.getWhoAmI()); - while (true) { - float x, y, z; - //x = abs(acc.getAccX()); - //y = abs(acc.getAccY()); - z = abs(acc.getAccZ()); - //rled = 1.0f - x; - //gled = 1.0f - y; - bled = 1.0f - z; - wait(.10); - //wait(0.1f); // old delay to terminal - //printf("X: %1.2f, Y: %1.2f, Z: %1.2f\n", x, y, z); old output xyz - printf("%1.3f\r\n",z); + 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; +} + + + + + +