Ajustement
This commit is contained in:
File diff suppressed because it is too large
Load Diff
35
main.cpp
35
main.cpp
@@ -33,7 +33,7 @@ using json = nlohmann::json;
|
||||
|
||||
// Constantes de fonctionnement
|
||||
#define LEVEL_MIN 2
|
||||
#define FLOW_PER_PUMP 150
|
||||
#define FLOW_PER_PUMP 75
|
||||
|
||||
/* Configuration MQTT */
|
||||
const std::string ADDRESS = "tcp://rabbitmq:1883";
|
||||
@@ -48,7 +48,7 @@ unsigned short pompe1, pompe2, pompe3, pompe4; // bouton des pompes 0 (arrêt) /
|
||||
unsigned short pompe1_old, pompe2_old, pompe3_old, pompe4_old;
|
||||
unsigned short sensor_max, sensor_high, sensor_low, sensor_min;
|
||||
|
||||
float TankInitalValue = 7;
|
||||
float TankInitalValue = 5;
|
||||
|
||||
// Réception des messages MQTT
|
||||
// ************************************************************
|
||||
@@ -57,6 +57,7 @@ public:
|
||||
void message_arrived(mqtt::const_message_ptr msg) override {
|
||||
std::string payload = msg->to_string();
|
||||
|
||||
/*
|
||||
if (payload == "p1") {
|
||||
pompe1 = !pompe1;
|
||||
} else if (payload == "p2") {
|
||||
@@ -66,6 +67,24 @@ public:
|
||||
} else if (payload == "p4") {
|
||||
pompe4 = !pompe4;
|
||||
}
|
||||
*/
|
||||
|
||||
try {
|
||||
json j = json::parse(payload);
|
||||
|
||||
// Ne rien faire si l'objet JSON est vide
|
||||
if (j.empty()) return;
|
||||
|
||||
if (j.contains("p1")) pompe1 = j["p1"].get<int>() != 0;
|
||||
if (j.contains("p2")) pompe2 = j["p2"].get<int>() != 0;
|
||||
if (j.contains("p3")) pompe3 = j["p3"].get<int>() != 0;
|
||||
if (j.contains("p4")) pompe4 = j["p4"].get<int>() != 0;
|
||||
|
||||
std::cout << "Pompes : " << pompe1 << " " << pompe2 << " " << pompe3 << " " << pompe4 << std::endl;
|
||||
}
|
||||
catch (const json::parse_error& e) {
|
||||
std::cerr << "Erreur JSON : " << e.what() << "\n";
|
||||
}
|
||||
}
|
||||
};
|
||||
// ************************************************************
|
||||
@@ -196,8 +215,8 @@ void ProcessInitValues()
|
||||
_digital[OUT_FLOW_OUT_AMPLITUDE].dvalue = 100.0;
|
||||
|
||||
_digital[OUT_LEVEL_MIN].dvalue = LEVEL_MIN;
|
||||
_digital[OUT_LEVEL_LOW].dvalue = 6;
|
||||
_digital[OUT_LEVEL_HIGH].dvalue = 7;
|
||||
_digital[OUT_LEVEL_LOW].dvalue = 4.3;
|
||||
_digital[OUT_LEVEL_HIGH].dvalue = 6.1;
|
||||
_digital[OUT_LEVEL_MAX].dvalue = 9.5;
|
||||
|
||||
_digital[IN_FLOW_OUT].dvalue = 100.0;
|
||||
@@ -249,9 +268,9 @@ double ProcessMoteur(int i)
|
||||
void ProcessException()
|
||||
{
|
||||
if (t_elapsed > 30) {
|
||||
_digital[OUT_PUMP_1].mode = 0;
|
||||
//_digital[OUT_PUMP_1].mode = 0;
|
||||
} else if (t_elapsed > 15) {
|
||||
_digital[IN_SENSOR_LOW].mode = 0;
|
||||
//_digital[IN_SENSOR_LOW].mode = 0;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -265,8 +284,8 @@ void Process()
|
||||
// ***** FLOW OUT
|
||||
if (_digital[IN_TANK_LEVEL].dvalue > 1.0)
|
||||
{
|
||||
//_digital[IN_FLOW_OUT].dvalue = SimulConsoSinusoidale(t);
|
||||
_digital[IN_FLOW_OUT].dvalue = SimulConsoBrown(_digital[IN_FLOW_OUT].dvalue);
|
||||
_digital[IN_FLOW_OUT].dvalue = SimulConsoSinusoidale(t);
|
||||
//_digital[IN_FLOW_OUT].dvalue = SimulConsoBrown(_digital[IN_FLOW_OUT].dvalue);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user