corrections altb2

Dependencies:   FastPWM

Committer:
altb2
Date:
Tue Aug 24 12:34:00 2021 +0000
Revision:
3:8aa09988fa58
Parent:
0:d2e117716219
corrected memory allocation in class

Who changed what in which revision?

UserRevisionLine numberNew contents of line
altb2 0:d2e117716219 1 /*
altb2 0:d2e117716219 2 */
altb2 0:d2e117716219 3
altb2 0:d2e117716219 4 #include "Unwrapper_2pi.h"
altb2 0:d2e117716219 5 #define pi 3.141592653589793
altb2 0:d2e117716219 6 using namespace std;
altb2 0:d2e117716219 7
altb2 0:d2e117716219 8 Unwrapper_2pi::Unwrapper_2pi(void)
altb2 0:d2e117716219 9 {
altb2 0:d2e117716219 10 last_value = 0.0;
altb2 0:d2e117716219 11 turns = 0;
altb2 0:d2e117716219 12 }
altb2 0:d2e117716219 13
altb2 0:d2e117716219 14 Unwrapper_2pi::~Unwrapper_2pi() {}
altb2 0:d2e117716219 15
altb2 0:d2e117716219 16 void Unwrapper_2pi::reset(void)
altb2 0:d2e117716219 17 {
altb2 0:d2e117716219 18 last_value = 0.0;
altb2 0:d2e117716219 19 turns = 0;
altb2 0:d2e117716219 20 }
altb2 0:d2e117716219 21
altb2 0:d2e117716219 22 float Unwrapper_2pi::doStep(float in)
altb2 0:d2e117716219 23 {
altb2 0:d2e117716219 24 float temp = in + 2*pi*(float)turns;
altb2 0:d2e117716219 25 if((temp - last_value) > pi){
altb2 0:d2e117716219 26 temp -= 2*pi;
altb2 0:d2e117716219 27 turns--;
altb2 0:d2e117716219 28 }
altb2 0:d2e117716219 29 else if((temp - last_value) < -pi){
altb2 0:d2e117716219 30 temp += 2*pi;
altb2 0:d2e117716219 31 turns++;
altb2 0:d2e117716219 32 }
altb2 0:d2e117716219 33 last_value = temp;
altb2 0:d2e117716219 34 return (temp);
altb2 0:d2e117716219 35 }