Dependencies:   mbed MMA7660

Committer:
johnc89
Date:
Sat Apr 17 17:35:23 2021 +0000
Revision:
4:efd9328bb9f0
Parent:
3:7380a26ac26f
Child:
5:72d55b40feef
Lab 3 Testing code

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Sissors 0:bd0546063b0a 1
Sissors 0:bd0546063b0a 2 #include "mbed.h"
Sissors 0:bd0546063b0a 3 #include "MMA7660.h"
johnc89 4:efd9328bb9f0 4 #include <stdio.h>
johnc89 4:efd9328bb9f0 5 #include <math.h>
johnc89 4:efd9328bb9f0 6 #define PI 3.14159265
johnc89 3:7380a26ac26f 7 Serial pc(USBTX,USBRX);// serial communications
Sissors 0:bd0546063b0a 8 MMA7660 MMA(p28, p27);
Sissors 0:bd0546063b0a 9
Sissors 0:bd0546063b0a 10 DigitalOut connectionLed(LED1);
johnc89 4:efd9328bb9f0 11
johnc89 4:efd9328bb9f0 12 float calculateAngle(float x, float y, float z, float val, float ret){
johnc89 4:efd9328bb9f0 13 float angle =0;
johnc89 4:efd9328bb9f0 14
johnc89 4:efd9328bb9f0 15 val = 180.0 / PI;
johnc89 4:efd9328bb9f0 16
johnc89 4:efd9328bb9f0 17 ret = atan (x) * val;
johnc89 4:efd9328bb9f0 18 ret = atan (y) * val;
johnc89 4:efd9328bb9f0 19 ret = atan (z) * val;
johnc89 4:efd9328bb9f0 20 printf("The arc tangent of %lf. %lf, %lf is %lf degrees \n\r ", x, y, z, ret);
johnc89 4:efd9328bb9f0 21
johnc89 4:efd9328bb9f0 22
johnc89 4:efd9328bb9f0 23 return angle;
johnc89 4:efd9328bb9f0 24 }
Sissors 0:bd0546063b0a 25
Sissors 0:bd0546063b0a 26 int main() {
Sissors 0:bd0546063b0a 27 if (MMA.testConnection())
Sissors 0:bd0546063b0a 28 connectionLed = 1;
Sissors 0:bd0546063b0a 29
Sissors 0:bd0546063b0a 30 while(1) {
johnc89 4:efd9328bb9f0 31 float val;
johnc89 4:efd9328bb9f0 32 float ret;
johnc89 4:efd9328bb9f0 33 pc.printf ("%f, \r\n", calculateAngle (MMA.x(), MMA.y(), MMA.z(),val,ret ));
johnc89 3:7380a26ac26f 34 wait (0.5);
Sissors 0:bd0546063b0a 35 }
Sissors 0:bd0546063b0a 36
Sissors 0:bd0546063b0a 37 }