Skip to content

Commit b4675dc

Browse files
committed
Añade Docker a las funciones
1 parent c99d1e9 commit b4675dc

File tree

2 files changed

+105
-22
lines changed

2 files changed

+105
-22
lines changed

PIDfromBT.cpp

Lines changed: 50 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,14 @@
77

88
#include <PIDfromBT.h>
99

10+
/**
11+
* Constructor del objeto PIDfromBT de tipo PIDV; Proporcional, Integral, Derivada, Velocidad
12+
* @param kp Referencia a la constante de Proporcionalidad
13+
* @param ki Referencia a la constante de Integración
14+
* @param kd Referencia a la constante de Derivación
15+
* @param vel Reverencia a la variable de Velocidad
16+
* @param debug Parámetro que indica si se imprimirán los valores establecidos
17+
*/
1018
PIDfromBT::PIDfromBT(float* kp, float* ki, float* kd, int* vel, bool debug)
1119
{
1220
_kp = kp; // P
@@ -21,6 +29,15 @@ PIDfromBT::PIDfromBT(float* kp, float* ki, float* kd, int* vel, bool debug)
2129
_type = TYPE_PIDV;
2230
}
2331

32+
/**
33+
* Constructor del objeto PIDfromBT de tipo PIDVI; Proporcional, Integral, Derivada, Velocidad, Ideal
34+
* @param kp Referencia a la constante de Proporcionalidad
35+
* @param ki Referencia a la constante de Integración
36+
* @param kd Referencia a la constante de Derivación
37+
* @param vel Reverencia a la variable de Velocidad
38+
* @param ideal Referencia a la variable de Ideal o Consigna de Posición
39+
* @param debug Parámetro que indica si se imprimirán los valores establecidos
40+
*/
2441
PIDfromBT::PIDfromBT(float* kp, float* ki, float* kd, int* vel, int* ideal, bool debug)
2542
{
2643
_kp = kp; // P
@@ -38,6 +55,16 @@ PIDfromBT::PIDfromBT(float* kp, float* ki, float* kd, int* vel, int* ideal, bool
3855
_type = TYPE_PIDVI;
3956
}
4057

58+
/**
59+
* Constructor del objeto PIDfromBT de tipo PIDVIS; Proporcional, Integral, Derivada, Velocidad, Ideal, Succión
60+
* @param kp Referencia a la constante de Proporcionalidad
61+
* @param ki Referencia a la constante de Integración
62+
* @param kd Referencia a la constante de Derivación
63+
* @param vel Reverencia a la variable de Velocidad
64+
* @param ideal Referencia a la variable de Ideal o Consigna de Posición
65+
* @param suction Referencia a la variable de Succion o Velocidad del Ventilador/Turbina
66+
* @param debug Parámetro que indica si se imprimirán los valores establecidos
67+
*/
4168
PIDfromBT::PIDfromBT(float* kp, float* ki, float* kd, int* vel, int* ideal, int* suction, bool debug)
4269
{
4370
_kp = kp; // P
@@ -56,34 +83,41 @@ PIDfromBT::PIDfromBT(float* kp, float* ki, float* kd, int* vel, int* ideal, int*
5683
_type = TYPE_PIDVIS;
5784
}
5885

59-
86+
/**
87+
* Función para comprobar si existen comandos pendientes en el Buffer de entrada; debe ejecutarse
88+
* esta función al menos una vez por cada ciclo de ejecución
89+
*/
6090
void PIDfromBT::update() {
6191
if (Serial.available()) {
62-
// Si hay algo pendiente en el Buffer, lo lee y guarda el tiempo en el que lo leyo.
92+
// Si hay algo pendiente en el Buffer, lo lee y guarda el tiempo en el que lo leyó
6393
_last_update = millis();
6494
byte readByte = Serial.read();
6595

6696
if ((isDigit((char)readByte) || (char)readByte == '.' || (char)readByte == '-')) {
67-
// Si es un dígito, signo decimal o signo negativo, lo guarda como un valor.
97+
// Si es un dígito, signo decimal o signo negativo, lo guarda como un valor
6898
_value += (char)readByte;
6999
}else{
70100
if(_letter != ' '){
71-
// Si es una letra y ya hay otra letra ya leída, ejecuta la acción correspondiente a esa letra.
101+
// Si es una letra y ya hay otra letra ya leída, ejecuta la acción correspondiente a esa letra
72102
execute_task(_letter, (_value!="")?_value.toFloat():0);
73103
}
74-
// Llega una nueva letra; limpia el _value anterior y lee la nueva letra.
104+
// Llega una nueva letra; limpia el _value anterior y lee la nueva letra
75105
_value = "";
76106
_letter = (char)readByte;
77107
}
78108
}else if((millis()-_last_update) > 5 && _letter != ' '){
79-
// Si no se ha recibido nada en los últimos 5ms y hay alguna letra pendiente, ejecuta su acción correspondiente.
109+
// Si no se ha recibido nada en los últimos 5ms y hay alguna letra pendiente, ejecuta su acción correspondiente
80110
execute_task(_letter, (_value!="")?_value.toFloat():0);
81111
_letter = ' ';
82112
_value = "";
83113
}
84114
}
85115

86-
116+
/**
117+
* Función para modificar el valor de la variable indicada por la letra
118+
* @param letter Letra que identifica la variable que hay que modificar
119+
* @param value Valor que tomará la variable indicada por la Letra anterior
120+
*/
87121
void PIDfromBT::execute_task(char letter, float value)
88122
{
89123
switch (letter) {
@@ -132,9 +166,18 @@ void PIDfromBT::execute_task(char letter, float value)
132166
}
133167
}
134168

169+
/**
170+
* Función para establecer el ideal mínimo en cualquier momento
171+
* @param minIdeal Valor entero para el mínimo ideal
172+
*/
135173
void PIDfromBT::setMinIdeal(int minIdeal){
136174
_minIdeal = minIdeal;
137175
}
176+
177+
/**
178+
* Función para establecer el idea máximo en cualquier momento
179+
* @param maxIdeal Valor entero para el máximo ideal
180+
*/
138181
void PIDfromBT::setMaxIdeal(int maxIdeal){
139182
_maxIdeal = maxIdeal;
140183
}

PIDfromBT.h

Lines changed: 55 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -5,37 +5,77 @@
55
class PIDfromBT
66
{
77

8-
#define DEBUG 1
9-
#define NO_DEBUG 0
8+
#define DEBUG true
9+
#define NO_DEBUG false
1010

11-
#define MIN_IDEAL 0
12-
#define MAX_IDEAL 500
11+
#define MIN_IDEAL -500 // Valor por defecto del Mínimo Ideal
12+
#define MAX_IDEAL 500 // Valor por defecto del Máimo Ideal
1313

14-
#define TYPE_PIDV 1
15-
#define TYPE_PIDVI 2
16-
#define TYPE_PIDVIS 3
14+
#define TYPE_PIDV 1 // Tipo Proporcional, Integral, Derivada, Velocidad
15+
#define TYPE_PIDVI 2 // Tipo Proporcional, Integral, Derivada, Velocidad, Ideal
16+
#define TYPE_PIDVIS 3 // Tipo Proporcional, Integral, Derivada, Velocidad, Ideal, Succion
1717

1818
public:
19-
20-
// PIDV
19+
/**
20+
* Constructor del objeto PIDfromBT de tipo PIDV; Proporcional, Integral, Derivada, Velocidad
21+
* @param kp Referencia a la constante de Proporcionalidad
22+
* @param ki Referencia a la constante de Integración
23+
* @param kd Referencia a la constante de Derivación
24+
* @param vel Reverencia a la variable de Velocidad
25+
* @param debug Parámetro que indica si se imprimirán los valores establecidos
26+
*/
2127
PIDfromBT(float* kp, float* kd, float* ki, int* vel, bool debug);
2228

23-
// PIDVI
29+
/**
30+
* Constructor del objeto PIDfromBT de tipo PIDVI; Proporcional, Integral, Derivada, Velocidad, Ideal
31+
* @param kp Referencia a la constante de Proporcionalidad
32+
* @param ki Referencia a la constante de Integración
33+
* @param kd Referencia a la constante de Derivación
34+
* @param vel Reverencia a la variable de Velocidad
35+
* @param ideal Referencia a la variable de Ideal o Consigna de Posición
36+
* @param debug Parámetro que indica si se imprimirán los valores establecidos
37+
*/
2438
PIDfromBT(float* kp, float* kd, float* ki, int* vel, int* ideal, bool debug);
2539

26-
// PIDVIS
40+
41+
/**
42+
* Constructor del objeto PIDfromBT de tipo PIDVIS; Proporcional, Integral, Derivada, Velocidad, Ideal, Succión
43+
* @param kp Referencia a la constante de Proporcionalidad
44+
* @param ki Referencia a la constante de Integración
45+
* @param kd Referencia a la constante de Derivación
46+
* @param vel Reverencia a la variable de Velocidad
47+
* @param ideal Referencia a la variable de Ideal o Consigna de Posición
48+
* @param suction Referencia a la variable de Succion o Velocidad del Ventilador/Turbina
49+
* @param debug Parámetro que indica si se imprimirán los valores establecidos
50+
*/
2751
PIDfromBT(float* kp, float* kd, float* ki, int* vel, int* ideal, int* suction, bool debug);
2852

53+
/**
54+
* Función para comprobar si existen comandos pendientes en el Buffer de entrada; debe ejecutarse
55+
* esta función al menos una vez por cada ciclo de ejecución
56+
*/
57+
void update();
58+
59+
/**
60+
* Función para establecer el ideal mínimo en cualquier momento
61+
* @param minIdeal Valor entero para el mínimo ideal
62+
*/
2963
void setMinIdeal(int minIdeal);
3064

65+
/**
66+
* Función para establecer el idea máximo en cualquier momento
67+
* @param maxIdeal Valor entero para el máximo ideal
68+
*/
3169
void setMaxIdeal(int maxIdeal);
3270

33-
void update();
34-
71+
private:
72+
/**
73+
* Función para modificar el valor de la variable indicada por la letra
74+
* @param letter Letra que identifica la variable que hay que modificar
75+
* @param value Valor que tomará la variable indicada por la Letra anterior
76+
*/
3577
void execute_task(char letter, float value);
3678

37-
private:
38-
void execute_task();
3979
String _value;
4080
char _letter;
4181
long _last_update;

0 commit comments

Comments
 (0)