Miroslaw K. / Mbed 2 deprecated 3DDemo

Dependencies:   BSP_DISCO_F746NG Graphics mbed

Committer:
karpent
Date:
Sun Nov 06 02:14:34 2016 +0000
Revision:
0:8acbce46eede
Child:
1:4a5e329e617b
Initial revision with square 3D model.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
karpent 0:8acbce46eede 1 //
karpent 0:8acbce46eede 2 // Angle.cpp
karpent 0:8acbce46eede 3 //
karpent 0:8acbce46eede 4
karpent 0:8acbce46eede 5 #include "mbed.h" // for AnalogIn
karpent 0:8acbce46eede 6 #include "Angle.h"
karpent 0:8acbce46eede 7
karpent 0:8acbce46eede 8 #ifdef ARDUINO
karpent 0:8acbce46eede 9 int anglePin = 0;
karpent 0:8acbce46eede 10 #else
karpent 0:8acbce46eede 11 AnalogIn angleRead(A0);
karpent 0:8acbce46eede 12 #endif
karpent 0:8acbce46eede 13
karpent 0:8acbce46eede 14 Angle::Angle()
karpent 0:8acbce46eede 15 {
karpent 0:8acbce46eede 16 angle = 0;
karpent 0:8acbce46eede 17 direction = Left;
karpent 0:8acbce46eede 18 delta = 1.0f;
karpent 0:8acbce46eede 19 }
karpent 0:8acbce46eede 20
karpent 0:8acbce46eede 21 float Angle::GetAngle()
karpent 0:8acbce46eede 22 {
karpent 0:8acbce46eede 23 if(direction == Left) {
karpent 0:8acbce46eede 24 angle += delta;
karpent 0:8acbce46eede 25 if(angle > FULL_ANGLE) {
karpent 0:8acbce46eede 26 angle -= FULL_ANGLE;
karpent 0:8acbce46eede 27 }
karpent 0:8acbce46eede 28 } else { // Right
karpent 0:8acbce46eede 29 angle -= delta;
karpent 0:8acbce46eede 30 if(angle < 0) {
karpent 0:8acbce46eede 31 angle += FULL_ANGLE;
karpent 0:8acbce46eede 32 }
karpent 0:8acbce46eede 33 }
karpent 0:8acbce46eede 34 return angle;
karpent 0:8acbce46eede 35 }
karpent 0:8acbce46eede 36
karpent 0:8acbce46eede 37 /// Read the rotation angle from a potentiometer attached to pin A0
karpent 0:8acbce46eede 38 float Angle::ReadAngle()
karpent 0:8acbce46eede 39 {
karpent 0:8acbce46eede 40 #ifdef ARDUINO
karpent 0:8acbce46eede 41 angle = analogRead(anglePin);
karpent 0:8acbce46eede 42 #else
karpent 0:8acbce46eede 43 angle = angleRead;
karpent 0:8acbce46eede 44 #endif
karpent 0:8acbce46eede 45
karpent 0:8acbce46eede 46 return angle/1024.f * FULL_ANGLE;
karpent 0:8acbce46eede 47 }