first accel code

Dependencies:   MMA8451Q mbed

Committer:
TheZaro
Date:
Wed Oct 28 19:37:27 2015 +0000
Revision:
2:ff965ab5160f
Parent:
1:953d19be0550
Child:
3:92a1d031708b
Booty round 2, comin' 4 u

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
aramnhammer 0:2227363aa617 19
aramnhammer 0:2227363aa617 20 // accel comes from MMA8451Q.CPP library
TheZaro 1:953d19be0550 21 struct xyz{
TheZaro 2:ff965ab5160f 22 float x;
TheZaro 2:ff965ab5160f 23 float y;
TheZaro 2:ff965ab5160f 24 float z;
TheZaro 1:953d19be0550 25 };
TheZaro 1:953d19be0550 26
aramnhammer 0:2227363aa617 27
TheZaro 2:ff965ab5160f 28
TheZaro 2:ff965ab5160f 29 void read_accel(struct xyz *data, MMA8451Q acc);
TheZaro 2:ff965ab5160f 30 void set_color(struct xyz *data);
TheZaro 2:ff965ab5160f 31 void send_data(struct xyz *data);
TheZaro 2:ff965ab5160f 32
TheZaro 2:ff965ab5160f 33
aramnhammer 0:2227363aa617 34 int main(void)
aramnhammer 0:2227363aa617 35 {
aramnhammer 0:2227363aa617 36 MMA8451Q acc(SDA, SCL, MMA8451_I2C_ADDRESS); // PTE25, PTE24
aramnhammer 0:2227363aa617 37 PwmOut rled(LED1); //
aramnhammer 0:2227363aa617 38 PwmOut gled(LED2);
aramnhammer 0:2227363aa617 39 PwmOut bled(LED3);
TheZaro 2:ff965ab5160f 40 float x = abs(acc.getAccX());
aramnhammer 0:2227363aa617 41
aramnhammer 0:2227363aa617 42 //printf("MMA8451 ID: %d\n", acc.getWhoAmI());
aramnhammer 0:2227363aa617 43
TheZaro 1:953d19be0550 44 while (true)
TheZaro 1:953d19be0550 45 {
TheZaro 1:953d19be0550 46 struct xyz data;
TheZaro 2:ff965ab5160f 47 read_accel(&data, acc);
TheZaro 2:ff965ab5160f 48 /*set_color(&data);*/
TheZaro 1:953d19be0550 49 send_data(&data);
TheZaro 1:953d19be0550 50 wait_ms(50);
aramnhammer 0:2227363aa617 51 }
aramnhammer 0:2227363aa617 52 }
TheZaro 1:953d19be0550 53
TheZaro 2:ff965ab5160f 54 void send_data(struct xyz *data){
TheZaro 2:ff965ab5160f 55 printf("X = %f1.3,", data->x);
TheZaro 2:ff965ab5160f 56 printf("Y = %f1.3,", data->y);
TheZaro 2:ff965ab5160f 57 printf("Z = %f1.3", data->z);
TheZaro 2:ff965ab5160f 58 }
TheZaro 2:ff965ab5160f 59
TheZaro 2:ff965ab5160f 60 void read_accel(struct xyz *data, MMA8451Q acc)
TheZaro 1:953d19be0550 61 {
TheZaro 2:ff965ab5160f 62 data->x = abs(acc.getAccX());
TheZaro 2:ff965ab5160f 63 data->y = abs(acc.getAccY());
TheZaro 2:ff965ab5160f 64 data->z = abs(acc.getAccZ());
TheZaro 1:953d19be0550 65
TheZaro 1:953d19be0550 66 }
TheZaro 1:953d19be0550 67
TheZaro 1:953d19be0550 68
TheZaro 2:ff965ab5160f 69 /*void set_color(struct *xyz data)
TheZaro 1:953d19be0550 70 {
TheZaro 1:953d19be0550 71 rled = 1.0f - data->x;
TheZaro 1:953d19be0550 72 gled = 1.0f - data->y;
TheZaro 1:953d19be0550 73 bled = 1.0f - data->z;
TheZaro 2:ff965ab5160f 74 }*/
TheZaro 1:953d19be0550 75
TheZaro 1:953d19be0550 76
TheZaro 1:953d19be0550 77
TheZaro 1:953d19be0550 78
TheZaro 1:953d19be0550 79
TheZaro 1:953d19be0550 80