Mirror actuator for RT2 lab

Dependencies:   FastPWM

Library_Misc/Unwrapper_2pi.cpp

Committer:
altb2
Date:
2021-05-02
Revision:
16:28b6bb8a4b7f
Parent:
15:9f32f64eee5b

File content as of revision 16:28b6bb8a4b7f:

/*  
*/

#include "Unwrapper_2pi.h"
#define   pi 3.141592653589793
using namespace std;

Unwrapper_2pi::Unwrapper_2pi(void)
{   
    last_value = 0.0;
    turns = 0;
}

Unwrapper_2pi::~Unwrapper_2pi() {}

void Unwrapper_2pi::reset(void)
{
    last_value = 0.0;
    turns = 0;
}

float Unwrapper_2pi::doStep(float in)
{
    float temp = in + 2*pi*(float)turns;
    if((temp - last_value) > pi){
        temp -= 2*pi;
        turns--;
        }
    else if((temp - last_value) < -pi){
        temp += 2*pi;
        turns++;
        }
    last_value = temp;
    return (temp);
}