/*
 * File:   Ruedas.h
 * Author: Christian
 *
 * Created on 30 de marzo de 2018, 22:51
 */


// This is a guard condition so that contents of this file are not included
// more than once.  
#ifndef RUEDAS_H
#define	RUEDAS_H


extern int MinPowerDC1;
extern int MinPowerDC2;
extern int MinPowerDC3;
extern int MinPowerDC4;

extern int MaxPowerDC1;
extern int MaxPowerDC2;
extern int MaxPowerDC3;
extern int MaxPowerDC4;
    
void RUEDAS_update_correction_coeficients(void);

extern volatile char RUEDAS_ENABLED;
extern volatile int Right_p1000;
extern volatile int Left_p1000;

/**
  @Summary
    Inicializar ruedas
*/
void Inic_Ruedas(void);

/**
  @Summary
    Activar ruedas.
  @Description
    Habilita el uso de las ruedas activando los puentes en H.
*/
void enable_RUEDAS(void);
/**
  @Summary
    Desactivar ruedas.
  @Description
    Deshabilita el uso de las ruedas desactivando los puentes en H.
*/
void disable_RUEDAS(void);

/**
  @Summary
    Incrementa la velocidad de las ruedas en una 1/1000 del ciclo de trabajo del PWM.
*/
void RUEDAS_Forward(void);
/**
  @Summary
    Decrementa la velocidad de las ruedas en una 1/1000 del ciclo de trabajo del PWM.
*/
void RUEDAS_Backward(void);

/**
  @Summary
    Establecer velocidad de la rueda derecha.
  @Description
    Establecer velocidad de la rueda derecha en tanto por ceinto.
  @Param
    int percent = tanto por ciento.
*/
void RUEDAS_setSpeed_right_p100(int);
/**
  @Summary
    Establecer velocidad de la rueda izquierda.
  @Description
    Establecer velocidad de la rueda izquierda en tanto por ceinto.
  @Param
    int percent = tanto por ciento.
*/
void RUEDAS_setSpeed_left_p100(int);
/**
  @Summary
    Establecer velocidad de la rueda derecha.
  @Description
    Establecer velocidad de la rueda derecha en tanto por mil.
  @Param
    int perthousand = tanto por mil.
*/
void RUEDAS_setSpeed_right_p1000(int);
/**
  @Summary
    Establecer velocidad de la rueda izquierda.
  @Description
    Establecer velocidad de la rueda izquierda en tanto por mil.
  @Param
    int perthousand = tanto por mil.
*/
void RUEDAS_setSpeed_left_p1000(int);

#endif	/* XC_HEADER_TEMPLATE_H */

