Zdenka Šibíková
/
FRDM_MMA8451Q
cv1
main.cpp@1:1567f5a4e96f, 2017-10-30 (annotated)
- Committer:
- zdenka
- Date:
- Mon Oct 30 16:12:27 2017 +0000
- Revision:
- 1:1567f5a4e96f
- Parent:
- 0:0472d2623223
accelerometer samplefilter
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
zdenka | 0:0472d2623223 | 1 | #include "mbed.h" |
zdenka | 0:0472d2623223 | 2 | #include "MMA8451Q.h" |
zdenka | 1:1567f5a4e96f | 3 | #include "SampleFilter.c" |
zdenka | 0:0472d2623223 | 4 | #if defined (TARGET_KL25Z) || defined (TARGET_KL46Z) |
zdenka | 0:0472d2623223 | 5 | PinName const SDA = PTE25; |
zdenka | 0:0472d2623223 | 6 | PinName const SCL = PTE24; |
zdenka | 0:0472d2623223 | 7 | #elif defined (TARGET_KL05Z) |
zdenka | 0:0472d2623223 | 8 | PinName const SDA = PTB4; |
zdenka | 0:0472d2623223 | 9 | PinName const SCL = PTB3; |
zdenka | 0:0472d2623223 | 10 | #elif defined (TARGET_K20D50M) |
zdenka | 0:0472d2623223 | 11 | PinName const SDA = PTB1; |
zdenka | 0:0472d2623223 | 12 | PinName const SCL = PTB0; |
zdenka | 0:0472d2623223 | 13 | #else |
zdenka | 0:0472d2623223 | 14 | #error TARGET NOT DEFINED |
zdenka | 0:0472d2623223 | 15 | #endif |
zdenka | 0:0472d2623223 | 16 | |
zdenka | 0:0472d2623223 | 17 | #define MMA8451_I2C_ADDRESS (0x1d<<1) |
zdenka | 1:1567f5a4e96f | 18 | Serial pc(USBTX, USBRX,115200); |
zdenka | 1:1567f5a4e96f | 19 | Ticker timeout; |
zdenka | 1:1567f5a4e96f | 20 | Ticker casovac; |
zdenka | 1:1567f5a4e96f | 21 | int pom=1; |
zdenka | 1:1567f5a4e96f | 22 | float a=0.95; |
zdenka | 1:1567f5a4e96f | 23 | float predposlednex=0.0; |
zdenka | 1:1567f5a4e96f | 24 | MMA8451Q acc(SDA, SCL, MMA8451_I2C_ADDRESS); |
zdenka | 1:1567f5a4e96f | 25 | static float x, y, z; |
zdenka | 1:1567f5a4e96f | 26 | SampleFilter filter; |
zdenka | 1:1567f5a4e96f | 27 | |
zdenka | 1:1567f5a4e96f | 28 | void attick(){ |
zdenka | 1:1567f5a4e96f | 29 | if(pom==1){ |
zdenka | 1:1567f5a4e96f | 30 | |
zdenka | 0:0472d2623223 | 31 | |
zdenka | 1:1567f5a4e96f | 32 | x = (acc.getAccX()); |
zdenka | 1:1567f5a4e96f | 33 | // y = (acc.getAccY()); |
zdenka | 1:1567f5a4e96f | 34 | //z = (acc.getAccZ()); |
zdenka | 1:1567f5a4e96f | 35 | //pc.printf("skuska\n\r"); |
zdenka | 1:1567f5a4e96f | 36 | SampleFilter_put(&filter,x); |
zdenka | 1:1567f5a4e96f | 37 | pc.printf("%f\n\r", SampleFilter_get(&filter)); |
zdenka | 0:0472d2623223 | 38 | |
zdenka | 1:1567f5a4e96f | 39 | } |
zdenka | 1:1567f5a4e96f | 40 | } |
zdenka | 1:1567f5a4e96f | 41 | void atstop(){pom=0;} |
zdenka | 0:0472d2623223 | 42 | int main(void) |
zdenka | 0:0472d2623223 | 43 | |
zdenka | 1:1567f5a4e96f | 44 | { |
zdenka | 1:1567f5a4e96f | 45 | SampleFilter_init(&filter); |
zdenka | 1:1567f5a4e96f | 46 | casovac.attach(&attick,0.00125); |
zdenka | 1:1567f5a4e96f | 47 | timeout.attach(&atstop,15.0); |
zdenka | 1:1567f5a4e96f | 48 | //pc.printf("zaciatok\n\r"); |
zdenka | 0:0472d2623223 | 49 | while (true) { |
zdenka | 1:1567f5a4e96f | 50 | /* float x, y, z; |
zdenka | 0:0472d2623223 | 51 | x = abs(acc.getAccX()); |
zdenka | 0:0472d2623223 | 52 | y = abs(acc.getAccY()); |
zdenka | 0:0472d2623223 | 53 | z = abs(acc.getAccZ()); |
zdenka | 0:0472d2623223 | 54 | rled = 1.0f - x; |
zdenka | 0:0472d2623223 | 55 | gled = 1.0f - y; |
zdenka | 0:0472d2623223 | 56 | bled = 1.0f - z; |
zdenka | 0:0472d2623223 | 57 | wait(0.1f); |
zdenka | 1:1567f5a4e96f | 58 | printf("X: %1.2f, Y: %1.2f, Z: %1.2f\n\r", x, y, z);*/ |
zdenka | 0:0472d2623223 | 59 | } |
zdenka | 0:0472d2623223 | 60 | } |