first accel code

Dependencies:   MMA8451Q mbed

Committer:
TheZaro
Date:
Wed Oct 28 04:55:35 2015 +0000
Revision:
1:953d19be0550
Parent:
0:2227363aa617
Child:
2:ff965ab5160f
Booty poppin'; and I ain't stoppin'

Who changed what in which revision?

UserRevisionLine numberNew contents of line
aramnhammer 0:2227363aa617 1 #include "mbed.h"
aramnhammer 0:2227363aa617 2 #include "MMA8451Q.h"
aramnhammer 0:2227363aa617 3
aramnhammer 0:2227363aa617 4 #if defined (TARGET_KL25Z) || defined (TARGET_KL46Z)
aramnhammer 0:2227363aa617 5 PinName const SDA = PTE25;
aramnhammer 0:2227363aa617 6 PinName const SCL = PTE24;
aramnhammer 0:2227363aa617 7 #elif defined (TARGET_KL05Z)
aramnhammer 0:2227363aa617 8 PinName const SDA = PTB4;
aramnhammer 0:2227363aa617 9 PinName const SCL = PTB3;
aramnhammer 0:2227363aa617 10 #elif defined (TARGET_K20D50M)
aramnhammer 0:2227363aa617 11 PinName const SDA = PTB1;
aramnhammer 0:2227363aa617 12 PinName const SCL = PTB0;
aramnhammer 0:2227363aa617 13 #else
aramnhammer 0:2227363aa617 14 #error TARGET NOT DEFINED
aramnhammer 0:2227363aa617 15 #endif
aramnhammer 0:2227363aa617 16
aramnhammer 0:2227363aa617 17 #define MMA8451_I2C_ADDRESS (0x1d<<1) // accel address
aramnhammer 0:2227363aa617 18
TheZaro 1:953d19be0550 19 void read_accel(struct *xyz data);
TheZaro 1:953d19be0550 20 void set_color(struct *xyz data);
aramnhammer 0:2227363aa617 21
aramnhammer 0:2227363aa617 22 // accel comes from MMA8451Q.CPP library
TheZaro 1:953d19be0550 23 struct xyz{
TheZaro 1:953d19be0550 24 unsigned int x = 0;
TheZaro 1:953d19be0550 25 unsigned int y = 0;
TheZaro 1:953d19be0550 26 unsigned int z = 0;
TheZaro 1:953d19be0550 27 };
TheZaro 1:953d19be0550 28
aramnhammer 0:2227363aa617 29
aramnhammer 0:2227363aa617 30 int main(void)
aramnhammer 0:2227363aa617 31 {
aramnhammer 0:2227363aa617 32 MMA8451Q acc(SDA, SCL, MMA8451_I2C_ADDRESS); // PTE25, PTE24
aramnhammer 0:2227363aa617 33 PwmOut rled(LED1); //
aramnhammer 0:2227363aa617 34 PwmOut gled(LED2);
aramnhammer 0:2227363aa617 35 PwmOut bled(LED3);
aramnhammer 0:2227363aa617 36
aramnhammer 0:2227363aa617 37 //printf("MMA8451 ID: %d\n", acc.getWhoAmI());
aramnhammer 0:2227363aa617 38
TheZaro 1:953d19be0550 39 while (true)
TheZaro 1:953d19be0550 40 {
TheZaro 1:953d19be0550 41 struct xyz data;
TheZaro 1:953d19be0550 42 read_accel(&data);
TheZaro 1:953d19be0550 43 set_color(&data);
TheZaro 1:953d19be0550 44 send_data(&data);
TheZaro 1:953d19be0550 45 wait_ms(50);
TheZaro 1:953d19be0550 46 printf("%1.3f\r\n",z); /* 1.3f sets output to 3-precision */
aramnhammer 0:2227363aa617 47 }
TheZaro 1:953d19be0550 48 return 0;
aramnhammer 0:2227363aa617 49 }
TheZaro 1:953d19be0550 50
TheZaro 1:953d19be0550 51 void read_accel(struct *xyz data)
TheZaro 1:953d19be0550 52 {
TheZaro 1:953d19be0550 53
TheZaro 1:953d19be0550 54 data.x = abs(acc.getAccX());
TheZaro 1:953d19be0550 55 data.y = abs(acc.getAccY());
TheZaro 1:953d19be0550 56 data.z = abs(acc.getAccZ());
TheZaro 1:953d19be0550 57
TheZaro 1:953d19be0550 58 }
TheZaro 1:953d19be0550 59
TheZaro 1:953d19be0550 60
TheZaro 1:953d19be0550 61 void set_color(struct *xyz data)
TheZaro 1:953d19be0550 62 {
TheZaro 1:953d19be0550 63 rled = 1.0f - data->x;
TheZaro 1:953d19be0550 64 gled = 1.0f - data->y;
TheZaro 1:953d19be0550 65 bled = 1.0f - data->z;
TheZaro 1:953d19be0550 66 }
TheZaro 1:953d19be0550 67
TheZaro 1:953d19be0550 68
TheZaro 1:953d19be0550 69
TheZaro 1:953d19be0550 70
TheZaro 1:953d19be0550 71
TheZaro 1:953d19be0550 72