ESP12F.ino 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887
  1. #include "ESP12F.h"
  2. #include <WidgetRTC.h>
  3. WidgetTerminal terminal(V60);
  4. BlynkTimer timerRTC;
  5. BlynkTimer timerStatus;
  6. WidgetRTC rtc;
  7. /* **************************************************************
  8. Fonction Perso
  9. ***************************************************************/
  10. uint8_t uart_send(uint8_t *in, uint8_t nbTr, uint8_t *out) {
  11. int i;
  12. for (i = 0; i < nbTr; i++) {
  13. Serial.write(in[i]);
  14. }
  15. for (; i < SIZEMES; i++) {
  16. Serial.write(0xAA);
  17. }
  18. int time = 0;
  19. while (Serial.available() < SIZEMES) {
  20. time++;
  21. if (time > 1000000) {
  22. terminal.print("erreur 1 :");
  23. terminal.println(in[0]);
  24. terminal.flush();
  25. return 1;
  26. }
  27. }
  28. Serial.readBytes(out, SIZEMES);
  29. if (out[0] & MASKMES != in[0] & MASKMES) {
  30. terminal.print("erreur 2");
  31. terminal.flush();
  32. return 2;
  33. }
  34. terminal.print("in[0] : ");
  35. terminal.println(in[0]);
  36. terminal.flush();
  37. return 0;
  38. }
  39. uint8_t transmition(uint8_t *in, uint8_t nbTr, uint8_t *out) {
  40. return uart_send(in, nbTr, out);
  41. }
  42. void SyncRTC(){
  43. uint8_t nbTr = 8;
  44. uint8_t out[8];
  45. uint8_t in[nbTr];
  46. in[0]=SYNCRTC;
  47. in[1]=year();
  48. in[2]=month();
  49. in[3]=day();
  50. in[4]=5;
  51. in[5]=hour();
  52. in[6]=minute();
  53. in[7]=second();
  54. if (transmition(in, nbTr, out) == 0) {
  55. //TODO erreur transmit
  56. }
  57. }
  58. void Status(){
  59. uint8_t nbTr = 1;
  60. uint8_t out[8];
  61. uint8_t in[nbTr];
  62. in[0]=STATUS;
  63. in[1]=
  64. if (transmition(in, nbTr, out) == 0) {
  65. }
  66. switch(out[1]){
  67. case 0:
  68. //tous est ok
  69. break;
  70. case 1:
  71. Blynk.syncAll();
  72. SyncRTC();
  73. break;
  74. }
  75. }
  76. /* **************************************************************
  77. Fonction Arduino
  78. ***************************************************************/
  79. void setup() {
  80. transmition(
  81. Blynk.begin(auth, ssid, pass, IPAddress(192, 168, 1, 18), 8081);
  82. timerRTC.setInterval(1000L*3600, SyncRTC); // une synchro de la RTC par heure
  83. timerStatus.setInterval(10000L, Status); // un status toute les 10 sec
  84. Serial.begin(115200);
  85. }
  86. void loop() {
  87. Blynk.run();
  88. timerRTC.run();
  89. timerStatus.run();
  90. }
  91. BLYNK_WRITE(V60){
  92. Status();
  93. }
  94. /* **************************************************************
  95. Fonction Blynk
  96. ***************************************************************/
  97. BLYNK_WRITE(V6) {
  98. uint8_t nbTr = 2;
  99. uint8_t out[8];
  100. uint8_t in[nbTr];
  101. in[0]=STOP;
  102. in[1]=param.asInt();
  103. if (transmition(in, nbTr, out) == 0) {
  104. //TODO erreur transmit
  105. }
  106. }
  107. BLYNK_WRITE(V7) {
  108. uint8_t nbTr = 2;
  109. uint8_t out[8];
  110. uint8_t in[nbTr];
  111. in[0]=ESSAI;
  112. in[1]=param.asInt();
  113. if (transmition(in, nbTr, out) == 0) {
  114. //TODO erreur transmit
  115. }
  116. }
  117. BLYNK_CONNECTED() {
  118. rtc.begin();
  119. }
  120. ///**********S0**********/
  121. //Max S0
  122. BLYNK_WRITE(V10) {
  123. uint8_t nbTr = 3;
  124. uint8_t out[8];
  125. uint8_t in[nbTr];
  126. TabSortie[0].Max = param.asInt();
  127. in[0]=WRITETABVAL;
  128. in[1]=0;
  129. in[2]=TabSortie[0].Max;
  130. if (transmition(in, nbTr, out) == 0) {
  131. //TODO erreur transmit
  132. }
  133. }
  134. //Pente S0
  135. BLYNK_WRITE(V20){
  136. uint8_t nbTr = 3;
  137. uint8_t out[8];
  138. uint8_t in[nbTr];
  139. TabSortie[0].Pente = param.asInt();
  140. in[0]=WRITETABVAL;
  141. in[1]=0+0x80;
  142. in[2]=TabSortie[0].Pente;
  143. if (transmition(in, nbTr, out) == 0) {
  144. //TODO erreur transmit
  145. }
  146. }
  147. //HeureDem S0
  148. BLYNK_WRITE(V30){
  149. uint8_t nbTr = 4;
  150. uint8_t out[8];
  151. uint8_t in[nbTr];
  152. TabSortie[0].HeureDem = param.asLong() / 60;
  153. in[0] = WRITETABHEU;
  154. in[1] = 0;
  155. in[2] =TabSortie[0].HeureDem /60;
  156. in[3] =TabSortie[0].HeureDem % 60;
  157. if (transmition(in, nbTr, out) == 0) {
  158. //TODO erreur transmit
  159. }
  160. }
  161. //HeureArret S0
  162. BLYNK_WRITE(V40){
  163. uint8_t nbTr = 4;
  164. uint8_t out[8];
  165. uint8_t in[nbTr];
  166. TabSortie[0].HeureArret = param.asLong() / 60;
  167. in[0] = WRITETABHEU;
  168. in[1] = 0+0x80;
  169. in[2] =TabSortie[0].HeureArret / 60;
  170. in[3] =TabSortie[0].HeureArret % 60;
  171. if (transmition(in, nbTr, out) == 0) {
  172. //TODO erreur transmit
  173. }
  174. }
  175. //Essai S0
  176. BLYNK_WRITE(V50) {
  177. uint8_t nbTr = 4;
  178. uint8_t out[8];
  179. uint8_t in[nbTr];
  180. TabSortie[0].Essai = param.asInt();
  181. in[0] = WRITEVALESS;
  182. in[1] = 0;
  183. in[2] = TabSortie[0].Essai;
  184. if (transmition(in, nbTr, out) == 0) {
  185. //TODO erreur transmit
  186. }
  187. }
  188. //**********S1**********/
  189. //Max S1
  190. BLYNK_WRITE(V11) {
  191. uint8_t nbTr = 3;
  192. uint8_t out[8];
  193. uint8_t in[nbTr];
  194. TabSortie[1].Max = param.asInt();
  195. in[0]=WRITETABVAL;
  196. in[1]=1;
  197. in[2]=TabSortie[1].Max;
  198. if (transmition(in, nbTr, out) == 0) {
  199. //TODO erreur transmit
  200. }
  201. }
  202. //Pente S1
  203. BLYNK_WRITE(V21){
  204. uint8_t nbTr = 3;
  205. uint8_t out[8];
  206. uint8_t in[nbTr];
  207. TabSortie[1].Pente = param.asInt();
  208. in[0]=WRITETABVAL;
  209. in[1]=1+0x80;
  210. in[2]=TabSortie[1].Pente;
  211. if (transmition(in, nbTr, out) == 0) {
  212. //TODO erreur transmit
  213. }
  214. }
  215. //HeureDem S1
  216. BLYNK_WRITE(V31){
  217. uint8_t nbTr = 4;
  218. uint8_t out[8];
  219. uint8_t in[nbTr];
  220. TabSortie[1].HeureDem = param.asLong() / 60;
  221. in[0] = WRITETABHEU;
  222. in[1] = 1;
  223. in[2] =TabSortie[1].HeureDem /60;
  224. in[3] =TabSortie[1].HeureDem % 60;
  225. if (transmition(in, nbTr, out) == 0) {
  226. //TODO erreur transmit
  227. }
  228. }
  229. //HeureArret S1
  230. BLYNK_WRITE(V41){
  231. uint8_t nbTr = 4;
  232. uint8_t out[8];
  233. uint8_t in[nbTr];
  234. TabSortie[1].HeureArret = param.asLong() / 60;
  235. in[0] = WRITETABHEU;
  236. in[1] = 1+0x80;
  237. in[2] =TabSortie[1].HeureArret / 60;
  238. in[3] =TabSortie[1].HeureArret % 60;
  239. if (transmition(in, nbTr, out) == 0) {
  240. //TODO erreur transmit
  241. }
  242. }
  243. //Essai S1
  244. BLYNK_WRITE(V51) {
  245. uint8_t nbTr = 4;
  246. uint8_t out[8];
  247. uint8_t in[nbTr];
  248. TabSortie[1].Essai = param.asInt();
  249. in[0] = WRITEVALESS;
  250. in[1] = 1;
  251. in[2] = TabSortie[1].Essai;
  252. if (transmition(in, nbTr, out) == 0) {
  253. //TODO erreur transmit
  254. }
  255. }
  256. //**********S2**********/
  257. //Max S2
  258. BLYNK_WRITE(V12) {
  259. uint8_t nbTr = 3;
  260. uint8_t out[8];
  261. uint8_t in[nbTr];
  262. TabSortie[2].Max = param.asInt();
  263. in[0]=WRITETABVAL;
  264. in[1]=2;
  265. in[2]=TabSortie[2].Max;
  266. if (transmition(in, nbTr, out) == 0) {
  267. //TODO erreur transmit
  268. }
  269. }
  270. //Pente S2
  271. BLYNK_WRITE(V22){
  272. uint8_t nbTr = 3;
  273. uint8_t out[8];
  274. uint8_t in[nbTr];
  275. TabSortie[2].Pente = param.asInt();
  276. in[0]=WRITETABVAL;
  277. in[1]=2+0x80;
  278. in[2]=TabSortie[2].Pente;
  279. if (transmition(in, nbTr, out) == 0) {
  280. //TODO erreur transmit
  281. }
  282. }
  283. //HeureDem S2
  284. BLYNK_WRITE(V32){
  285. uint8_t nbTr = 4;
  286. uint8_t out[8];
  287. uint8_t in[nbTr];
  288. TabSortie[2].HeureDem = param.asLong() / 60;
  289. in[0] = WRITETABHEU;
  290. in[1] = 2;
  291. in[2] =TabSortie[2].HeureDem /60;
  292. in[3] =TabSortie[2].HeureDem % 60;
  293. if (transmition(in, nbTr, out) == 0) {
  294. //TODO erreur transmit
  295. }
  296. }
  297. //HeureArret S2
  298. BLYNK_WRITE(V42){
  299. uint8_t nbTr = 4;
  300. uint8_t out[8];
  301. uint8_t in[nbTr];
  302. TabSortie[2].HeureArret = param.asLong() / 60;
  303. in[0] = WRITETABHEU;
  304. in[1] = 2+0x80;
  305. in[2] =TabSortie[2].HeureArret / 60;
  306. in[3] =TabSortie[2].HeureArret % 60;
  307. if (transmition(in, nbTr, out) == 0) {
  308. //TODO erreur transmit
  309. }
  310. }
  311. //Essai S2
  312. BLYNK_WRITE(V52) {
  313. uint8_t nbTr = 4;
  314. uint8_t out[8];
  315. uint8_t in[nbTr];
  316. TabSortie[2].Essai = param.asInt();
  317. in[0] = WRITEVALESS;
  318. in[1] = 2;
  319. in[2] =TabSortie[2].Essai;
  320. if (transmition(in, nbTr, out) == 0) {
  321. //TODO erreur transmit
  322. }
  323. }
  324. //**********S3**********/
  325. //Max S3
  326. BLYNK_WRITE(V13) {
  327. uint8_t nbTr = 3;
  328. uint8_t out[8];
  329. uint8_t in[nbTr];
  330. TabSortie[3].Max = param.asInt();
  331. in[0]=WRITETABVAL;
  332. in[1]=3;
  333. in[2]=TabSortie[3].Max;
  334. if (transmition(in, nbTr, out) == 0) {
  335. //TODO erreur transmit
  336. }
  337. }
  338. //Pente S3
  339. BLYNK_WRITE(V23){
  340. uint8_t nbTr = 3;
  341. uint8_t out[8];
  342. uint8_t in[nbTr];
  343. TabSortie[3].Pente = param.asInt();
  344. in[0]=WRITETABVAL;
  345. in[1]=3+0x80;
  346. in[2]=TabSortie[3].Pente;
  347. if (transmition(in, nbTr, out) == 0) {
  348. //TODO erreur transmit
  349. }
  350. }
  351. //HeureDem S3
  352. BLYNK_WRITE(V33){
  353. uint8_t nbTr = 4;
  354. uint8_t out[8];
  355. uint8_t in[nbTr];
  356. TabSortie[3].HeureDem = param.asLong() / 60;
  357. in[0] = WRITETABHEU;
  358. in[1] = 3;
  359. in[2] =TabSortie[3].HeureDem /60;
  360. in[3] =TabSortie[3].HeureDem % 60;
  361. if (transmition(in, nbTr, out) == 0) {
  362. //TODO erreur transmit
  363. }
  364. }
  365. //HeureArret S3
  366. BLYNK_WRITE(V43){
  367. uint8_t nbTr = 4;
  368. uint8_t out[8];
  369. uint8_t in[nbTr];
  370. TabSortie[3].HeureArret = param.asLong() / 60;
  371. in[0] = WRITETABHEU;
  372. in[1] = 3+0x80;
  373. in[2] =TabSortie[3].HeureArret / 60;
  374. in[3] =TabSortie[3].HeureArret % 60;
  375. if (transmition(in, nbTr, out) == 0) {
  376. //TODO erreur transmit
  377. }
  378. }
  379. //Essai S3
  380. BLYNK_WRITE(V53) {
  381. uint8_t nbTr = 4;
  382. uint8_t out[8];
  383. uint8_t in[nbTr];
  384. TabSortie[3].Essai = param.asInt();
  385. in[0] = WRITEVALESS;
  386. in[1] = 3;
  387. in[2] =TabSortie[3].Essai;
  388. if (transmition(in, nbTr, out) == 0) {
  389. //TODO erreur transmit
  390. }
  391. }
  392. //**********S4**********/
  393. //Max S4
  394. BLYNK_WRITE(V14) {
  395. uint8_t nbTr = 3;
  396. uint8_t out[8];
  397. uint8_t in[nbTr];
  398. TabSortie[4].Max = param.asInt();
  399. in[0]=WRITETABVAL;
  400. in[1]=4;
  401. in[2]=TabSortie[4].Max;
  402. if (transmition(in, nbTr, out) == 0) {
  403. //TODO erreur transmit
  404. }
  405. }
  406. //Pente S4
  407. BLYNK_WRITE(V24){
  408. uint8_t nbTr = 3;
  409. uint8_t out[8];
  410. uint8_t in[nbTr];
  411. TabSortie[4].Pente = param.asInt();
  412. in[0]=WRITETABVAL;
  413. in[1]=4+0x80;
  414. in[2]=TabSortie[4].Pente;
  415. if (transmition(in, nbTr, out) == 0) {
  416. //TODO erreur transmit
  417. }
  418. }
  419. //HeureDem S4
  420. BLYNK_WRITE(V34){
  421. uint8_t nbTr = 4;
  422. uint8_t out[8];
  423. uint8_t in[nbTr];
  424. TabSortie[4].HeureDem = param.asLong() / 60;
  425. in[0] = WRITETABHEU;
  426. in[1] = 4;
  427. in[2] =TabSortie[4].HeureDem /60;
  428. in[3] =TabSortie[4].HeureDem % 60;
  429. if (transmition(in, nbTr, out) == 0) {
  430. //TODO erreur transmit
  431. }
  432. }
  433. //HeureArret S4
  434. BLYNK_WRITE(V44){
  435. uint8_t nbTr = 4;
  436. uint8_t out[8];
  437. uint8_t in[nbTr];
  438. TabSortie[4].HeureArret = param.asLong() / 60;
  439. in[0] = WRITETABHEU;
  440. in[1] = 4+0x80;
  441. in[2] =TabSortie[4].HeureArret / 60;
  442. in[3] =TabSortie[4].HeureArret % 60;
  443. if (transmition(in, nbTr, out) == 0) {
  444. //TODO erreur transmit
  445. }
  446. }
  447. //Essai S4
  448. BLYNK_WRITE(V54) {
  449. uint8_t nbTr = 4;
  450. uint8_t out[8];
  451. uint8_t in[nbTr];
  452. TabSortie[4].Essai = param.asInt();
  453. in[0] = WRITEVALESS;
  454. in[1] = 4;
  455. in[2] =TabSortie[4].Essai;
  456. if (transmition(in, nbTr, out) == 0) {
  457. //TODO erreur transmit
  458. }
  459. }
  460. //**********S5**********/
  461. //Max S5
  462. BLYNK_WRITE(V15) {
  463. uint8_t nbTr = 3;
  464. uint8_t out[8];
  465. uint8_t in[nbTr];
  466. TabSortie[5].Max = param.asInt();
  467. in[0]=WRITETABVAL;
  468. in[1]=5;
  469. in[2]=TabSortie[5].Max;
  470. if (transmition(in, nbTr, out) == 0) {
  471. //TODO erreur transmit
  472. }
  473. }
  474. //Pente S5
  475. BLYNK_WRITE(V25){
  476. uint8_t nbTr = 3;
  477. uint8_t out[8];
  478. uint8_t in[nbTr];
  479. TabSortie[5].Pente = param.asInt();
  480. in[0]=WRITETABVAL;
  481. in[1]=5+0x80;
  482. in[2]=TabSortie[5].Pente;
  483. if (transmition(in, nbTr, out) == 0) {
  484. //TODO erreur transmit
  485. }
  486. }
  487. //HeureDem S5
  488. BLYNK_WRITE(V35){
  489. uint8_t nbTr = 4;
  490. uint8_t out[8];
  491. uint8_t in[nbTr];
  492. TabSortie[5].HeureDem = param.asLong() / 60;
  493. in[0] = WRITETABHEU;
  494. in[1] = 5;
  495. in[2] =TabSortie[5].HeureDem /60;
  496. in[3] =TabSortie[5].HeureDem % 60;
  497. if (transmition(in, nbTr, out) == 0) {
  498. //TODO erreur transmit
  499. }
  500. }
  501. //HeureArret S5
  502. BLYNK_WRITE(V45){
  503. uint8_t nbTr = 4;
  504. uint8_t out[8];
  505. uint8_t in[nbTr];
  506. TabSortie[5].HeureArret = param.asLong() / 60;
  507. in[0] = WRITETABHEU;
  508. in[1] = 5+0x80;
  509. in[2] =TabSortie[5].HeureArret / 60;
  510. in[3] =TabSortie[5].HeureArret % 60;
  511. if (transmition(in, nbTr, out) == 0) {
  512. //TODO erreur transmit
  513. }
  514. }
  515. //Essai S5
  516. BLYNK_WRITE(V55) {
  517. uint8_t nbTr = 4;
  518. uint8_t out[8];
  519. uint8_t in[nbTr];
  520. TabSortie[5].Essai = param.asInt();
  521. in[0] = WRITEVALESS;
  522. in[1] = 5;
  523. in[2] =TabSortie[5].Essai;
  524. if (transmition(in, nbTr, out) == 0) {
  525. //TODO erreur transmit
  526. }
  527. }
  528. //**********S6**********/
  529. //Max S6
  530. BLYNK_WRITE(V16) {
  531. uint8_t nbTr = 3;
  532. uint8_t out[8];
  533. uint8_t in[nbTr];
  534. TabSortie[6].Max = param.asInt();
  535. in[0]=WRITETABVAL;
  536. in[1]=6;
  537. in[2]=TabSortie[6].Max;
  538. if (transmition(in, nbTr, out) == 0) {
  539. //TODO erreur transmit
  540. }
  541. }
  542. //Pente S6
  543. BLYNK_WRITE(V26){
  544. uint8_t nbTr = 3;
  545. uint8_t out[8];
  546. uint8_t in[nbTr];
  547. TabSortie[6].Pente = param.asInt();
  548. in[0]=WRITETABVAL;
  549. in[1]=6+0x80;
  550. in[2]=TabSortie[6].Pente;
  551. if (transmition(in, nbTr, out) == 0) {
  552. //TODO erreur transmit
  553. }
  554. }
  555. //HeureDem S6
  556. BLYNK_WRITE(V36){
  557. uint8_t nbTr = 4;
  558. uint8_t out[8];
  559. uint8_t in[nbTr];
  560. TabSortie[6].HeureDem = param.asLong() / 60;
  561. in[0] = WRITETABHEU;
  562. in[1] = 6;
  563. in[2] =TabSortie[6].HeureDem /60;
  564. in[3] =TabSortie[6].HeureDem % 60;
  565. if (transmition(in, nbTr, out) == 0) {
  566. //TODO erreur transmit
  567. }
  568. }
  569. //HeureArret S6
  570. BLYNK_WRITE(V46){
  571. uint8_t nbTr = 4;
  572. uint8_t out[8];
  573. uint8_t in[nbTr];
  574. TabSortie[6].HeureArret = param.asLong() / 60;
  575. in[0] = WRITETABHEU;
  576. in[1] = 6+0x80;
  577. in[2] =TabSortie[6].HeureArret / 60;
  578. in[3] =TabSortie[6].HeureArret % 60;
  579. if (transmition(in, nbTr, out) == 0) {
  580. //TODO erreur transmit
  581. }
  582. }
  583. //Essai S6
  584. BLYNK_WRITE(V56) {
  585. uint8_t nbTr = 4;
  586. uint8_t out[8];
  587. uint8_t in[nbTr];
  588. TabSortie[6].Essai = param.asInt();
  589. in[0] = WRITEVALESS;
  590. in[1] = 6;
  591. in[2] =TabSortie[6].Essai;
  592. if (transmition(in, nbTr, out) == 0) {
  593. //TODO erreur transmit
  594. }
  595. }
  596. //**********S7**********/
  597. //Max S7
  598. BLYNK_WRITE(V17) {
  599. uint8_t nbTr = 3;
  600. uint8_t out[8];
  601. uint8_t in[nbTr];
  602. TabSortie[7].Max = param.asInt();
  603. in[0]=WRITETABVAL;
  604. in[1]=7;
  605. in[2]=TabSortie[7].Max;
  606. if (transmition(in, nbTr, out) == 0) {
  607. //TODO erreur transmit
  608. }
  609. }
  610. //Pente S7
  611. BLYNK_WRITE(V27){
  612. uint8_t nbTr = 3;
  613. uint8_t out[8];
  614. uint8_t in[nbTr];
  615. TabSortie[7].Pente = param.asInt();
  616. in[0]=WRITETABVAL;
  617. in[1]=7+0x80;
  618. in[2]=TabSortie[7].Pente;
  619. if (transmition(in, nbTr, out) == 0) {
  620. //TODO erreur transmit
  621. }
  622. }
  623. //HeureDem S7
  624. BLYNK_WRITE(V37){
  625. uint8_t nbTr = 4;
  626. uint8_t out[8];
  627. uint8_t in[nbTr];
  628. TabSortie[7].HeureDem = param.asLong() / 60;
  629. in[0] = WRITETABHEU;
  630. in[1] = 7;
  631. in[2] =TabSortie[7].HeureDem /60;
  632. in[3] =TabSortie[7].HeureDem % 60;
  633. if (transmition(in, nbTr, out) == 0) {
  634. //TODO erreur transmit
  635. }
  636. }
  637. //HeureArret S7
  638. BLYNK_WRITE(V47){
  639. uint8_t nbTr = 4;
  640. uint8_t out[8];
  641. uint8_t in[nbTr];
  642. TabSortie[7].HeureArret = param.asLong() / 60;
  643. in[0] = WRITETABHEU;
  644. in[1] = 7+0x80;
  645. in[2] =TabSortie[7].HeureArret / 60;
  646. in[3] =TabSortie[7].HeureArret % 60;
  647. if (transmition(in, nbTr, out) == 0) {
  648. //TODO erreur transmit
  649. }
  650. }
  651. //Essai S7
  652. BLYNK_WRITE(V57) {
  653. uint8_t nbTr = 4;
  654. uint8_t out[8];
  655. uint8_t in[nbTr];
  656. TabSortie[7].Essai = param.asInt();
  657. in[0] = WRITEVALESS;
  658. in[1] = 7;
  659. in[2] =TabSortie[7].Essai;
  660. if (transmition(in, nbTr, out) == 0) {
  661. //TODO erreur transmit
  662. }
  663. }
  664. //**********S8**********/
  665. //Max S8
  666. BLYNK_WRITE(V18) {
  667. uint8_t nbTr = 3;
  668. uint8_t out[8];
  669. uint8_t in[nbTr];
  670. TabSortie[8].Max = param.asInt();
  671. in[0]=WRITETABVAL;
  672. in[1]=8;
  673. in[2]=TabSortie[8].Max;
  674. if (transmition(in, nbTr, out) == 0) {
  675. //TODO erreur transmit
  676. }
  677. }
  678. //Pente S8
  679. BLYNK_WRITE(V28){
  680. uint8_t nbTr = 3;
  681. uint8_t out[8];
  682. uint8_t in[nbTr];
  683. TabSortie[8].Pente = param.asInt();
  684. in[0]=WRITETABVAL;
  685. in[1]=8+0x80;
  686. in[2]=TabSortie[8].Pente;
  687. if (transmition(in, nbTr, out) == 0) {
  688. //TODO erreur transmit
  689. }
  690. }
  691. //HeureDem S8
  692. BLYNK_WRITE(V38){
  693. uint8_t nbTr = 4;
  694. uint8_t out[8];
  695. uint8_t in[nbTr];
  696. TabSortie[8].HeureDem = param.asLong() / 60;
  697. in[0] = WRITETABHEU;
  698. in[1] = 8;
  699. in[2] =TabSortie[8].HeureDem /60;
  700. in[3] =TabSortie[8].HeureDem % 60;
  701. if (transmition(in, nbTr, out) == 0) {
  702. //TODO erreur transmit
  703. }
  704. }
  705. //HeureArret S8
  706. BLYNK_WRITE(V48){
  707. uint8_t nbTr = 4;
  708. uint8_t out[8];
  709. uint8_t in[nbTr];
  710. TabSortie[8].HeureArret = param.asLong() / 60;
  711. in[0] = WRITETABHEU;
  712. in[1] = 8+0x80;
  713. in[2] =TabSortie[8].HeureArret / 60;
  714. in[3] =TabSortie[8].HeureArret % 60;
  715. if (transmition(in, nbTr, out) == 0) {
  716. //TODO erreur transmit
  717. }
  718. }
  719. //Essai S8
  720. BLYNK_WRITE(V58) {
  721. uint8_t nbTr = 4;
  722. uint8_t out[8];
  723. uint8_t in[nbTr];
  724. TabSortie[8].Essai = param.asInt();
  725. in[0] = WRITEVALESS;
  726. in[1] = 8;
  727. in[2] =TabSortie[8].Essai;
  728. if (transmition(in, nbTr, out) == 0) {
  729. //TODO erreur transmit
  730. }
  731. }
  732. //**********S9**********/
  733. //Max S9
  734. BLYNK_WRITE(V19) {
  735. uint8_t nbTr = 3;
  736. uint8_t out[8];
  737. uint8_t in[nbTr];
  738. TabSortie[9].Max = param.asInt();
  739. in[0]=WRITETABVAL;
  740. in[1]=9;
  741. in[2]=TabSortie[9].Max;
  742. if (transmition(in, nbTr, out) == 0) {
  743. //TODO erreur transmit
  744. }
  745. }
  746. //Pente S9
  747. BLYNK_WRITE(V29){
  748. uint8_t nbTr = 3;
  749. uint8_t out[8];
  750. uint8_t in[nbTr];
  751. TabSortie[9].Pente = param.asInt();
  752. in[0]=WRITETABVAL;
  753. in[1]=9+0x80;
  754. in[2]=TabSortie[9].Pente;
  755. if (transmition(in, nbTr, out) == 0) {
  756. //TODO erreur transmit
  757. }
  758. }
  759. //HeureDem S9
  760. BLYNK_WRITE(V39){
  761. uint8_t nbTr = 4;
  762. uint8_t out[8];
  763. uint8_t in[nbTr];
  764. TabSortie[9].HeureDem = param.asLong() / 60;
  765. in[0] = WRITETABHEU;
  766. in[1] = 9;
  767. in[2] =TabSortie[9].HeureDem /60;
  768. in[3] =TabSortie[9].HeureDem % 60;
  769. if (transmition(in, nbTr, out) == 0) {
  770. //TODO erreur transmit
  771. }
  772. }
  773. //HeureArret S9
  774. BLYNK_WRITE(V49){
  775. uint8_t nbTr = 4;
  776. uint8_t out[8];
  777. uint8_t in[nbTr];
  778. TabSortie[9].HeureArret = param.asLong() / 60;
  779. in[0] = WRITETABHEU;
  780. in[1] = 9+0x80;
  781. in[2] =TabSortie[9].HeureArret / 60;
  782. in[3] =TabSortie[9].HeureArret % 60;
  783. if (transmition(in, nbTr, out) == 0) {
  784. //TODO erreur transmit
  785. }
  786. }
  787. //Essai S9
  788. BLYNK_WRITE(V59) {
  789. uint8_t nbTr = 4;
  790. uint8_t out[8];
  791. uint8_t in[nbTr];
  792. TabSortie[9].Essai = param.asInt();
  793. in[0] = WRITEVALESS;
  794. in[1] = 9;
  795. in[2] =TabSortie[9].Essai;
  796. if (transmition(in, nbTr, out) == 0) {
  797. //TODO erreur transmit
  798. }
  799. }