Radovan Zubaľ
/
FRDM_MMA8451Q_anglecompute
angle
main.cpp@0:d9eddc0c9344, 2017-11-13 (annotated)
- Committer:
- radovan
- Date:
- Mon Nov 13 15:42:54 2017 +0000
- Revision:
- 0:d9eddc0c9344
angle
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
radovan | 0:d9eddc0c9344 | 1 | #include "mbed.h" |
radovan | 0:d9eddc0c9344 | 2 | #include "MMA8451Q.h" |
radovan | 0:d9eddc0c9344 | 3 | |
radovan | 0:d9eddc0c9344 | 4 | #if defined (TARGET_KL25Z) || defined (TARGET_KL46Z) |
radovan | 0:d9eddc0c9344 | 5 | PinName const SDA = PTE25; |
radovan | 0:d9eddc0c9344 | 6 | PinName const SCL = PTE24; |
radovan | 0:d9eddc0c9344 | 7 | #elif defined (TARGET_KL05Z) |
radovan | 0:d9eddc0c9344 | 8 | PinName const SDA = PTB4; |
radovan | 0:d9eddc0c9344 | 9 | PinName const SCL = PTB3; |
radovan | 0:d9eddc0c9344 | 10 | #elif defined (TARGET_K20D50M) |
radovan | 0:d9eddc0c9344 | 11 | PinName const SDA = PTB1; |
radovan | 0:d9eddc0c9344 | 12 | PinName const SCL = PTB0; |
radovan | 0:d9eddc0c9344 | 13 | #else |
radovan | 0:d9eddc0c9344 | 14 | #error TARGET NOT DEFINED |
radovan | 0:d9eddc0c9344 | 15 | #endif |
radovan | 0:d9eddc0c9344 | 16 | |
radovan | 0:d9eddc0c9344 | 17 | #define MMA8451_I2C_ADDRESS (0x1d<<1) |
radovan | 0:d9eddc0c9344 | 18 | Serial pc(USBTX, USBRX); |
radovan | 0:d9eddc0c9344 | 19 | |
radovan | 0:d9eddc0c9344 | 20 | int main(void) |
radovan | 0:d9eddc0c9344 | 21 | { |
radovan | 0:d9eddc0c9344 | 22 | MMA8451Q acc(SDA, SCL, MMA8451_I2C_ADDRESS); |
radovan | 0:d9eddc0c9344 | 23 | |
radovan | 0:d9eddc0c9344 | 24 | |
radovan | 0:d9eddc0c9344 | 25 | printf("MMA8451 ID: %d\n", acc.getWhoAmI()); |
radovan | 0:d9eddc0c9344 | 26 | |
radovan | 0:d9eddc0c9344 | 27 | while (true) { |
radovan | 0:d9eddc0c9344 | 28 | float x, y, z; |
radovan | 0:d9eddc0c9344 | 29 | x = abs(acc.getAccX()); |
radovan | 0:d9eddc0c9344 | 30 | y = abs(acc.getAccY()); |
radovan | 0:d9eddc0c9344 | 31 | z = abs(acc.getAccZ()); |
radovan | 0:d9eddc0c9344 | 32 | |
radovan | 0:d9eddc0c9344 | 33 | pc.printf("X: %1.2f, Y: %1.2f, Z: %1.2f\n\r", 180*asin(x/sqrt(x*x+y*y+z*z))/ 3.14159, 180*asin(y/sqrt(x*x+y*y+z*z))/ 3.14159, 180*asin(z/sqrt(x*x+y*y+z*z))/ 3.14159); |
radovan | 0:d9eddc0c9344 | 34 | } |
radovan | 0:d9eddc0c9344 | 35 | } |