working-est copy with class-based code. still open loop
Fork of analoghalls6 by
referencesynthesizers.cpp
- Committer:
- nki
- Date:
- 2015-03-03
- Revision:
- 5:ee1e6c84c302
- Parent:
- 3:0a2396597e0d
- Child:
- 6:99ee0ce47fb2
File content as of revision 5:ee1e6c84c302:
#include "includes.h" #include "meta.h" #include "lut.h" void SynchronousReferenceSynthesizer::GetReference(float angle, float *ref_d, float *ref_q) { *ref_d = _max_phase_current * LutSin(angle); *ref_q = 0.0f; } float ReferenceSynthesizer::LutSin(float theta) { if (theta < 0.0f) theta += 360.0f; if (theta >= 360.0f) theta -= 360.0f; return (sinetab[(int) theta]*2)-1.0f; //shift range 0:1 to -1:1 } float ReferenceSynthesizer::LutCos(float theta) { return LutSin(90.0f - theta); }