![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
Cyber Physical Systems Mark Roche LAB 2
main.cpp@0:0d335e3eea24, 2022-05-11 (annotated)
- Committer:
- mark_roche
- Date:
- Wed May 11 17:09:09 2022 +0000
- Revision:
- 0:0d335e3eea24
- Child:
- 1:3a0dea78e0c5
Cyber Physical Systems; ; Mark Roche LAB 2
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
mark_roche | 0:0d335e3eea24 | 1 | |
mark_roche | 0:0d335e3eea24 | 2 | #include "mbed.h" |
mark_roche | 0:0d335e3eea24 | 3 | #include "MMA7660.h" |
mark_roche | 0:0d335e3eea24 | 4 | |
mark_roche | 0:0d335e3eea24 | 5 | MMA7660 MMA(p28, p27); |
mark_roche | 0:0d335e3eea24 | 6 | |
mark_roche | 0:0d335e3eea24 | 7 | #define PI 3.14159265 |
mark_roche | 0:0d335e3eea24 | 8 | |
mark_roche | 0:0d335e3eea24 | 9 | DigitalOut connectionLed(LED1); |
mark_roche | 0:0d335e3eea24 | 10 | |
mark_roche | 0:0d335e3eea24 | 11 | float calculateAngle(float x, float y, float z){ |
mark_roche | 0:0d335e3eea24 | 12 | float angle = 0; |
mark_roche | 0:0d335e3eea24 | 13 | |
mark_roche | 0:0d335e3eea24 | 14 | float top_part = x; |
mark_roche | 0:0d335e3eea24 | 15 | float bott_part = sqrt((y*y)+(z*z)); |
mark_roche | 0:0d335e3eea24 | 16 | float res = atan(top_part/bott_part); |
mark_roche | 0:0d335e3eea24 | 17 | float val = 180.0 / PI; |
mark_roche | 0:0d335e3eea24 | 18 | angle = res * val; |
mark_roche | 0:0d335e3eea24 | 19 | return angle; |
mark_roche | 0:0d335e3eea24 | 20 | } |
mark_roche | 0:0d335e3eea24 | 21 | |
mark_roche | 0:0d335e3eea24 | 22 | |
mark_roche | 0:0d335e3eea24 | 23 | |
mark_roche | 0:0d335e3eea24 | 24 | int main() { |
mark_roche | 0:0d335e3eea24 | 25 | if (MMA.testConnection()) |
mark_roche | 0:0d335e3eea24 | 26 | connectionLed = 1; |
mark_roche | 0:0d335e3eea24 | 27 | printf("\r\n\n"); |
mark_roche | 0:0d335e3eea24 | 28 | while(1) { |
mark_roche | 0:0d335e3eea24 | 29 | float res = calculateAngle(MMA.x(), MMA.y(), MMA.z()); |
mark_roche | 0:0d335e3eea24 | 30 | printf("angle = %f \r", res); |
mark_roche | 0:0d335e3eea24 | 31 | wait(1); |
mark_roche | 0:0d335e3eea24 | 32 | |
mark_roche | 0:0d335e3eea24 | 33 | } |
mark_roche | 0:0d335e3eea24 | 34 | } |