Simple program for introduction of mirror actuator.

Committer:
altb2
Date:
Sat May 01 20:08:51 2021 +0000
Revision:
14:1be03d1c45c7
Parent:
13:1bf960928a93
2nd commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
altb2 13:1bf960928a93 1 #include "LinearCharacteristics.h"
altb2 13:1bf960928a93 2
altb2 13:1bf960928a93 3 using namespace std;
altb2 13:1bf960928a93 4
altb2 13:1bf960928a93 5 LinearCharacteristics::LinearCharacteristics(float gain,float offset){ // standard lin characteristics
altb2 13:1bf960928a93 6 this->gain = gain;
altb2 13:1bf960928a93 7 this->offset = offset;
altb2 13:1bf960928a93 8 this->ulim = 999999.0;
altb2 13:1bf960928a93 9 this->llim = -999999.0;
altb2 13:1bf960928a93 10 }
altb2 13:1bf960928a93 11
altb2 13:1bf960928a93 12 LinearCharacteristics::LinearCharacteristics(float xmin,float xmax, float ymin, float ymax){ // standard lin characteristics
altb2 13:1bf960928a93 13 this->gain = (ymax - ymin)/(xmax - xmin);
altb2 13:1bf960928a93 14 this->offset = xmax - ymax/this->gain;
altb2 13:1bf960928a93 15 this->ulim = 999999.0;
altb2 13:1bf960928a93 16 this->llim = -999999.0;
altb2 13:1bf960928a93 17
altb2 13:1bf960928a93 18 }
altb2 13:1bf960928a93 19 LinearCharacteristics::LinearCharacteristics(float xmin,float xmax, float ymin, float ymax,float ll, float ul){ // standard lin characteristics
altb2 13:1bf960928a93 20 this->gain = (ymax - ymin)/(xmax - xmin);
altb2 13:1bf960928a93 21 this->offset = xmax - ymax/this->gain;
altb2 13:1bf960928a93 22 this->llim = ll;
altb2 13:1bf960928a93 23 this->ulim = ul;
altb2 13:1bf960928a93 24
altb2 13:1bf960928a93 25 }
altb2 13:1bf960928a93 26
altb2 13:1bf960928a93 27 LinearCharacteristics::~LinearCharacteristics() {}
altb2 13:1bf960928a93 28
altb2 13:1bf960928a93 29
altb2 13:1bf960928a93 30 float LinearCharacteristics::evaluate(float x)
altb2 13:1bf960928a93 31 {
altb2 13:1bf960928a93 32 float dum = this->gain*(x - this->offset);
altb2 13:1bf960928a93 33 if(dum > this->ulim)
altb2 13:1bf960928a93 34 dum = this->ulim;
altb2 13:1bf960928a93 35 if(dum < this->llim)
altb2 13:1bf960928a93 36 dum = this->llim;
altb2 13:1bf960928a93 37 return dum;
altb2 13:1bf960928a93 38 }
altb2 13:1bf960928a93 39
altb2 13:1bf960928a93 40 void LinearCharacteristics::setup(float xmin,float xmax, float ymin, float ymax){ // standard lin characteristics
altb2 13:1bf960928a93 41 this->gain = (ymax - ymin)/(xmax - xmin);
altb2 13:1bf960928a93 42 this->offset = xmax - ymax/this->gain;
altb2 13:1bf960928a93 43 this->ulim = 999999.0;
altb2 13:1bf960928a93 44 this->llim = -999999.0;
altb2 13:1bf960928a93 45 }
altb2 13:1bf960928a93 46 void LinearCharacteristics::setup(float xmin,float xmax, float ymin, float ymax,float ll, float ul){ // standard lin characteristics
altb2 13:1bf960928a93 47 this->gain = (ymax - ymin)/(xmax - xmin);
altb2 13:1bf960928a93 48 this->offset = xmax - ymax/this->gain;
altb2 13:1bf960928a93 49 this->llim = ll;
altb2 13:1bf960928a93 50 this->ulim = ul;
altb2 13:1bf960928a93 51 }
altb2 13:1bf960928a93 52