#include "union.h"
#include "splitter.h"
#include "drainage.h"
+#include "exclusa.h"
#include <unistd.h>
using namespace std;
int main(int argc, char *argv[])
{
Pump *bomba1;
+ Exclusa *exclusa1;
Conduct *salida1;
Conduct *salida2;
Conduct *entrada;
salida1->set_max_flow(2);
salida2 = new Conduct("salida_2");
salida2->set_max_flow(5);
+ exclusa1 = new Exclusa("exclusa1");
split = new Splitter("splitter");
split->set_max_flow(8);
dren1 = new Drainage("drenaje1");
dren2 = new Drainage("drenaje2");
- bomba1->connect(entrada, IConector::OUT);
- entrada->connect(bomba1, IConector::IN);
+ bomba1->connect(exclusa1, IConector::OUT);
+ exclusa1->connect(bomba1, IConector::IN);
+ exclusa1->connect(entrada, IConector::OUT);
+ entrada->connect(exclusa1, IConector::IN);
entrada->connect(split, IConector::OUT);
split->connect(entrada, IConector::IN);
split->connect(salida1, IConector::OUT);
salida1->connect(dren1, IConector::OUT);
salida2->connect(dren2, IConector::OUT);
+ //// LOGICA DE CONTROL!!
+ // CONECTO LA SALIDA DE LA EXCLUSA A LA ENTRADA DE LA BOMBA
+ bomba1->connect_input_logic( exclusa1->get_logic_output() );
+
int i = 0;
while (i<10) {
bomba1->update();
+ exclusa1->update();
salida1->update();
salida2->update();
entrada->update();
dren2->update();
bomba1->simulate();
+ exclusa1->simulate();
salida1->simulate();
salida2->simulate();
entrada->simulate();
sleep(1);
if (i == 5) {
- bomba1->deactivate();
+ //bomba1->deactivate();
+ // Ahora cierro la exclusa!, la bomba deberia apagarse!!!
+ exclusa1->close();
}
i++;
}