Go Down

Topic: Domogarden: Gestion de piscine et arrosage intégré (Read 54802 times) previous topic - next topic

TheLapin

Un partage du fichier via Google Drive, One Drive, DropBox ou le partage Free (http://dl.free.fr/)


maccaire

Voici le lien pour one drive

https://1drv.ms/u/s!AlnUmk8GSOMFh1U1jYyVSVxSd7nj?e=V8mSsM

Merci de prendre le temps d'étudier mon problème.

TheLapin

En fait, c'est assez simple :

'P0_b0PopCallback' was not declared in this scope

Le compilo semble être assez particulier : l'erreur signifie que :

 - soit la fonction n'est pas déclarée
==> ce n'est pas le cas ici

 - soit il y a une erreur de compilation dans la fonction
==> BINGO : In function 'void P0_b0PopCallback(void*)': page_0:8:18: error: 'depart_filtration' was not declared in this scope

Je pense que tu as voulu aller trop vite dans le "nettoyage" du code.
Si tu supprime les variables globales qui ne intéressais pas, les fonctions qui les utilisent seront en erreur : il faudra les nettoyer.
Mais le compilo sortira aussi une erreur sur chaque appel car la fonction n'est plus valide

En gros, il ne faut pas s'arreter a la première erreur ou au erreur de scope.

Une fois nettoyé, ça compile correctement, mais il faut être méthodique :

parmis les truc en plus :
 - DHT11_PIN n'est pas déclaré
 - filtrationON et horsgelON ont des référence partout
 - decompte_arrosage_auto() a nettoyer
 - forcément, ethernet() contient aussi plein de variable supprimé
 - Dans page_1.ino, il manque le debut de la fonction void setPhRedox(void) donc la suite du fichier ne peux pas compiler (en particulier le setTime())
 - page_2.ino : il reste les accolade du P2Display()
 - page_3.ino contient des fonctions de page_4.ino

bref, c'est un peu le bronx !

maccaire

Ok hier j'ai déjà débusqué des erreur dans page 0 je me remet dessus avec les points que tu m'a signalé.
Merci

maccaire

Bonjour TheLapin
Je suis perdu j'ai passé l'apres midi a chercher les erreurs, mais je n'arrive toujours pas a compiler. J'ai l'impression que je n'ai pas de lien sur la page 0 ?

Je remet mes fichiers
https://1drv.ms/u/s!AlnUmk8GSOMFh174i8x6VfpDA02t?e=fzx5s1

Merci

TheLapin

Tu va encore trop vite dans le découpage

Le compilo arduino est très sensible. il faut donc l'aider un peu

 - commence pas mettre en commentaire tout ce qu'il y a dans la fonction loop() et le bloc de callback XXX.attachPop() dans la fonction setup() pour que les autres fichiers compilent.

Par exemple, dans la fonction ethernet(), il manque les 3 accolades de fin
Dans page_3 : il y a des fonction de page 4, il manque des variables, etc...

- corrige tout.

- Ensuite dé-commente la fonction setup() et loop() mais petit a petit et vérifie bien que pour un accolade ouvrante, il y a bien une fermante.


maccaire

Je n'ai pas l'impression d'aller trop vite je compare les fichiers originaux qui fonctionne avec les miens, je me remet a l'ouvrage. Utile tu arduino IDE ou platformio j'ai essayé ce dernier mais il ne debug pas les cartes mega 2560.

TheLapin

#292
Oct 04, 2019, 11:19 am Last Edit: Oct 04, 2019, 05:04 pm by TheLapin
En fait, je parle de "trop vite" dans le sens ou tu as voulu modifier les pages du nexion et le code en supprimant tout ce qui ne t'intéressait pas d'un coup.

J'aurais plutôt avancé par étape pour être plus efficace :
 - je supprime la partie arrosage (suppression ou mieux avec un #ifndef DESACTIVE_ARROSAGE)
 - je compile et corrige les erreurs

 - je supprime la partie chlore (suppression ou mieux avec un #ifndef DESACTIVE_REDOX)
 - je compile et corrige les erreurs

 et enfin : je modifie les pages du nexion

Pour coder, j'utilise VisualStudio (+ plugin Visual Micro (+ Visual Assist))
(Visual Studio 2017, pas Visual Studio Code)
Il a des raccourcis pas mal pour trouver les accolades ouvrantes/fermantes, etc...

maccaire

Encore une étape mais la je bloque avec message:
Compiling 'domo_maison1' for 'ATmega2560 (Mega 2560) (Arduino/Genuino Mega)'
 
page_0.ino: In function void ethernet()
 
page_0.ino: 7:1: error: a function-definition is not allowed here before '{' token
 
page_0.ino: 28:1: error: a function-definition is not allowed here before '{' token
 
page_0.ino: 87:1: error: a function-definition is not allowed here before '{' token
 
page_0.ino: 102:1: error: a function-definition is not allowed here before '{' token
 
page_1.ino: 5:1: error: a function-definition is not allowed here before '{' token
 
page_1.ino: 11:1: error: a function-definition is not allowed here before '{' token
 
page_1.ino: 17:1: error: a function-definition is not allowed here before '{' token
 
page_1.ino: 23:1: error: a function-definition is not allowed here before '{' token
 
page_1.ino: 28:1: error: a function-definition is not allowed here before '{' token
 
page_1.ino: 40:1: error: a function-definition is not allowed here before '{' token
 
page_1.ino: 45:1: error: a function-definition is not allowed here before '{' token
 
page_1.ino: 50:1: error: a function-definition is not allowed here before '{' token
 
page_1.ino: 55:1: error: a function-definition is not allowed here before '{' token
 
page_1.ino: 61:1: error: a function-definition is not allowed here before '{' token
 
page_1.ino: 67:1: error: a function-definition is not allowed here before '{' token
 
page_1.ino: 72:1: error: a function-definition is not allowed here before '{' token
 
page_1.ino: 77:1: error: a function-definition is not allowed here before '{' token
 
page_1.ino: 83:1: error: a function-definition is not allowed here before '{' token
 
page_1.ino: 90:1: error: a function-definition is not allowed here before '{' token
 
page_1.ino: 101:1: error: a function-definition is not allowed here before '{' token
 
page_1.ino: 106:1: error: a function-definition is not allowed here before '{' token
Error compiling project sources
Build failed for project 'domo_maison1'
 
page_1.ino: 111:1: error: a function-definition is not allowed here before '{' token
 
page_1.ino: 116:1: error: a function-definition is not allowed here before '{' token
 
page_1.ino: 121:1: error: a function-definition is not allowed here before '{' token
 
page_1.ino: 126:1: error: a function-definition is not allowed here before '{' token
 
page_1.ino: 131:1: error: a function-definition is not allowed here before '{' token
 
page_1.ino: 143:1: error: a function-definition is not allowed here before '{' token
 
page_1.ino: 351:1: error: a function-definition is not allowed here before '{' token
 
page_2.ino: 5:1: error: a function-definition is not allowed here before '{' token
 
page_2.ino: 13:1: error: a function-definition is not allowed here before '{' token
 
page_2.ino: 21:1: error: a function-definition is not allowed here before '{' token
 
page_2.ino: 35:1: error: a function-definition is not allowed here before '{' token
 
page_2.ino: 50:1: error: a function-definition is not allowed here before '{' token
 
page_3.ino: 5:1: error: a function-definition is not allowed here before '{' token
 
page_3.ino: 17:1: error: a function-definition is not allowed here before '{' token
 
page_3.ino: 38:1: error: a function-definition is not allowed here before '{' token
 
page_3.ino: 48:1: error: a function-definition is not allowed here before '{' token
 
page_3.ino: 75:1: error: a function-definition is not allowed here before '{' token
 
page_3.ino: 97:1: error: a function-definition is not allowed here before '{' token
 
page_4.ino: 5:1: error: a function-definition is not allowed here before '{' token
 
page_4.ino: 26:1: error: a function-definition is not allowed here before '{' token
 
page_4.ino: 33:1: error: a function-definition is not allowed here before '{' token
 
page_4.ino: 41:1: error: a function-definition is not allowed here before '{' token
 
page_4.ino: 49:1: error: a function-definition is not allowed here before '{' token
 
permanent.ino: 20:18: error: a function-definition is not allowed here before '{' token
   void temp_sytem(){
 
permanent.ino: 40:14: error: a function-definition is not allowed here before '{' token
   void SDCard(){
 
permanent.ino: 68:20: error: a function-definition is not allowed here before '{' token
   void injection_ph(){
 
permanent.ino: 145:1: error: expected '}' at end of input
 
permanent.ino: 145:1: error: expected '}' at end of input
 
permanent.ino: 145:1: error: expected '}' at end of input

Voici les fichiers recalcitrants (attention gros zip complet avec librairies)
Merci de ta patiente avec un debutant.

https://1drv.ms/u/s!AlnUmk8GSOMFh1-Fdq4Esp12XgKE?e=94loug

TheLapin

Rappel de la démarche :
 - virer tous les fichiers .ino autre que le fichier principale dans un autre répertoire
 - mettre en commentaire la partie declaration des callback du nexion dans setup() et mettre en commentaire les fonction des autres fichiers (ethernet, SDCard(), etc...)
 - compiler
 - remettre ensuite un fichier du style permanent.ino et compiler/corriger, etc...

au final, il y a pelin de corrections à faire :

permanent.ino :

- SDCard()
3 lignes a supprimer
      //fichierSD.print("Redox:");
      //fichierSD.println(redox_value_float);
      //fichierSD.println("   ");


- il manque la variable
filtrationON;


ethernet.ino :
- ethernet()

il manque 3 accolades fermante en dessous du commentaire
///////////////////////// Arrosage Intégré /////////////////////////
=> c'est ce qui pose le plus de soucis au compilateur

page_0.ino :
- P0_t22 pas déclaré

page_1.ino
- plein de truc pas déclaré, a nettoyer :
int SetPhRedoxUp;
int seuil_redox;
int delta_redox;
int addr_delta_redox;
int addr_eeprom_redox;
int addr_seuil_redox;
int etalon_redox;
float redox_value_float;
int SetPhRedoxType;

page_3.ino
il y a 2 fois la fonction P3_b1PopCallback()

et normalement, ça doit compiler


TheLapin

#295
Oct 07, 2019, 01:21 pm Last Edit: Oct 07, 2019, 02:22 pm by TheLapin
J'hésite a continuer les explications sur le thread : on passe en PM ?
J'ai peur que l'on pollue celui-ci avec des soucis de compilation qui n'ont pas de rapport direct avec le projet.

maccaire

Ok merci pour ton aide.
 J'ai l'impression que nous sommes un peu seul sur ce forum. Je crois que je vais laisser tomber et passer a autre chose de toute façon la saison piscine est terminée pour cette année.

fioulmaster

Bonjour, magnifique projet!
Merci Tariflette!
Je suis actuellement en train de me faire une gestion de temps de filtration via Arduino et Sonde Dallas.
Je commençais à regarder du côté des régulateurs pH et je suis tombé sur ce projet.
Je vais donc éplucher et nettoyer ce code en fonction de mes besoins.
Deux questions pour commencer:
- comment vieillit ta sonde pH?
- as-tu un lien pour la pompe doseuse?

tartiflette

Bonjour,

La pompe doseuse avait été achetée en ligne sur un site de piscine.
Tu peux la trouver aux alentours de 150€, chez eau2.fr par exemple

La sonde PH a l'air d'avoir une bonne durée de vie, mais vu le prix sur aliexpress, je n'hésite pas à la changer régulièrement. Elles tiennent facilement 2 ans.
mais à prendre en compte:
- j'utilise une chambre d'analyse
- je retire les sondes lors de mon hivernage actif

fioulmaster

Bonjour,

La pompe doseuse avait été achetée en ligne sur un site de piscine.
Tu peux la trouver aux alentours de 150€, chez eau2.fr par exemple

La sonde PH a l'air d'avoir une bonne durée de vie, mais vu le prix sur aliexpress, je n'hésite pas à la changer régulièrement. Elles tiennent facilement 2 ans.
mais à prendre en compte:
- j'utilise une chambre d'analyse
- je retire les sondes lors de mon hivernage actif
Merci pour ces précisions.
Quel est l'interêt de la chambre d'analyse? Quand je regarde les régulateurs pH du commerce, ils n'ont pas l'air d'en être équipé?
Est-ce indispensable?

Go Up