/* * ScaleCompute.cpp * * Author: Aleksey Gerasimenko * gerasimenko.aleksey.n@gmail.com */ #include "SYSCTRL/ScaleCompute.h" namespace SYSCTRL { //CONSTRUCTOR ScaleCompute::ScaleCompute(float& phase_a, float& phase_b, float& phase_c, float& scale_a, float& scale_b, float& scale_c): m_command(), m_enable(), // m_reference_value(FP_ZERO), // m_p_phase_a(phase_a), m_p_phase_b(phase_b), m_p_phase_c(phase_c), // m_p_scale_a(scale_a), m_p_scale_b(scale_b), m_p_scale_c(scale_c), // m_value_phase_a(FP_ZERO), m_value_phase_b(FP_ZERO), m_value_phase_c(FP_ZERO), // m_scale_phase_a(FP_ZERO), m_scale_phase_b(FP_ZERO), m_scale_phase_c(FP_ZERO) {}//CONSTRUCTOR #pragma CODE_SECTION("ramfuncs"); void ScaleCompute::set_reference(float reference) { m_reference_value = reference; // }// #pragma CODE_SECTION("ramfuncs"); void ScaleCompute::set_enable() { m_enable.bit.enable = 1; // }// #pragma CODE_SECTION("ramfuncs"); void ScaleCompute::clear_enable() { m_enable.bit.enable = 0; // }// #pragma CODE_SECTION("ramfuncs"); void ScaleCompute::fix() { if(m_enable.bit.enable == 1) { m_value_phase_a = m_p_phase_a; m_value_phase_b = m_p_phase_b; m_value_phase_c = m_p_phase_c; // m_scale_phase_a = new_scale_compute(m_reference_value, m_value_phase_a, m_p_scale_a); m_scale_phase_b = new_scale_compute(m_reference_value, m_value_phase_b, m_p_scale_b); m_scale_phase_c = new_scale_compute(m_reference_value, m_value_phase_c, m_p_scale_c); // m_p_scale_a = m_scale_phase_a; m_p_scale_b = m_scale_phase_b; m_p_scale_c = m_scale_phase_c; // }//if }// #pragma CODE_SECTION("ramfuncs"); inline float ScaleCompute::new_scale_compute(float ref, float value, float scale) { // if((value != FP_ZERO) && (ref != FP_ZERO)) { return ref * scale / value; // } else { return scale; // }//if else // }// } /* namespace SYSCTRL */