University project with FRDM-KL25Z

Dependencies:   mbed MMA8451Q

Committer:
rolandtamas
Date:
Tue Jan 04 11:05:22 2022 +0000
Revision:
0:81d50ca17412
Child:
1:d60a7ce97623
Initial commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
rolandtamas 0:81d50ca17412 1 #include "mbed.h"
rolandtamas 0:81d50ca17412 2 #include "MMA8451Q.h"
rolandtamas 0:81d50ca17412 3
rolandtamas 0:81d50ca17412 4 #if defined (TARGET_KL25Z) || defined (TARGET_KL46Z)
rolandtamas 0:81d50ca17412 5 PinName const SDA = PTE25;
rolandtamas 0:81d50ca17412 6 PinName const SCL = PTE24;
rolandtamas 0:81d50ca17412 7 #elif defined (TARGET_KL05Z)
rolandtamas 0:81d50ca17412 8 PinName const SDA = PTB4;
rolandtamas 0:81d50ca17412 9 PinName const SCL = PTB3;
rolandtamas 0:81d50ca17412 10 #elif defined (TARGET_K20D50M)
rolandtamas 0:81d50ca17412 11 PinName const SDA = PTB1;
rolandtamas 0:81d50ca17412 12 PinName const SCL = PTB0;
rolandtamas 0:81d50ca17412 13 #else
rolandtamas 0:81d50ca17412 14 #error TARGET NOT DEFINED
rolandtamas 0:81d50ca17412 15 #endif
rolandtamas 0:81d50ca17412 16
rolandtamas 0:81d50ca17412 17 #define MMA8451_I2C_ADDRESS (0x1d<<1)
rolandtamas 0:81d50ca17412 18 #define MAXBLINKSPEED 0.8
rolandtamas 0:81d50ca17412 19
rolandtamas 0:81d50ca17412 20 int main(void)
rolandtamas 0:81d50ca17412 21 {
rolandtamas 0:81d50ca17412 22 MMA8451Q acc(SDA, SCL, MMA8451_I2C_ADDRESS);
rolandtamas 0:81d50ca17412 23 PwmOut rled(LED1);
rolandtamas 0:81d50ca17412 24 PwmOut gled(LED2);
rolandtamas 0:81d50ca17412 25 //PwmOut bled(LED3);
rolandtamas 0:81d50ca17412 26
rolandtamas 0:81d50ca17412 27 printf("MMA8451 ID: %d\n", acc.getWhoAmI());
rolandtamas 0:81d50ca17412 28
rolandtamas 0:81d50ca17412 29 while (true) {
rolandtamas 0:81d50ca17412 30 float x;
rolandtamas 0:81d50ca17412 31 x = acc.getAccX();
rolandtamas 0:81d50ca17412 32 if(x < 0.0) {
rolandtamas 0:81d50ca17412 33 rled = 1.0f;
rolandtamas 0:81d50ca17412 34 wait(MAXBLINKSPEED * abs(x));
rolandtamas 0:81d50ca17412 35 rled = 0.0f;
rolandtamas 0:81d50ca17412 36 }
rolandtamas 0:81d50ca17412 37 else if(x>=0.0){
rolandtamas 0:81d50ca17412 38 gled = 1.0f;
rolandtamas 0:81d50ca17412 39 wait(MAXBLINKSPEED * abs(x));
rolandtamas 0:81d50ca17412 40 gled = 0.0f;
rolandtamas 0:81d50ca17412 41 }
rolandtamas 0:81d50ca17412 42 //rled = 1.0f - x;
rolandtamas 0:81d50ca17412 43 //gled = 1.0f - y;
rolandtamas 0:81d50ca17412 44 //bled = 1.0f - z;
rolandtamas 0:81d50ca17412 45 //wait(0.1f);
rolandtamas 0:81d50ca17412 46 printf("X: %1.2f\n", x);
rolandtamas 0:81d50ca17412 47 }
rolandtamas 0:81d50ca17412 48 }