#include "rte_control_vectorial_parameters.h"
#include "control_vectorial.h"
#include "control_vectorial_cal.h"

RTE_Param_Service_T RTE_Param_Service = {
  0.001094,
  486.21,
  2.451,
  0.0059964705882352949,
  340.0,
  138.80441875771342,
  0.012566370614359173,
  954.92965855137209,
  0.56252285191956131,
  7.1884606696549863E+7,
  552.16119597010072,
  310.60329067641686,
  196.0,
  6.0,
  2978.4630237671513
};

RTE_Param_Service_T *RTE_Param_Service_ptr = &RTE_Param_Service;
real_T* get_Lq(void)
{
  return &RTE_Param_Service_ptr->Lq;
}

real_T* get_Potencia(void)
{
  return &RTE_Param_Service_ptr->Potencia;
}

real_T* get_T_max(void)
{
  return &RTE_Param_Service_ptr->T_max;
}

real_T* get_V_alinear(void)
{
  return &RTE_Param_Service_ptr->V_alinear;
}

real_T* get_Vdc(void)
{
  return &RTE_Param_Service_ptr->Vdc;
}

real_T* get_Vmax(void)
{
  return &RTE_Param_Service_ptr->Vmax;
}

real_T* get_cte_encoder(void)
{
  return &RTE_Param_Service_ptr->cte_encoder;
}

real_T* get_gain_velocidad(void)
{
  return &RTE_Param_Service_ptr->gain_velocidad;
}

real_T* get_k(void)
{
  return &RTE_Param_Service_ptr->k;
}

real_T* get_ki_iq(void)
{
  return &RTE_Param_Service_ptr->ki_iq;
}

real_T* get_kp_id(void)
{
  return &RTE_Param_Service_ptr->kp_id;
}

real_T* get_kp_iq(void)
{
  return &RTE_Param_Service_ptr->kp_iq;
}

real_T* get_n_lim_direccion(void)
{
  return &RTE_Param_Service_ptr->n_lim_direccion;
}

real_T* get_p(void)
{
  return &RTE_Param_Service_ptr->p;
}

real_T* get_wb(void)
{
  return &RTE_Param_Service_ptr->wb;
}

extern control_vectorial_cal_type control_vectorial_cal_impl;
extern RTE_Param_Service_T RTE_Param_Service;
namespace slrealtime
{
  /* Description of SEGMENTS */
  SegmentVector segmentInfo {
    { (void*)&RTE_Param_Service, (void**)&RTE_Param_Service_ptr, sizeof
      (RTE_Param_Service_T), 2 },

    { (void*)&control_vectorial_cal_impl, (void**)&control_vectorial_cal, sizeof
      (control_vectorial_cal_type), 2 }
  };

  SegmentVector &getSegmentVector(void)
  {
    return segmentInfo;
  }
}                                      // slrealtime
