Retrait des bibliothèques superflues pour l'exercice sarii
This commit is contained in:
99
autom.cpp
99
autom.cpp
@@ -56,6 +56,8 @@ int s0, s1, s2, s3, s4, s5, s6, s7;
|
||||
int m0, m1, m2, m3;
|
||||
int v0;
|
||||
|
||||
void process();
|
||||
|
||||
/* ********************************************************
|
||||
* MQTT *
|
||||
* *
|
||||
@@ -70,35 +72,12 @@ const int CYCLE_MS = 100;
|
||||
|
||||
mqtt::async_client client(ADDRESS, CLIENTID);
|
||||
|
||||
void mqtt_process(mqtt::async_client* client)
|
||||
{
|
||||
json obj = {
|
||||
{"s0", s0 },
|
||||
{"s1", s1 },
|
||||
{"s2", s2 },
|
||||
{"s3", s3 },
|
||||
{"s4", s4 },
|
||||
{"s5", s5 },
|
||||
{"s6", s6 },
|
||||
{"s7", s7 },
|
||||
{"m0", m0 },
|
||||
{"m1", m1 },
|
||||
{"m2", m2 },
|
||||
{"m3", m3 },
|
||||
};
|
||||
|
||||
std::string payload = obj.dump();
|
||||
auto msg = mqtt::make_message("geii/out", payload);
|
||||
msg->set_qos(1);
|
||||
client->publish(msg);
|
||||
|
||||
usleep(100000);
|
||||
}
|
||||
|
||||
void mqtt_send(mqtt::async_client *client);
|
||||
|
||||
// Réception des messages MQTT
|
||||
// ************************************************************
|
||||
class callback : public virtual mqtt::callback {
|
||||
class callback : public virtual mqtt::callback
|
||||
{
|
||||
public:
|
||||
void message_arrived(mqtt::const_message_ptr msg) override {
|
||||
std::string payload = msg->to_string();
|
||||
@@ -115,28 +94,37 @@ public:
|
||||
if (j.contains("marche")) marche = j["marche"].get<int>() != 0;
|
||||
if (j.contains("arret")) arret = j["arret"].get<int>() != 0;
|
||||
|
||||
if (j.contains("b0")) b0 = j["b0"].get<int>() != 0;
|
||||
if (j.contains("b1")) b1 = j["b1"].get<int>() != 0;
|
||||
if (j.contains("b2")) b2 = j["b2"].get<int>() != 0;
|
||||
if (j.contains("b3")) b3 = j["b3"].get<int>() != 0;
|
||||
if (j.contains("b4")) b4 = j["b4"].get<int>() != 0;
|
||||
if (j.contains("b5")) b5 = j["b5"].get<int>() != 0;
|
||||
if (j.contains("b6")) b6 = j["b6"].get<int>() != 0;
|
||||
if (j.contains("b7")) b7 = j["b7"].get<int>() != 0;
|
||||
if (j.contains("b0") && j["b0"].is_number())
|
||||
b0 = j["b0"].get<int>();
|
||||
if (j.contains("b1") && j["b1"].is_number())
|
||||
b1 = j["b1"].get<int>();
|
||||
if (j.contains("b2") && j["b2"].is_number())
|
||||
b2 = j["b2"].get<int>();
|
||||
if (j.contains("b3") && j["b3"].is_number())
|
||||
b3 = j["b3"].get<int>();
|
||||
if (j.contains("b4") && j["b4"].is_number())
|
||||
b4 = j["b4"].get<int>();
|
||||
if (j.contains("b5") && j["b5"].is_number())
|
||||
b5 = j["b5"].get<int>();
|
||||
if (j.contains("b6") && j["b6"].is_number())
|
||||
b6 = j["b6"].get<int>();
|
||||
if (j.contains("b7") && j["b7"].is_number())
|
||||
b7 = j["b7"].get<int>();
|
||||
|
||||
if (j.contains("i0")) i0 = j["i0"].get<int>() != 0;
|
||||
if (j.contains("i1")) i1 = j["i1"].get<int>() != 0;
|
||||
if (j.contains("i2")) i2 = j["i2"].get<int>() != 0;
|
||||
if (j.contains("i3")) i3 = j["i3"].get<int>() != 0;
|
||||
if (j.contains("i4")) i4 = j["i4"].get<int>() != 0;
|
||||
if (j.contains("i5")) i5 = j["i5"].get<int>() != 0;
|
||||
if (j.contains("i6")) i6 = j["i6"].get<int>() != 0;
|
||||
if (j.contains("i7")) i7 = j["i7"].get<int>() != 0;
|
||||
if (j.contains("i0")) i0 = j["i0"].get<int>();
|
||||
if (j.contains("i1")) i1 = j["i1"].get<int>();
|
||||
if (j.contains("i2")) i2 = j["i2"].get<int>();
|
||||
if (j.contains("i3")) i3 = j["i3"].get<int>();
|
||||
if (j.contains("i4")) i4 = j["i4"].get<int>();
|
||||
if (j.contains("i5")) i5 = j["i5"].get<int>();
|
||||
if (j.contains("i6")) i6 = j["i6"].get<int>();
|
||||
if (j.contains("i7")) i7 = j["i7"].get<int>();
|
||||
|
||||
if (j.contains("v0") && j["v0"].is_number()) v0 = j["v0"].get<int>();
|
||||
|
||||
std::cout << "Pompes : " << marche << " " << arret << " B " << b0 << " " << b1 << " " << b2 << " " << b3 << " " << b4 << " " << b5 << " " << b6 << " " << b7 << " I " << i0 << " " << i1 << " " << i2 << " " << i3 << " " << i4 << " " << i5 << " " << i6 << " " << i7 << " " << v0 << std::endl;
|
||||
}
|
||||
process();
|
||||
mqtt_send(&client);
|
||||
}
|
||||
catch (const json::parse_error& e) {
|
||||
std::cerr << "Erreur JSON : " << e.what() << "\n";
|
||||
}
|
||||
@@ -162,6 +150,29 @@ void mqtt_open(mqtt::async_client* client) {
|
||||
|
||||
}
|
||||
|
||||
void mqtt_send(mqtt::async_client *client)
|
||||
{
|
||||
json obj = {
|
||||
{"s0", s0},
|
||||
{"s1", s1},
|
||||
{"s2", s2},
|
||||
{"s3", s3},
|
||||
{"s4", s4},
|
||||
{"s5", s5},
|
||||
{"s6", s6},
|
||||
{"s7", s7},
|
||||
{"m0", m0},
|
||||
{"m1", m1},
|
||||
{"m2", m2},
|
||||
{"m3", m3},
|
||||
};
|
||||
|
||||
std::string payload = obj.dump();
|
||||
auto msg = mqtt::make_message("geii/out", payload);
|
||||
msg->set_qos(1);
|
||||
client->publish(msg);
|
||||
}
|
||||
|
||||
void mqtt_close() {
|
||||
try {
|
||||
client.unsubscribe(TOPIC)->wait();
|
||||
|
||||
Reference in New Issue
Block a user