En theorie oui c'est ce que j'ai fait mais même en renommant les pages et toute l'interface nextion j'aie des erreurs du genre: 'P0_b0PopCallback' was not declared in this scope
et pourtant la page et le bouton sont bien déclaré.
la, c'est du coté du nexion et de la génération des pages que ça ne marche pas.
Je ne peux pas t'aider sur cette partie, je n'ai pas de nexion
J'ai refait le code du nextion mais c'est au niveau de la compilation que cela bloque. Comment est ton systeme de gestion et comment tu affiche.
Le projet de base compile correctement ?
tu peux coller tes sources quelque part pour que je regarde ?
Mon système est au stade de projet pour l'instant, très peu de temps a y consacrer mais l'affichage sera fait par un LCD 2004 avec des menus programmé a ma sauce
Le projet de base est ok, j'ai compresser mon dossier mais je ne sais pas comment vous l'envoyer car je n'ai pas de site ftp.
Un partage du fichier via Google Drive, One Drive, DropBox ou le partage Free (http://dl.free.fr/)
Voici le lien pour one drive
https://1drv.ms/u/s!AlnUmk8GSOMFh1U1jYyVSVxSd7nj?e=V8mSsM
Merci de prendre le temps d'étudier mon problème.
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 !
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
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
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.
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.
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...
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.
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
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.
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.
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?
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
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 exempleLa 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?