//-------------------------------------------------------// // Project Code : CodeLibrary // File Name : Ramp.cpp // Created on : 2019. 06. 07. // Description : // Author : KimJeongWoo // Last modified Date : //-------------------------------------------------------// #include "Ramp.h" void sRampGen::Init(float *InData, float *InDelt, float Tprd) { pInData = (float *) InData; pInDelt = (float *) InDelt; TprdCnt = 1 / Tprd; Reset(); UpdateSlope(); } float sRampGen::Run(void) { in = (float) *pInData; if (fabs(in - out) < DelMag) out = in; else if (in > (out - DelMag)) out += DelMag; else if (in < (out + DelMag)) out -= DelMag; else out = in; return out; } float sRampGen::RunStepDown(void) { in = (float) *pInData; if (fabs(in - out) < DelMag) out = in; else if (in < (out + DelMag)) out -= DelMag; else out = in; return out; } float sRampGen::RunStepUp(void) { in = (float) *pInData; if (fabs(in - out) < DelMag) out = in; else if (in > (out - DelMag)) out += DelMag; else out = in; return out; } void sRampGen::Reset(void) { in = 0; out = 0; } void sRampGen::UpdateSlope(void) { Delt = (float) *pInDelt; DelMag = Delt / TprdCnt; }