|
|
@@ -6,153 +6,169 @@
|
|
|
/* **************************************************************
|
|
|
Fonction Perso
|
|
|
***************************************************************/
|
|
|
+void delay_perso(uint32_t i) {
|
|
|
+ unsigned long timeout = millis() + i;
|
|
|
+ while (millis() < timeout)
|
|
|
+ i++;
|
|
|
+}
|
|
|
+
|
|
|
uint8_t uart_send(uint8_t *in, uint8_t nbTr, uint8_t *out) {
|
|
|
- int i;
|
|
|
- for (i = 0; i < nbTr; i++)
|
|
|
- Serial.write(in[i]);
|
|
|
- for (i = 0; i < 8 - nbTr; i++)
|
|
|
- Serial.write(0x41);
|
|
|
-
|
|
|
- int time = 0;
|
|
|
- while (Serial.available() < SIZEMES) {
|
|
|
- //todo delay(1);
|
|
|
- time++;
|
|
|
- if (time > 1000)
|
|
|
- return 1;
|
|
|
- }
|
|
|
- Serial.readBytes(out, SIZEMES);
|
|
|
- if (out[1]&MASKMES != in[1] & MASKMES) {
|
|
|
- return 2;
|
|
|
- }
|
|
|
- return 0;
|
|
|
+ int i;
|
|
|
+ for (i = 0; i < nbTr; i++)
|
|
|
+ Serial.write(in[i]);
|
|
|
+ for (i = 0; i < SIZEMES - nbTr; i++)
|
|
|
+ Serial.write(0x41);
|
|
|
+
|
|
|
+ int time = 0;
|
|
|
+ while (Serial.available() < SIZEMES) {
|
|
|
+ delay(2);
|
|
|
+ time++;
|
|
|
+ if (time > 1000) {
|
|
|
+ return 1;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ Serial.readBytes(out, SIZEMES);
|
|
|
+
|
|
|
+ Serial.println(out[0]);
|
|
|
+ if (out[1]&MASKMES != in[1] & MASKMES) {
|
|
|
+ return 2;
|
|
|
+ }
|
|
|
+ return 0;
|
|
|
}
|
|
|
|
|
|
|
|
|
uint8_t transmit(uint8_t *in, uint8_t nbTr, uint8_t *out) {
|
|
|
- int i = 0;
|
|
|
- int res = uart_send(in, nbTr, out);
|
|
|
- /*while (i <= 3) { //Todo
|
|
|
- //delay(500);
|
|
|
- Serial.println(i);
|
|
|
- res = uart_send(in, nbTr, out);
|
|
|
- i++;
|
|
|
- }*/
|
|
|
-
|
|
|
- return res;
|
|
|
+ int i = 0;
|
|
|
+ int res;
|
|
|
+ while (res=uart_send(in,nbTr,out)){
|
|
|
+ if(i>3){
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ delay(500);
|
|
|
+ i++;
|
|
|
+ }
|
|
|
+
|
|
|
+Serial.println(res);
|
|
|
+ return res;
|
|
|
}
|
|
|
|
|
|
|
|
|
void SyncRTC() {
|
|
|
- uint8_t nbTr = 8;
|
|
|
- uint8_t in[nbTr];
|
|
|
- uint8_t out[SIZEMES];
|
|
|
-
|
|
|
- in[0] = SYNCRTC;
|
|
|
- in[1] = year() - 2000;
|
|
|
- in[2] = month();
|
|
|
- in[3] = day();
|
|
|
- uint8_t weekd = weekday() - 1;
|
|
|
- if (weekday() == 1) weekd = 0;
|
|
|
- in[4] = weekd;
|
|
|
- in[5] = hour();
|
|
|
- in[6] = minute();
|
|
|
- in[7] = second();
|
|
|
-
|
|
|
- if (transmit(in, nbTr, out)) {
|
|
|
- ;// todo TODO test si retour NOK
|
|
|
- }
|
|
|
- ;// todo return 0;
|
|
|
+ uint8_t nbTr = 8;
|
|
|
+ uint8_t in[nbTr];
|
|
|
+ uint8_t out[SIZEMES];
|
|
|
+
|
|
|
+ in[0] = SYNCRTC;
|
|
|
+ in[1] = year() - 2000;
|
|
|
+ in[2] = month();
|
|
|
+ in[3] = day();
|
|
|
+ uint8_t weekd = weekday() - 1;
|
|
|
+ if (weekday() == 1) weekd = 0;
|
|
|
+ in[4] = weekd;
|
|
|
+ in[5] = hour();
|
|
|
+ in[6] = minute();
|
|
|
+ in[7] = second();
|
|
|
+
|
|
|
+ if (transmit(in, nbTr, out)) {
|
|
|
+ ;// todo TODO test si retour NOK
|
|
|
+ }
|
|
|
+ ;// todo return 0;
|
|
|
}
|
|
|
|
|
|
float convTemp(uint8_t ent) {
|
|
|
- return (((float)ent) / 10.0) + 10.0;
|
|
|
+ //Serial.print("ent : ");
|
|
|
+ //Serial.println(ent);
|
|
|
+ return (((float)ent) / 10.0) + 10.0;
|
|
|
}
|
|
|
|
|
|
float convPH(uint8_t ent) {
|
|
|
- //TODO
|
|
|
- return 8.2;
|
|
|
+ //TODO
|
|
|
+ return 8.2;
|
|
|
}
|
|
|
|
|
|
int convSalinity(uint8_t ent) {
|
|
|
- //TODO
|
|
|
- return 1025;
|
|
|
+ //TODO
|
|
|
+ return 1025;
|
|
|
}
|
|
|
|
|
|
void Status() {
|
|
|
- uint8_t nbTr = 1;
|
|
|
- uint8_t in[nbTr];
|
|
|
- uint8_t out[SIZEMES];
|
|
|
-
|
|
|
- in[0] = STATUS;
|
|
|
-
|
|
|
- if (transmit(in, nbTr, out)) {
|
|
|
- ;// todo return 1; // TODO Erreur
|
|
|
- }
|
|
|
- if (out[5] & 0x80 == 0x80)
|
|
|
- TechBas.on();
|
|
|
- else
|
|
|
- TechBas.off();
|
|
|
-
|
|
|
- if (out[5] & 0x40 == 0x40)
|
|
|
- TechHau.on();
|
|
|
- else
|
|
|
- TechHau.off();
|
|
|
-
|
|
|
- if (out[5] & 0x20 == 0x20)
|
|
|
- CuveHau.on();
|
|
|
- else
|
|
|
- CuveHau.off();
|
|
|
-
|
|
|
- if (out[5] & 0x10 == 0x10)
|
|
|
- Reserve.on();
|
|
|
- else
|
|
|
- Reserve.off();
|
|
|
-
|
|
|
-
|
|
|
- float air = convTemp(out[1]);
|
|
|
- float eau = convTemp(out[2]);
|
|
|
- Blynk.virtualWrite(V6, air);
|
|
|
- if (air <= 18.0)
|
|
|
- Blynk.notify("Temp air < 18°C");
|
|
|
- if (air >= 29.0)
|
|
|
- Blynk.notify("Temp air > 29°C");
|
|
|
-
|
|
|
- Blynk.virtualWrite(V7, eau);
|
|
|
- if (eau <= 24.0)
|
|
|
- Blynk.notify("Temp eau < 24°C");
|
|
|
- if (eau >= 27.0)
|
|
|
- Blynk.notify("Temp eau > 27°C");
|
|
|
-
|
|
|
- Blynk.virtualWrite(V8, convPH(out[3]));
|
|
|
- //TODO notif PH
|
|
|
-
|
|
|
- Blynk.virtualWrite(V9, convSalinity(out[4]));
|
|
|
- //TODO notif sel
|
|
|
-
|
|
|
- //TODO gestion erreur
|
|
|
-
|
|
|
- in[0] = READACTI;
|
|
|
- if (transmit(in, nbTr, out))
|
|
|
- ;// todo return 1; // TODO Erreur
|
|
|
-
|
|
|
-
|
|
|
- Blynk.virtualWrite(V20, (out[1] & ACTIREM) >> 0);
|
|
|
- Blynk.virtualWrite(V21, (out[1] & ACTIECU) >> 1);
|
|
|
- Blynk.virtualWrite(V22, (out[1] & ACTICHA) >> 2);
|
|
|
- Blynk.virtualWrite(V23, (out[1] & ACTIBGE) >> 3);
|
|
|
- Blynk.virtualWrite(V24, (out[1] & ACTIBR1) >> 4);
|
|
|
- Blynk.virtualWrite(V25, (out[1] & ACTIBR2) >> 5);
|
|
|
- Blynk.virtualWrite(V26, (out[1] & ACTIBR2) >> 6);
|
|
|
- Blynk.virtualWrite(V27, (out[1] & ACTINOU) >> 7);
|
|
|
-
|
|
|
- in[0] = READVENT;
|
|
|
- if (transmit(in, nbTr, out))
|
|
|
- ;// todo return 1; // TODO Erreur
|
|
|
-
|
|
|
- Blynk.virtualWrite(V40, (out[1] & 0xF0) >> 4);
|
|
|
- Blynk.virtualWrite(V41, (out[1] & 0x0F) >> 0);
|
|
|
-
|
|
|
- ;// todo return 0;
|
|
|
+ uint8_t nbTr = 1;
|
|
|
+ uint8_t in[nbTr];
|
|
|
+ uint8_t out[SIZEMES];
|
|
|
+
|
|
|
+ in[0] = STATUS;
|
|
|
+
|
|
|
+ if (transmit(in, nbTr, out)) {
|
|
|
+ exit;
|
|
|
+ }
|
|
|
+ if (out[5] & 0x80 == 0x80)
|
|
|
+ TechBas.on();
|
|
|
+ else
|
|
|
+ TechBas.off();
|
|
|
+
|
|
|
+ if (out[5] & 0x40 == 0x40)
|
|
|
+ TechHau.on();
|
|
|
+ else
|
|
|
+ TechHau.off();
|
|
|
+
|
|
|
+ if (out[5] & 0x20 == 0x20)
|
|
|
+ CuveHau.on();
|
|
|
+ else
|
|
|
+ CuveHau.off();
|
|
|
+
|
|
|
+ if (out[5] & 0x10 == 0x10)
|
|
|
+ Reserve.on();
|
|
|
+ else
|
|
|
+ Reserve.off();
|
|
|
+
|
|
|
+
|
|
|
+ float air = convTemp(out[1]);
|
|
|
+ float eau = convTemp(out[2]);
|
|
|
+
|
|
|
+ /*
|
|
|
+ Blynk.virtualWrite(V6, air);
|
|
|
+ if (air <= 18.0)
|
|
|
+ Blynk.notify("Temp air < 18°C");
|
|
|
+ if (air >= 29.0)
|
|
|
+ Blynk.notify("Temp air > 29°C");
|
|
|
+
|
|
|
+ Blynk.virtualWrite(V7, eau);
|
|
|
+ if (eau <= 24.0)
|
|
|
+ Blynk.notify("Temp eau < 24°C");
|
|
|
+ if (eau >= 27.0)
|
|
|
+ Blynk.notify("Temp eau > 27°C");
|
|
|
+
|
|
|
+ Blynk.virtualWrite(V8, convPH(out[3]));
|
|
|
+ //TODO notif PH
|
|
|
+
|
|
|
+ Blynk.virtualWrite(V9, convSalinity(out[4]));
|
|
|
+ //TODO notif sel
|
|
|
+
|
|
|
+ //TODO gestion erreur
|
|
|
+
|
|
|
+ in[0] = READACTI;
|
|
|
+ if (transmit(in, nbTr, out))
|
|
|
+ //Serial.println("Erreur");// todo return 1; // TODO Erreur
|
|
|
+
|
|
|
+
|
|
|
+ Blynk.virtualWrite(V20, (out[1] & ACTIREM) >> 0);
|
|
|
+ Blynk.virtualWrite(V21, (out[1] & ACTIECU) >> 1);
|
|
|
+ Blynk.virtualWrite(V22, (out[1] & ACTICHA) >> 2);
|
|
|
+ Blynk.virtualWrite(V23, (out[1] & ACTIBGE) >> 3);
|
|
|
+ Blynk.virtualWrite(V24, (out[1] & ACTIBR1) >> 4);
|
|
|
+ Blynk.virtualWrite(V25, (out[1] & ACTIBR2) >> 5);
|
|
|
+ Blynk.virtualWrite(V26, (out[1] & ACTIBR2) >> 6);
|
|
|
+ Blynk.virtualWrite(V27, (out[1] & ACTINOU) >> 7);
|
|
|
+
|
|
|
+ in[0] = READVENT;
|
|
|
+ if (transmit(in, nbTr, out))
|
|
|
+ //Serial.println("Erreur");// todo return 1; // TODO Erreur
|
|
|
+
|
|
|
+ Blynk.virtualWrite(V40, (out[1] & 0xF0) >> 4);
|
|
|
+ Blynk.virtualWrite(V41, (out[1] & 0x0F) >> 0);
|
|
|
+
|
|
|
+ ;// todo return 0;*/
|
|
|
}
|
|
|
|
|
|
/* **************************************************************
|
|
|
@@ -160,238 +176,238 @@ void Status() {
|
|
|
***************************************************************/
|
|
|
|
|
|
BLYNK_CONNECTED() {
|
|
|
- rtc.begin();
|
|
|
+ rtc.begin();
|
|
|
}
|
|
|
|
|
|
BLYNK_WRITE(V20) {
|
|
|
- //Remonter
|
|
|
-
|
|
|
- int val = param.asInt() << 0;
|
|
|
- uint8_t in[2];
|
|
|
- uint8_t nbTr = 2;
|
|
|
- uint8_t out[8];
|
|
|
-
|
|
|
- //lecture ancien param
|
|
|
- in[0] = READACTI;
|
|
|
- if (transmit(in, 1, out)) {
|
|
|
- ;// todo return 1;
|
|
|
- }
|
|
|
-
|
|
|
- //envoie nouveau parametre
|
|
|
- in[0] = WRITACTI;
|
|
|
- in[1] = out[1] & (!ACTIREM | val);
|
|
|
- if (transmit(in, nbTr, out)) {
|
|
|
- ;// todo return 1;
|
|
|
- }
|
|
|
+ //Remonter
|
|
|
+
|
|
|
+ int val = param.asInt() << 0;
|
|
|
+ uint8_t in[2];
|
|
|
+ uint8_t nbTr = 2;
|
|
|
+ uint8_t out[8];
|
|
|
+
|
|
|
+ //lecture ancien param
|
|
|
+ in[0] = READACTI;
|
|
|
+ if (transmit(in, 1, out)) {
|
|
|
+ ;// todo return 1;
|
|
|
+ }
|
|
|
+
|
|
|
+ //envoie nouveau parametre
|
|
|
+ in[0] = WRITACTI;
|
|
|
+ in[1] = out[1] & (!ACTIREM | val);
|
|
|
+ if (transmit(in, nbTr, out)) {
|
|
|
+ ;// todo return 1;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
BLYNK_WRITE(V21) {
|
|
|
- //Ecumeur
|
|
|
-
|
|
|
- int val = param.asInt() << 1;
|
|
|
- uint8_t in[2];
|
|
|
- uint8_t nbTr = 2;
|
|
|
- uint8_t out[8];
|
|
|
-
|
|
|
- //lecture ancien param
|
|
|
- in[0] = READACTI;
|
|
|
- if (transmit(in, 1, out)) {
|
|
|
- ;// todo return 1;
|
|
|
- }
|
|
|
-
|
|
|
- //envoie nouveau parametre
|
|
|
- in[0] = WRITACTI;
|
|
|
- in[1] = out[1] & (!ACTIECU | val);
|
|
|
- if (transmit(in, nbTr, out)) {
|
|
|
- ;// todo return 1;
|
|
|
- }
|
|
|
+ //Ecumeur
|
|
|
+
|
|
|
+ int val = param.asInt() << 1;
|
|
|
+ uint8_t in[2];
|
|
|
+ uint8_t nbTr = 2;
|
|
|
+ uint8_t out[8];
|
|
|
+
|
|
|
+ //lecture ancien param
|
|
|
+ in[0] = READACTI;
|
|
|
+ if (transmit(in, 1, out)) {
|
|
|
+ ;// todo return 1;
|
|
|
+ }
|
|
|
+
|
|
|
+ //envoie nouveau parametre
|
|
|
+ in[0] = WRITACTI;
|
|
|
+ in[1] = out[1] & (!ACTIECU | val);
|
|
|
+ if (transmit(in, nbTr, out)) {
|
|
|
+ ;// todo return 1;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
BLYNK_WRITE(V22) {
|
|
|
- //Chauffage
|
|
|
-
|
|
|
- int val = param.asInt() << 2;
|
|
|
- uint8_t in[2];
|
|
|
- uint8_t nbTr = 2;
|
|
|
- uint8_t out[8];
|
|
|
-
|
|
|
- //lecture ancien param
|
|
|
- in[0] = READACTI;
|
|
|
- if (transmit(in, 1, out)) {
|
|
|
- ;// todo return 1;
|
|
|
- }
|
|
|
-
|
|
|
- //envoie nouveau parametre
|
|
|
- in[0] = WRITACTI;
|
|
|
- in[1] = out[1] & (!ACTICHA | val);
|
|
|
- if (transmit(in, nbTr, out)) {
|
|
|
- ;// todo return 1;
|
|
|
- }
|
|
|
+ //Chauffage
|
|
|
+
|
|
|
+ int val = param.asInt() << 2;
|
|
|
+ uint8_t in[2];
|
|
|
+ uint8_t nbTr = 2;
|
|
|
+ uint8_t out[8];
|
|
|
+
|
|
|
+ //lecture ancien param
|
|
|
+ in[0] = READACTI;
|
|
|
+ if (transmit(in, 1, out)) {
|
|
|
+ ;// todo return 1;
|
|
|
+ }
|
|
|
+
|
|
|
+ //envoie nouveau parametre
|
|
|
+ in[0] = WRITACTI;
|
|
|
+ in[1] = out[1] & (!ACTICHA | val);
|
|
|
+ if (transmit(in, nbTr, out)) {
|
|
|
+ ;// todo return 1;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
BLYNK_WRITE(V23) {
|
|
|
- //Brassage Général
|
|
|
-
|
|
|
- int val = param.asInt() << 3;
|
|
|
- uint8_t in[2];
|
|
|
- uint8_t nbTr = 2;
|
|
|
- uint8_t out[8];
|
|
|
-
|
|
|
- //lecture ancien param
|
|
|
- in[0] = READACTI;
|
|
|
- if (transmit(in, 1, out)) {
|
|
|
- ;// todo return 1;
|
|
|
- }
|
|
|
-
|
|
|
- //envoie nouveau parametre
|
|
|
- in[0] = WRITACTI;
|
|
|
- in[1] = out[1] & (!ACTIBGE | val);
|
|
|
- if (transmit(in, nbTr, out)) {
|
|
|
- ;// todo return 1;
|
|
|
- }
|
|
|
+ //Brassage Général
|
|
|
+
|
|
|
+ int val = param.asInt() << 3;
|
|
|
+ uint8_t in[2];
|
|
|
+ uint8_t nbTr = 2;
|
|
|
+ uint8_t out[8];
|
|
|
+
|
|
|
+ //lecture ancien param
|
|
|
+ in[0] = READACTI;
|
|
|
+ if (transmit(in, 1, out)) {
|
|
|
+ ;// todo return 1;
|
|
|
+ }
|
|
|
+
|
|
|
+ //envoie nouveau parametre
|
|
|
+ in[0] = WRITACTI;
|
|
|
+ in[1] = out[1] & (!ACTIBGE | val);
|
|
|
+ if (transmit(in, nbTr, out)) {
|
|
|
+ ;// todo return 1;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
BLYNK_WRITE(V24) {
|
|
|
- //Brassage1
|
|
|
-
|
|
|
- int val = param.asInt() << 4;
|
|
|
- uint8_t in[2];
|
|
|
- uint8_t nbTr = 2;
|
|
|
- uint8_t out[8];
|
|
|
-
|
|
|
- //lecture ancien param
|
|
|
- in[0] = READACTI;
|
|
|
- if (transmit(in, 1, out)) {
|
|
|
- ;// todo return 1;
|
|
|
- }
|
|
|
-
|
|
|
- //envoie nouveau parametre
|
|
|
- in[0] = WRITACTI;
|
|
|
- in[1] = out[1] & (!ACTIBR1 | val);
|
|
|
- if (transmit(in, nbTr, out)) {
|
|
|
- ;// todo return 1;
|
|
|
- }
|
|
|
+ //Brassage1
|
|
|
+
|
|
|
+ int val = param.asInt() << 4;
|
|
|
+ uint8_t in[2];
|
|
|
+ uint8_t nbTr = 2;
|
|
|
+ uint8_t out[8];
|
|
|
+
|
|
|
+ //lecture ancien param
|
|
|
+ in[0] = READACTI;
|
|
|
+ if (transmit(in, 1, out)) {
|
|
|
+ ;// todo return 1;
|
|
|
+ }
|
|
|
+
|
|
|
+ //envoie nouveau parametre
|
|
|
+ in[0] = WRITACTI;
|
|
|
+ in[1] = out[1] & (!ACTIBR1 | val);
|
|
|
+ if (transmit(in, nbTr, out)) {
|
|
|
+ ;// todo return 1;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
|
|
|
BLYNK_WRITE(V25) {
|
|
|
- //Brassage2
|
|
|
-
|
|
|
- int val = param.asInt() << 5;
|
|
|
- uint8_t in[2];
|
|
|
- uint8_t nbTr = 2;
|
|
|
- uint8_t out[8];
|
|
|
-
|
|
|
- //lecture ancien param
|
|
|
- in[0] = READACTI;
|
|
|
- if (transmit(in, 1, out)) {
|
|
|
- ;// todo return 1;
|
|
|
- }
|
|
|
-
|
|
|
- //envoie nouveau parametre
|
|
|
- in[0] = WRITACTI;
|
|
|
- in[1] = out[1] & (!ACTIBR2 | val);
|
|
|
- if (transmit(in, nbTr, out)) {
|
|
|
- ;// todo return 1;
|
|
|
- }
|
|
|
+ //Brassage2
|
|
|
+
|
|
|
+ int val = param.asInt() << 5;
|
|
|
+ uint8_t in[2];
|
|
|
+ uint8_t nbTr = 2;
|
|
|
+ uint8_t out[8];
|
|
|
+
|
|
|
+ //lecture ancien param
|
|
|
+ in[0] = READACTI;
|
|
|
+ if (transmit(in, 1, out)) {
|
|
|
+ ;// todo return 1;
|
|
|
+ }
|
|
|
+
|
|
|
+ //envoie nouveau parametre
|
|
|
+ in[0] = WRITACTI;
|
|
|
+ in[1] = out[1] & (!ACTIBR2 | val);
|
|
|
+ if (transmit(in, nbTr, out)) {
|
|
|
+ ;// todo return 1;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
-BLYNK_WRITE(V26){
|
|
|
- int val = param.asInt() << 6;
|
|
|
- uint8_t in[2];
|
|
|
- uint8_t nbTr = 2;
|
|
|
- uint8_t out[8];
|
|
|
-
|
|
|
- //lecture ancien param
|
|
|
- in[0] = READACTI;
|
|
|
- if (transmit(in, 1, out)) {
|
|
|
- ;// todo return 1;
|
|
|
- }
|
|
|
-
|
|
|
- //envoie nouveau parametre
|
|
|
- in[0] = WRITACTI;
|
|
|
- in[1] = out[1] & (!ACTIOSM | val);
|
|
|
- if (transmit(in, nbTr, out)) {
|
|
|
- ;// todo return 1;
|
|
|
- }
|
|
|
+BLYNK_WRITE(V26) {
|
|
|
+ int val = param.asInt() << 6;
|
|
|
+ uint8_t in[2];
|
|
|
+ uint8_t nbTr = 2;
|
|
|
+ uint8_t out[8];
|
|
|
+
|
|
|
+ //lecture ancien param
|
|
|
+ in[0] = READACTI;
|
|
|
+ if (transmit(in, 1, out)) {
|
|
|
+ ;// todo return 1;
|
|
|
+ }
|
|
|
+
|
|
|
+ //envoie nouveau parametre
|
|
|
+ in[0] = WRITACTI;
|
|
|
+ in[1] = out[1] & (!ACTIOSM | val);
|
|
|
+ if (transmit(in, nbTr, out)) {
|
|
|
+ ;// todo return 1;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
BLYNK_WRITE(V27) {
|
|
|
- //Nourrisage
|
|
|
-
|
|
|
- int val = param.asInt() << 7;
|
|
|
- uint8_t in[2];
|
|
|
- uint8_t nbTr = 2;
|
|
|
- uint8_t out[8];
|
|
|
-
|
|
|
- //lecture ancien param
|
|
|
- in[0] = READACTI;
|
|
|
- if (transmit(in, 1, out)) {
|
|
|
- ;// todo return 1;
|
|
|
- }
|
|
|
-
|
|
|
- //envoie nouveau parametre
|
|
|
- in[0] = WRITACTI;
|
|
|
- in[1] = out[1] & (!ACTINOU | val);
|
|
|
- if (transmit(in, nbTr, out)) {
|
|
|
- ;// todo return 1;
|
|
|
- }
|
|
|
+ //Nourrisage
|
|
|
+
|
|
|
+ int val = param.asInt() << 7;
|
|
|
+ uint8_t in[2];
|
|
|
+ uint8_t nbTr = 2;
|
|
|
+ uint8_t out[8];
|
|
|
+
|
|
|
+ //lecture ancien param
|
|
|
+ in[0] = READACTI;
|
|
|
+ if (transmit(in, 1, out)) {
|
|
|
+ ;// todo return 1;
|
|
|
+ }
|
|
|
+
|
|
|
+ //envoie nouveau parametre
|
|
|
+ in[0] = WRITACTI;
|
|
|
+ in[1] = out[1] & (!ACTINOU | val);
|
|
|
+ if (transmit(in, nbTr, out)) {
|
|
|
+ ;// todo return 1;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
-BLYNK_WRITE(V40){
|
|
|
- int val = param.asInt();
|
|
|
- uint8_t in[2];
|
|
|
- uint8_t nbTr = 2;
|
|
|
- uint8_t out[8];
|
|
|
-
|
|
|
-
|
|
|
- //lecture ancien param
|
|
|
- in[0] = READVENT;
|
|
|
- if (transmit(in, 1, out)) {
|
|
|
- ;// todo return 1;
|
|
|
- }
|
|
|
-
|
|
|
- //envoie nouveau parametre
|
|
|
- in[0] = WRITVENT;
|
|
|
- in[1] = out[1] & (!0xF0 | val<<4);// todo a modif
|
|
|
- if (transmit(in, nbTr, out)) {
|
|
|
- ;// todo return 1;
|
|
|
- }
|
|
|
+BLYNK_WRITE(V40) {
|
|
|
+ int val = param.asInt();
|
|
|
+ uint8_t in[2];
|
|
|
+ uint8_t nbTr = 2;
|
|
|
+ uint8_t out[8];
|
|
|
+
|
|
|
+
|
|
|
+ //lecture ancien param
|
|
|
+ in[0] = READVENT;
|
|
|
+ if (transmit(in, 1, out)) {
|
|
|
+ ;// todo return 1;
|
|
|
+ }
|
|
|
+
|
|
|
+ //envoie nouveau parametre
|
|
|
+ in[0] = WRITVENT;
|
|
|
+ in[1] = out[1] & (!0xF0 | val << 4); // todo a modif
|
|
|
+ if (transmit(in, nbTr, out)) {
|
|
|
+ ;// todo return 1;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
-BLYNK_WRITE(V41){
|
|
|
- int val = param.asInt();
|
|
|
- uint8_t in[2];
|
|
|
- uint8_t nbTr = 2;
|
|
|
- uint8_t out[8];
|
|
|
-
|
|
|
-
|
|
|
- //lecture ancien param
|
|
|
- in[0] = READVENT;
|
|
|
- if (transmit(in, 1, out)) {
|
|
|
- ;// todo return 1;
|
|
|
- }
|
|
|
-
|
|
|
- //envoie nouveau parametre
|
|
|
- in[0] = WRITVENT;
|
|
|
- in[1] = out[1] & (!0x0F | val);// todo a modif
|
|
|
- if (transmit(in, nbTr, out)) {
|
|
|
- ;// todo return 1;
|
|
|
- }
|
|
|
+BLYNK_WRITE(V41) {
|
|
|
+ int val = param.asInt();
|
|
|
+ uint8_t in[2];
|
|
|
+ uint8_t nbTr = 2;
|
|
|
+ uint8_t out[8];
|
|
|
+
|
|
|
+
|
|
|
+ //lecture ancien param
|
|
|
+ in[0] = READVENT;
|
|
|
+ if (transmit(in, 1, out)) {
|
|
|
+ ;// todo return 1;
|
|
|
+ }
|
|
|
+
|
|
|
+ //envoie nouveau parametre
|
|
|
+ in[0] = WRITVENT;
|
|
|
+ in[1] = out[1] & (!0x0F | val);// todo a modif
|
|
|
+ if (transmit(in, nbTr, out)) {
|
|
|
+ ;// todo return 1;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
-BLYNK_WRITE(V50){
|
|
|
- int val = param.asInt();
|
|
|
- uint8_t in[2];
|
|
|
- uint8_t nbTr = 2;
|
|
|
- uint8_t out[8];
|
|
|
-
|
|
|
- in[0] = WRITVENT;
|
|
|
- in[1] = val;
|
|
|
- if (transmit(in, nbTr, out)) {
|
|
|
- ;// todo return 1;
|
|
|
- }
|
|
|
-
|
|
|
+BLYNK_WRITE(V50) {
|
|
|
+ int val = param.asInt();
|
|
|
+ uint8_t in[2];
|
|
|
+ uint8_t nbTr = 2;
|
|
|
+ uint8_t out[8];
|
|
|
+
|
|
|
+ in[0] = WRITVENT;
|
|
|
+ in[1] = val;
|
|
|
+ if (transmit(in, nbTr, out)) {
|
|
|
+ ;// todo return 1;
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -403,21 +419,24 @@ uint8_t out[8];
|
|
|
uint8_t in[8];
|
|
|
|
|
|
void setup() {
|
|
|
- Blynk.begin(auth, ssid, pass, IPAddress(192, 168, 1, 18), 8081);
|
|
|
-
|
|
|
- //timerRTC.setInterval(1000L * 3600, SyncRTC); // une synchro de la RTC par heure
|
|
|
- timerStatus.setInterval(2000L, Status); // un Status toute les 2 secs
|
|
|
+ //Blynk.begin(auth, ssid, pass, IPAddress(192, 168, 1, 18), 8081);
|
|
|
|
|
|
- Serial.begin(115200);
|
|
|
- pinMode(LED_BUILTIN, OUTPUT); // Initialize the LED_BUILTIN pin as an output
|
|
|
+ //timerRTC.setInterval(1000L * 3600, SyncRTC); // une synchro de la RTC par heure
|
|
|
+ //timerStatus.setInterval(2000L, Status); // un Status toute les 2 secs
|
|
|
+ //timerSend.setInterval(500L,Send);
|
|
|
|
|
|
+ Serial.begin(115200);
|
|
|
+ pinMode(LED_BUILTIN, OUTPUT); // Initialize the LED_BUILTIN pin as an output
|
|
|
+ digitalWrite(LED_BUILTIN, HIGH);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
void loop() {
|
|
|
- Blynk.run();
|
|
|
- //timerRTC.run();
|
|
|
- timerStatus.run();
|
|
|
+ //Blynk.run();
|
|
|
+ //timerRTC.run();
|
|
|
+ //timerSend.run();
|
|
|
+ Status();
|
|
|
+ delay(2000);
|
|
|
|
|
|
}
|