tournesol - freetvaira.free.fr/projets/cdc-2016/tournesol-refman.pdfr154 jathiel 2016-06-08 14 :03...
TRANSCRIPT
Tournesol1.1
Généré par Doxygen 1.7.6.1
Jeudi Juin 9 2016 21 :46 :01
TABLE DES MATIÈRES i
Table des matieres
1 Page principale du projet Tournesol 1
1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Table des matières . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2 Changelog 2
3 Configuration 12
4 Manuel d’installation 13
5 Recette 13
6 Base de données 14
7 A propos 16
8 Licence GPL 16
9 Liste des choses à faire 16
10 Documentation des classes 17
10.1 Référence de la classe AcquisitionMeteo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
10.1.1 Description détaillée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
10.1.2 Documentation des constructeurs et destructeur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
10.1.3 Documentation des fonctions membres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
10.1.4 Documentation des données membres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
10.2 Référence de la classe AcquisitionRegulateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
10.2.1 Description détaillée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
10.2.2 Documentation des constructeurs et destructeur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
10.2.3 Documentation des fonctions membres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
10.2.4 Documentation des données membres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
10.3 Référence de la classe AcquisitionSuiveur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
10.3.1 Description détaillée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
10.3.2 Documentation des constructeurs et destructeur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
10.3.3 Documentation des fonctions membres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
10.3.4 Documentation des données membres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
10.4 Référence de la structure AlarmesRegulateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
10.4.1 Description détaillée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
10.4.2 Documentation des données membres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
10.5 Référence de la classe AsservissementSuiveur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
10.5.1 Description détaillée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
10.5.2 Documentation des constructeurs et destructeur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
10.5.3 Documentation des fonctions membres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
10.5.4 Documentation des données membres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
10.6 Référence de la classe BaseDeDonnees . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
10.6.1 Description détaillée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
10.6.2 Documentation des constructeurs et destructeur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
TABLE DES MATIÈRES ii
10.6.3 Documentation des fonctions membres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
10.6.4 Documentation des données membres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
10.7 Référence de la classe BusI2C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
10.7.1 Description détaillée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
10.7.2 Documentation des constructeurs et destructeur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
10.7.3 Documentation des fonctions membres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
10.7.4 Documentation des données membres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
10.8 Référence de la classe CapteurLuminosite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
10.8.1 Description détaillée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
10.8.2 Documentation des constructeurs et destructeur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
10.8.3 Documentation des fonctions membres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
10.8.4 Documentation des données membres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
10.9 Référence de la classe CapteurSolaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
10.9.1 Description détaillée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
10.9.2 Documentation des constructeurs et destructeur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
10.9.3 Documentation des fonctions membres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
10.9.4 Documentation des données membres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
10.10Référence de la structure configurationProtectionVent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
10.11Référence de la structure ConfigurationProtectionVent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
10.11.1 Documentation des données membres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
10.12Référence de la classe CV7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
10.12.1 Description détaillée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
10.12.2 Documentation des constructeurs et destructeur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
10.12.3 Documentation des fonctions membres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
10.12.4 Documentation des données membres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
10.13Référence de la classe Horloge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
10.13.1 Documentation des constructeurs et destructeur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
10.13.2 Documentation des fonctions membres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
10.13.3 Documentation des données membres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
10.14Référence de la classe IhmTournesol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
10.14.1 Description détaillée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
10.14.2 Documentation des constructeurs et destructeur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
10.14.3 Documentation des fonctions membres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
10.14.4 Documentation des données membres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
10.15Référence de la structure InformationsRegulateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
10.15.1 Documentation des données membres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
10.16Référence de la structure InformationsStationMeteo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
10.16.1 Documentation des données membres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
10.17Référence de la structure InformationsSuiveur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
10.17.1 Documentation des données membres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
10.18Référence de la structure JournalisationRegulateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
10.18.1 Documentation des données membres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
10.19Référence de la structure Mesure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
10.19.1 Documentation des données membres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
10.20Référence de la structure ParametresRegulateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
TABLE DES MATIÈRES iii
10.20.1 Documentation des données membres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
10.21Référence de la classe Port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
10.21.1 Description détaillée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
10.21.2 Documentation des constructeurs et destructeur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
10.21.3 Documentation des fonctions membres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
10.21.4 Documentation des données membres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
10.22Référence de la classe ProtectionVent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
10.22.1 Documentation des constructeurs et destructeur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
10.22.2 Documentation des fonctions membres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
10.22.3 Documentation des données membres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
10.23Référence de la classe Regulateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
10.23.1 Description détaillée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
10.23.2 Documentation des constructeurs et destructeur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
10.23.3 Documentation des fonctions membres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
10.23.4 Documentation des données membres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
10.24Référence de la classe StationMeteo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
10.24.1 Description détaillée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
10.24.2 Documentation des constructeurs et destructeur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
10.24.3 Documentation des fonctions membres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
10.24.4 Documentation des données membres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
10.25Référence de la classe SuiveurSolaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
10.25.1 Description détaillée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
10.25.2 Documentation des constructeurs et destructeur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
10.25.3 Documentation des fonctions membres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
10.25.4 Documentation des données membres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
11 Documentation des fichiers 149
11.1 Référence du fichier acquisitionMeteo.cpp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
11.2 Référence du fichier acquisitionMeteo.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
11.2.1 Documentation des macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
11.3 Référence du fichier acquisitionRegulateur.cpp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
11.4 Référence du fichier acquisitionRegulateur.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
11.4.1 Documentation des macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
11.5 Référence du fichier acquisitionSuiveur.cpp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
11.6 Référence du fichier acquisitionSuiveur.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
11.7 Référence du fichier asservissementSuiveur.cpp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
11.8 Référence du fichier asservissementSuiveur.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
11.8.1 Documentation des macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
11.9 Référence du fichier basededonnees.cpp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
11.10Référence du fichier basededonnees.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
11.10.1 Documentation des macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
11.11Référence du fichier busi2c.cpp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
11.12Référence du fichier busi2c.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
11.12.1 Description détaillée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
11.12.2 Documentation des macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
11.13Référence du fichier capteurLuminosite.cpp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
1 Page principale du projet Tournesol 1
11.14Référence du fichier capteurLuminosite.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
11.14.1 Documentation des macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
11.15Référence du fichier capteurSolaire.cpp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
11.16Référence du fichier capteurSolaire.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
11.16.1 Documentation des macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
11.17Référence du fichier Changelog.dox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
11.18Référence du fichier CV7.cpp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
11.19Référence du fichier CV7.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
11.19.1 Documentation des macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
11.20Référence du fichier horloge.cpp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
11.21Référence du fichier horloge.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
11.21.1 Documentation des macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
11.22Référence du fichier ihmTournesol.cpp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
11.23Référence du fichier ihmTournesol.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
11.24Référence du fichier main.cpp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
11.24.1 Description détaillée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
11.24.2 Documentation des fonctions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
11.25Référence du fichier port.cpp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
11.26Référence du fichier port.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
11.26.1 Documentation des macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
11.27Référence du fichier protectionVent.cpp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
11.27.1 Documentation des macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
11.28Référence du fichier protectionVent.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
11.28.1 Documentation des macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
11.29Référence du fichier README.dox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
11.30Référence du fichier regulateur.cpp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
11.31Référence du fichier regulateur.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
11.31.1 Documentation des macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
11.32Référence du fichier stationMeteo.cpp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
11.33Référence du fichier stationMeteo.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
11.34Référence du fichier suiveurSolaire.cpp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
11.35Référence du fichier suiveurSolaire.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
11.35.1 Documentation des macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
11.36Référence du fichier tournesol.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
11.36.1 Description détaillée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
1 Page principale du projet Tournesol
1.1 Introduction
Assurer le fonctionnement autonome d’une installation photovoltaïque motorisée permettant d’augmenter la production énergé-tique.
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
1.2 Table des matières 2
1.2 Table des matieres
– Configuration– Manuel d’installation– Liste des choses à faire– Changelog– Recette– Base de données– A propos– Licence GPL
Dépôt SVN : https://svn.riouxsvn.com/tournesol
2 Changelog
------------------------------------------------------------------------
r164 | ndetilleux | 2016-06-09 17 :12 :43 +0200 (jeu. 09 juin 2016) | 1 ligne
Modif protection vent
------------------------------------------------------------------------
r163 | rgonzalves | 2016-06-09 15 :56 :23 +0200 (jeu. 09 juin 2016) | 1 ligne
Desactivation debug
------------------------------------------------------------------------
r162 | rgonzalves | 2016-06-09 15 :55 :45 +0200 (jeu. 09 juin 2016) | 1 ligne
Reglage erreur segmentation
------------------------------------------------------------------------
r161 | ndetilleux | 2016-06-09 15 :01 :15 +0200 (jeu. 09 juin 2016) | 1 ligne
Modif affichage luminosite
------------------------------------------------------------------------
r160 | ndetilleux | 2016-06-09 14 :58 :12 +0200 (jeu. 09 juin 2016) | 1 ligne
Modif gestion luminosite
------------------------------------------------------------------------
r159 | gmoll | 2016-06-09 09 :02 :23 +0200 (jeu. 09 juin 2016) | 1 ligne
Integration du voyant rouge/vert dans l’ihm pour afficher l’etat du suiveur
------------------------------------------------------------------------
r158 | rgonzalves | 2016-06-08 16 :29 :10 +0200 (mer. 08 juin 2016) | 1 ligne
Affichage de l’heure par le système
------------------------------------------------------------------------
r157 | athiel | 2016-06-08 14 :55 :49 +0200 (mer. 08 juin 2016) | 1 ligne
Commencement de la bdd pour le regulateur de charge
------------------------------------------------------------------------
r156 | athiel | 2016-06-08 14 :06 :44 +0200 (mer. 08 juin 2016) | 1 ligne
Commencement de la bdd pour le regulateur de charge
------------------------------------------------------------------------
r155 | athiel | 2016-06-08 14 :05 :20 +0200 (mer. 08 juin 2016) | 1 ligne
Commencement de la bdd pour le regulateur de charge
------------------------------------------------------------------------
r154 | athiel | 2016-06-08 14 :03 :15 +0200 (mer. 08 juin 2016) | 1 ligne
Commencement de la bdd pour le regulateur de charge
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
2 Changelog 3
------------------------------------------------------------------------
r153 | rgonzalves | 2016-06-08 12 :00 :34 +0200 (mer. 08 juin 2016) | 1 ligne
Ajout d’informations du suiveur sur l’onglet accueil et réglages du déplacement par angle
------------------------------------------------------------------------
r152 | rgonzalves | 2016-06-08 11 :59 :43 +0200 (mer. 08 juin 2016) | 1 ligne
Ajout d’informations du suiveur sur l’onglet accueil et réglages du déplacement par angle
------------------------------------------------------------------------
r151 | ndetilleux | 2016-06-08 08 :08 :15 +0200 (mer. 08 juin 2016) | 1 ligne
Modif IHM
------------------------------------------------------------------------
r150 | ndetilleux | 2016-06-08 08 :06 :45 +0200 (mer. 08 juin 2016) | 1 ligne
Modif IHM
------------------------------------------------------------------------
r149 | ndetilleux | 2016-06-03 17 :18 :32 +0200 (ven. 03 juin 2016) | 1 ligne
Test pour suiveur solaire
------------------------------------------------------------------------
r148 | ndetilleux | 2016-06-03 17 :07 :43 +0200 (ven. 03 juin 2016) | 1 ligne
Modif
------------------------------------------------------------------------
r147 | rgonzalves | 2016-06-03 16 :32 :44 +0200 (ven. 03 juin 2016) | 1 ligne
Ajout de boutons de commande du suiveur sur l’ihm
------------------------------------------------------------------------
r146 | ndetilleux | 2016-06-03 16 :12 :04 +0200 (ven. 03 juin 2016) | 1 ligne
Lien entre protectionVent et acquisitionSuiveur
------------------------------------------------------------------------
r145 | ndetilleux | 2016-06-03 15 :43 :51 +0200 (ven. 03 juin 2016) | 1 ligne
Modification protection vent et recuperation vitesse dans BDD
------------------------------------------------------------------------
r144 | ndetilleux | 2016-06-03 14 :17 :00 +0200 (ven. 03 juin 2016) | 1 ligne
Suppression de debugs polluants
------------------------------------------------------------------------
r143 | rgonzalves | 2016-06-03 13 :51 :26 +0200 (ven. 03 juin 2016) | 1 ligne
Ajout de la gestion du mode automatique programmé
------------------------------------------------------------------------
r142 | rgonzalves | 2016-06-03 13 :49 :54 +0200 (ven. 03 juin 2016) | 1 ligne
Ajout de la gestion du mode automatique programmé
------------------------------------------------------------------------
r141 | ndetilleux | 2016-06-03 13 :19 :19 +0200 (ven. 03 juin 2016) | 1 ligne
Légères modifications de valeurs pour correspondre avec le cahier des charges
------------------------------------------------------------------------
r140 | ndetilleux | 2016-06-03 12 :59 :48 +0200 (ven. 03 juin 2016) | 1 ligne
Ajout sur l’ihm type climat en fonction de la luminosite
------------------------------------------------------------------------
r139 | ndetilleux | 2016-06-03 12 :46 :26 +0200 (ven. 03 juin 2016) | 1 ligne
Recuperation frequence ihm et modif BDD
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
2 Changelog 4
------------------------------------------------------------------------
r138 | athiel | 2016-06-03 12 :22 :59 +0200 (ven. 03 juin 2016) | 1 ligne
Commencement de la bdd pour le regulateur de charge
------------------------------------------------------------------------
r137 | ndetilleux | 2016-06-03 12 :03 :49 +0200 (ven. 03 juin 2016) | 1 ligne
Modif basededonnees.h
------------------------------------------------------------------------
r136 | ndetilleux | 2016-06-03 11 :58 :03 +0200 (ven. 03 juin 2016) | 1 ligne
Inclusion base de données dans capteur solaire
------------------------------------------------------------------------
r135 | ndetilleux | 2016-06-03 11 :53 :41 +0200 (ven. 03 juin 2016) | 1 ligne
Recuperation vitesse ihm et modif BDD
------------------------------------------------------------------------
r134 | ndetilleux | 2016-06-02 17 :14 :33 +0200 (jeu. 02 juin 2016) | 1 ligne
Recuperation vitesse max vent depuis l’ihm
------------------------------------------------------------------------
r133 | rgonzalves | 2016-06-02 17 :12 :03 +0200 (jeu. 02 juin 2016) | 1 ligne
Ajout des methodes pour gerer le mode automatique programmé
------------------------------------------------------------------------
r132 | rgonzalves | 2016-06-02 17 :11 :19 +0200 (jeu. 02 juin 2016) | 1 ligne
Ajout des methodes pour gerer le mode automatique programmé
------------------------------------------------------------------------
r131 | gmoll | 2016-06-02 16 :45 :22 +0200 (jeu. 02 juin 2016) | 1 ligne
Ajout voyant vert suiveur
------------------------------------------------------------------------
r130 | ndetilleux | 2016-06-02 15 :21 :14 +0200 (jeu. 02 juin 2016) | 1 ligne
Activation protection vent depuis l’ihm
------------------------------------------------------------------------
r129 | athiel | 2016-06-02 13 :33 :24 +0200 (jeu. 02 juin 2016) | 1 ligne
Bonton en fonction
------------------------------------------------------------------------
r128 | rgonzalves | 2016-06-01 16 :27 :02 +0200 (mer. 01 juin 2016) | 1 ligne
Ajour de la méthode enregistrerInformationsBdd
------------------------------------------------------------------------
r127 | athiel | 2016-06-01 16 :25 :48 +0200 (mer. 01 juin 2016) | 1 ligne
Modification listes
------------------------------------------------------------------------
r126 | ndetilleux | 2016-06-01 15 :27 :54 +0200 (mer. 01 juin 2016) | 1 ligne
desactivation des debugs
------------------------------------------------------------------------
r125 | ndetilleux | 2016-06-01 15 :26 :58 +0200 (mer. 01 juin 2016) | 1 ligne
modif utilisation BDD
------------------------------------------------------------------------
r124 | rgonzalves | 2016-06-01 14 :49 :06 +0200 (mer. 01 juin 2016) | 1 ligne
Ajout fonction déplacement par angle et modification des position enregistrées
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
2 Changelog 5
------------------------------------------------------------------------
r123 | athiel | 2016-06-01 13 :36 :01 +0200 (mer. 01 juin 2016) | 1 ligne
Modification bouton mute
------------------------------------------------------------------------
r122 | rgonzalves | 2016-06-01 10 :36 :59 +0200 (mer. 01 juin 2016) | 1 ligne
Modification ihm suiveur
------------------------------------------------------------------------
r121 | gmoll | 2016-06-01 10 :09 :36 +0200 (mer. 01 juin 2016) | 1 ligne
Modif IHM
------------------------------------------------------------------------
r120 | ndetilleux | 2016-05-27 15 :59 :26 +0200 (ven. 27 mai 2016) | 1 ligne
Ajout classe protectionVent et modif programme
------------------------------------------------------------------------
r119 | athiel | 2016-05-27 15 :57 :06 +0200 (ven. 27 mai 2016) | 1 ligne
Modif bouton mute
------------------------------------------------------------------------
r118 | ndetilleux | 2016-05-27 12 :47 :55 +0200 (ven. 27 mai 2016) | 1 ligne
Ajout outils pour phocos
------------------------------------------------------------------------
r117 | rgonzalves | 2016-05-27 12 :32 :16 +0200 (ven. 27 mai 2016) | 1 ligne
Création du déplacement par entrée d’angle
------------------------------------------------------------------------
r115 | rgonzalves | 2016-05-26 16 :44 :14 +0200 (jeu. 26 mai 2016) | 1 ligne
Affichage informations suiveur
------------------------------------------------------------------------
r114 | gmoll | 2016-05-26 16 :32 :33 +0200 (jeu. 26 mai 2016) | 1 ligne
Modification capteurSolaire.cpp
------------------------------------------------------------------------
r113 | athiel | 2016-05-26 14 :43 :31 +0200 (jeu. 26 mai 2016) | 1 ligne
modif regulateur
------------------------------------------------------------------------
r112 | ndetilleux | 2016-05-26 14 :42 :05 +0200 (jeu. 26 mai 2016) | 1 ligne
Modif IHM
------------------------------------------------------------------------
r111 | ndetilleux | 2016-05-26 10 :58 :09 +0200 (jeu. 26 mai 2016) | 1 ligne
Debug
------------------------------------------------------------------------
r110 | ndetilleux | 2016-05-26 10 :57 :23 +0200 (jeu. 26 mai 2016) | 1 ligne
Modif IHM
------------------------------------------------------------------------
r109 | tvaira | 2016-05-26 06 :51 :08 +0200 (jeu. 26 mai 2016) | 1 ligne
Génération de la documentation avec doxygen
------------------------------------------------------------------------
r108 | ndetilleux | 2016-05-25 17 :46 :39 +0200 (mer. 25 mai 2016) | 1 ligne
Modif IHM
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
2 Changelog 6
------------------------------------------------------------------------
r107 | rgonzalves | 2016-05-25 16 :45 :51 +0200 (mer. 25 mai 2016) | 1 ligne
Panneau informations suiveur
------------------------------------------------------------------------
r106 | ndetilleux | 2016-05-25 16 :39 :25 +0200 (mer. 25 mai 2016) | 1 ligne
Modification code IHM
------------------------------------------------------------------------
r105 | athiel | 2016-05-25 13 :41 :17 +0200 (mer. 25 mai 2016) | 1 ligne
Maj ihm
------------------------------------------------------------------------
r104 | ndetilleux | 2016-05-25 12 :46 :15 +0200 (mer. 25 mai 2016) | 1 ligne
Modification gestion IHM
------------------------------------------------------------------------
r103 | ndetilleux | 2016-05-25 12 :27 :22 +0200 (mer. 25 mai 2016) | 1 ligne
Maj IHM
------------------------------------------------------------------------
r102 | gmoll | 2016-05-25 11 :58 :14 +0200 (mer. 25 mai 2016) | 1 ligne
Ajout soleil central
------------------------------------------------------------------------
r101 | gmoll | 2016-05-25 11 :41 :25 +0200 (mer. 25 mai 2016) | 1 ligne
Mise à jour ihm + Ajout images
------------------------------------------------------------------------
r99 | ndetilleux | 2016-05-25 10 :58 :12 +0200 (mer. 25 mai 2016) | 1 ligne
Mise à jour documentation
------------------------------------------------------------------------
r98 | rgonzalves | 2016-05-25 10 :36 :44 +0200 (mer. 25 mai 2016) | 1 ligne
Maj Suiveur Solaire
------------------------------------------------------------------------
r97 | athiel | 2016-05-25 10 :30 :22 +0200 (mer. 25 mai 2016) | 1 ligne
modification ihm regulateur
------------------------------------------------------------------------
r96 | gmoll | 2016-05-25 10 :03 :06 +0200 (mer. 25 mai 2016) | 1 ligne
Modification ihm
------------------------------------------------------------------------
r95 | athiel | 2016-05-25 09 :55 :59 +0200 (mer. 25 mai 2016) | 1 ligne
ajout image voyant_vert
------------------------------------------------------------------------
r94 | athiel | 2016-05-25 09 :55 :04 +0200 (mer. 25 mai 2016) | 1 ligne
ajout image voyant_vert
------------------------------------------------------------------------
r93 | athiel | 2016-05-25 09 :19 :53 +0200 (mer. 25 mai 2016) | 1 ligne
ajout image voyant_vert
------------------------------------------------------------------------
r92 | athiel | 2016-05-25 09 :18 :54 +0200 (mer. 25 mai 2016) | 1 ligne
ajout image voyant_vert
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
2 Changelog 7
------------------------------------------------------------------------
r91 | gmoll | 2016-05-25 08 :45 :10 +0200 (mer. 25 mai 2016) | 1 ligne
Modification ihm
------------------------------------------------------------------------
r90 | tvaira | 2016-05-23 07 :57 :42 +0200 (lun. 23 mai 2016) | 1 ligne
Mise à jour de la documentation pour les classes fournies
------------------------------------------------------------------------
r88 | tvaira | 2016-05-20 20 :11 :42 +0200 (ven. 20 mai 2016) | 1 ligne
Mise à jour documentation Doxyfile
------------------------------------------------------------------------
r85 | gmoll | 2016-05-20 18 :32 :17 +0200 (ven. 20 mai 2016) | 1 ligne
Codage de la fonction suivre soleil + ajout du suivi du soleil + modification ihm
------------------------------------------------------------------------
r83 | athiel | 2016-05-20 17 :22 :32 +0200 (ven. 20 mai 2016) | 1 ligne
Mise à jour de la documentation
------------------------------------------------------------------------
r82 | athiel | 2016-05-20 16 :34 :07 +0200 (ven. 20 mai 2016) | 1 ligne
ajout des commentaires lié au régulateur ainsi que la modification de l’acquisition des trames
------------------------------------------------------------------------
r81 | rgonzalves | 2016-05-20 12 :33 :23 +0200 (ven. 20 mai 2016) | 1 ligne
Ajout de la commande manuelle de déplacement des panneaux
------------------------------------------------------------------------
r80 | tvaira | 2016-05-19 11 :34 :22 +0200 (jeu. 19 mai 2016) | 1 ligne
Ajout de la documentation Tournesol
------------------------------------------------------------------------
r79 | tvaira | 2016-05-19 10 :34 :58 +0200 (jeu. 19 mai 2016) | 1 ligne
Initialisation de la documentation à compléter pour doxygen
------------------------------------------------------------------------
r78 | ndetilleux | 2016-05-18 18 :27 :52 +0200 (mer. 18 mai 2016) | 1 ligne
Ajout base de donnees
------------------------------------------------------------------------
r77 | ndetilleux | 2016-05-18 16 :08 :31 +0200 (mer. 18 mai 2016) | 1 ligne
Ajout tournesol.sql
------------------------------------------------------------------------
r76 | ndetilleux | 2016-05-13 18 :31 :51 +0200 (ven. 13 mai 2016) | 1 ligne
Reception Phocos
------------------------------------------------------------------------
r75 | tvaira | 2016-05-08 10 :14 :55 +0200 (dim. 08 mai 2016) | 1 ligne
Correction probleme I2C (detilleux et moll)
------------------------------------------------------------------------
r74 | tvaira | 2016-05-08 09 :24 :25 +0200 (dim. 08 mai 2016) | 1 ligne
Correction probleme I2C (detilleux et moll)
------------------------------------------------------------------------
r73 | tvaira | 2016-05-07 13 :13 :06 +0200 (sam. 07 mai 2016) | 1 ligne
Test reception phocos avec le simulateur
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
2 Changelog 8
------------------------------------------------------------------------
r71 | ndetilleux | 2016-05-04 21 :48 :50 +0200 (mer. 04 mai 2016) | 1 ligne
Passage automatique entre simulation trame et reception trame sur raspberry
------------------------------------------------------------------------
r70 | athiel | 2016-05-04 16 :02 :59 +0200 (mer. 04 mai 2016) | 1 ligne
ihm suite
------------------------------------------------------------------------
r69 | ndetilleux | 2016-05-04 14 :46 :16 +0200 (mer. 04 mai 2016) | 1 ligne
Test RPI fin
------------------------------------------------------------------------
r68 | ndetilleux | 2016-05-04 14 :11 :03 +0200 (mer. 04 mai 2016) | 1 ligne
Test RPI
------------------------------------------------------------------------
r67 | ndetilleux | 2016-05-04 14 :04 :59 +0200 (mer. 04 mai 2016) | 1 ligne
Test RPI
------------------------------------------------------------------------
r66 | ndetilleux | 2016-05-04 13 :50 :19 +0200 (mer. 04 mai 2016) | 1 ligne
Test RPI
------------------------------------------------------------------------
r65 | ndetilleux | 2016-05-04 11 :46 :34 +0200 (mer. 04 mai 2016) | 1 ligne
Ajout signaux slot station meteo
------------------------------------------------------------------------
r64 | tvaira | 2016-05-02 09 :50 :01 +0200 (lun. 02 mai 2016) | 1 ligne
Fermeture IHM -> Fin des threads
------------------------------------------------------------------------
r60 | tvaira | 2016-04-29 21 :36 :05 +0200 (ven. 29 avril 2016) | 1 ligne
Nettoyage du code pour prevenir des problemes de memoire
------------------------------------------------------------------------
r59 | ndetilleux | 2016-04-29 17 :05 :27 +0200 (ven. 29 avril 2016) | 1 ligne
Reglement warning station meteo cv7
------------------------------------------------------------------------
r58 | ndetilleux | 2016-04-29 16 :37 :02 +0200 (ven. 29 avril 2016) | 1 ligne
Mise à jour debug
------------------------------------------------------------------------
r57 | athiel | 2016-04-29 12 :04 :52 +0200 (ven. 29 avril 2016) | 1 ligne
codage des trois thermomètre + passage de mode simmulation au mode réel
------------------------------------------------------------------------
r56 | ndetilleux | 2016-04-28 17 :11 :50 +0200 (jeu. 28 avril 2016) | 1 ligne
Mise à jour IHM
------------------------------------------------------------------------
r55 | ndetilleux | 2016-04-28 17 :11 :22 +0200 (jeu. 28 avril 2016) | 1 ligne
Mise à jour IHM
------------------------------------------------------------------------
r54 | rgonzalves | 2016-04-28 17 :06 :56 +0200 (jeu. 28 avril 2016) | 1 ligne
Acquisition et commande du suiveur solaire
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
2 Changelog 9
------------------------------------------------------------------------
r53 | athiel | 2016-04-28 16 :54 :32 +0200 (jeu. 28 avril 2016) | 1 ligne
Ajout de trois images dans dossier
------------------------------------------------------------------------
r52 | athiel | 2016-04-28 16 :44 :27 +0200 (jeu. 28 avril 2016) | 1 ligne
Ajout de trois boutons dans l’acceuil
------------------------------------------------------------------------
r51 | athiel | 2016-04-28 16 :13 :53 +0200 (jeu. 28 avril 2016) | 1 ligne
Ajout dans l’ihm des alarmes et des valeurs
------------------------------------------------------------------------
r50 | ndetilleux | 2016-04-27 18 :33 :59 +0200 (mer. 27 avril 2016) | 1 ligne
Mise à jour station meteo
------------------------------------------------------------------------
r49 | ndetilleux | 2016-04-27 16 :56 :46 +0200 (mer. 27 avril 2016) | 1 ligne
Detection capteur solaire : premier test ok
------------------------------------------------------------------------
r48 | gmoll | 2016-04-27 16 :19 :06 +0200 (mer. 27 avril 2016) | 1 ligne
Ajout mediane dans CapteurSolaire
------------------------------------------------------------------------
r47 | ndetilleux | 2016-04-27 16 :03 :29 +0200 (mer. 27 avril 2016) | 1 ligne
Detection capteur solaire
------------------------------------------------------------------------
r46 | gmoll | 2016-04-27 15 :49 :46 +0200 (mer. 27 avril 2016) | 1 ligne
Modification CapteurSolaire
------------------------------------------------------------------------
r45 | gmoll | 2016-04-27 14 :48 :46 +0200 (mer. 27 avril 2016) | 1 ligne
Modification AsservissemntSuiveur
------------------------------------------------------------------------
r44 | ndetilleux | 2016-04-27 13 :41 :38 +0200 (mer. 27 avril 2016) | 1 ligne
Mis a jour Tournesol-pi.pro pour arduPi
------------------------------------------------------------------------
r43 | gmoll | 2016-04-27 12 :37 :29 +0200 (mer. 27 avril 2016) | 1 ligne
Ajout capteur solaire
------------------------------------------------------------------------
r42 | ndetilleux | 2016-04-27 12 :29 :50 +0200 (mer. 27 avril 2016) | 1 ligne
Mise à jour Tournesol-pi avec qrc
------------------------------------------------------------------------
r41 | ndetilleux | 2016-04-27 12 :22 :40 +0200 (mer. 27 avril 2016) | 1 ligne
Mise à jour Tournesol-pi
------------------------------------------------------------------------
r40 | ndetilleux | 2016-04-27 11 :21 :21 +0200 (mer. 27 avril 2016) | 1 ligne
Mise à jour CapteurLuminosite
------------------------------------------------------------------------
r39 | ndetilleux | 2016-04-27 09 :41 :47 +0200 (mer. 27 avril 2016) | 1 ligne
Mise à jour ihm
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
2 Changelog 10
------------------------------------------------------------------------
r38 | ndetilleux | 2016-04-27 09 :31 :20 +0200 (mer. 27 avril 2016) | 1 ligne
Mise à jour capteurLuminosite.cpp
------------------------------------------------------------------------
r37 | tvaira | 2016-04-23 12 :11 :08 +0200 (sam. 23 avril 2016) | 1 ligne
IHM : Initialisation QWT + Exemple affichage image
------------------------------------------------------------------------
r36 | athiel | 2016-04-22 16 :06 :55 +0200 (ven. 22 avril 2016) | 1 ligne
IHM
------------------------------------------------------------------------
r35 | ndetilleux | 2016-04-21 21 :48 :27 +0200 (jeu. 21 avril 2016) | 1 ligne
Mise à jour IHM
------------------------------------------------------------------------
r34 | rgonzalves | 2016-04-21 17 :22 :50 +0200 (jeu. 21 avril 2016) | 1 ligne
Ajout de le classe SuiveurSolaire
------------------------------------------------------------------------
r33 | rgonzalves | 2016-04-21 17 :21 :20 +0200 (jeu. 21 avril 2016) | 1 ligne
Simulation d’acquisition de trame et création d’une structure pour le décodage
------------------------------------------------------------------------
r32 | athiel | 2016-04-21 17 :03 :12 +0200 (jeu. 21 avril 2016) | 1 ligne
debut de la construction IHM partie regulateur
------------------------------------------------------------------------
r31 | athiel | 2016-04-21 15 :09 :42 +0200 (jeu. 21 avril 2016) | 1 ligne
Regulateur : intergration structures de données et signal/slot IHM
------------------------------------------------------------------------
r30 | ndetilleux | 2016-04-21 14 :22 :09 +0200 (jeu. 21 avril 2016) | 1 ligne
Mise à jour images ressources
------------------------------------------------------------------------
r29 | ndetilleux | 2016-04-21 14 :15 :20 +0200 (jeu. 21 avril 2016) | 1 ligne
Ajout fichier ressource
------------------------------------------------------------------------
r28 | athiel | 2016-04-21 14 :13 :47 +0200 (jeu. 21 avril 2016) | 1 ligne
Modification classe Port integration du choix du debit∗------------------------------------------------------------------------
r27 | ndetilleux | 2016-04-21 14 :11 :57 +0200 (jeu. 21 avril 2016) | 1 ligne
Mise à jour IHM
------------------------------------------------------------------------
r26 | ndetilleux | 2016-04-21 11 :10 :06 +0200 (jeu. 21 avril 2016) | 1 ligne
Ajout logos
------------------------------------------------------------------------
r25 | gmoll | 2016-04-21 11 :06 :48 +0200 (jeu. 21 avril 2016) | 1 ligne
ajout dossier images pour IHM
------------------------------------------------------------------------
r24 | gmoll | 2016-04-21 10 :55 :07 +0200 (jeu. 21 avril 2016) | 1 ligne
Ajout bouton dans l’IHM partie suiveur
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
2 Changelog 11
------------------------------------------------------------------------
r23 | gmoll | 2016-04-21 10 :17 :15 +0200 (jeu. 21 avril 2016) | 1 ligne
Declaration des define dans asservissementSuiveur.h et modification IHM
------------------------------------------------------------------------
r22 | gmoll | 2016-04-21 10 :12 :25 +0200 (jeu. 21 avril 2016) | 1 ligne
Declaration des define dans asservissementSuiveur.h et modification IHM
------------------------------------------------------------------------
r21 | ndetilleux | 2016-04-21 09 :16 :35 +0200 (jeu. 21 avril 2016) | 1 ligne
Mise à jour IHM
------------------------------------------------------------------------
r20 | ndetilleux | 2016-04-20 16 :28 :40 +0200 (mer. 20 avril 2016) | 1 ligne
Gestion plein ecran
------------------------------------------------------------------------
r19 | gmoll | 2016-04-20 13 :40 :11 +0200 (mer. 20 avril 2016) | 1 ligne
Modification de l’IHM
------------------------------------------------------------------------
r18 | ndetilleux | 2016-04-20 12 :08 :28 +0200 (mer. 20 avril 2016) | 1 ligne
Mise à jour IHM
------------------------------------------------------------------------
r17 | ndetilleux | 2016-04-20 08 :09 :03 +0200 (mer. 20 avril 2016) | 1 ligne
Mise à jour projet
------------------------------------------------------------------------
r16 | ndetilleux | 2016-04-01 14 :47 :25 +0200 (ven. 01 avril 2016) | 1 ligne
Mise à jour stationMeteo
------------------------------------------------------------------------
r15 | ndetilleux | 2016-04-01 12 :40 :52 +0200 (ven. 01 avril 2016) | 1 ligne
mise à jour stationMeteo
------------------------------------------------------------------------
r14 | ndetilleux | 2016-03-31 14 :21 :13 +0200 (jeu. 31 mars 2016) | 1 ligne
modification de la classe stationMeteo
------------------------------------------------------------------------
r13 | ndetilleux | 2016-03-30 09 :32 :13 +0200 (mer. 30 mars 2016) | 1 ligne
ajout tournesol.h
------------------------------------------------------------------------
r12 | ndetilleux | 2016-03-25 13 :59 :10 +0100 (ven. 25 mars 2016) | 1 ligne
mise a jour debug
------------------------------------------------------------------------
r11 | ndetilleux | 2016-03-24 17 :08 :51 +0100 (jeu. 24 mars 2016) | 1 ligne
re ajout classes CV7 capteurLuminosite stationMeteo
------------------------------------------------------------------------
r10 | ndetilleux | 2016-03-24 17 :07 :23 +0100 (jeu. 24 mars 2016) | 1 ligne
Ajout classes CV7 capteurLuminosite stationMeteo
------------------------------------------------------------------------
r9 | athiel | 2016-03-24 16 :59 :31 +0100 (jeu. 24 mars 2016) | 1 ligne
correction classe regulateur
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
3 Configuration 12
------------------------------------------------------------------------
r8 | athiel | 2016-03-24 13 :39 :28 +0100 (jeu. 24 mars 2016) | 1 ligne
methode decoderTrameJournalisation
------------------------------------------------------------------------
r7 | athiel | 2016-03-23 16 :16 :29 +0100 (mer. 23 mars 2016) | 1 ligne
suite decodage trame
------------------------------------------------------------------------
r6 | athiel | 2016-03-18 17 :31 :49 +0100 (ven. 18 mars 2016) | 1 ligne
decoderTrameInformations() : correction unité
------------------------------------------------------------------------
r5 | athiel | 2016-03-18 16 :29 :53 +0100 (ven. 18 mars 2016) | 1 ligne
decoderTrameInformations() en mode simulation
------------------------------------------------------------------------
r4 | athiel | 2016-03-17 17 :05 :56 +0100 (jeu. 17 mars 2016) | 1 ligne
modifs des methodes
------------------------------------------------------------------------
r3 | athiel | 2016-03-17 14 :19 :14 +0100 (jeu. 17 mars 2016) | 1 ligne
Ajout associations regulateur et port
------------------------------------------------------------------------
r2 | athiel | 2016-03-17 14 :00 :40 +0100 (jeu. 17 mars 2016) | 1 ligne
Initialisation du trunk avec les 4 threads
------------------------------------------------------------------------
3 Configuration
configuration.sh
Informations sur le poste de développement
– Distribution : Ubuntu 12.04.5 LTS– OS : GNU/Linux– Noyau : Linux– Version : 3.8.0-44-generic– Machine : x86_64– Processeur : Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz– Mémoire RAM : 8129984 kB
Liste des paquets Qt nécessaires
– libqt4-sql libqtgui4 libqtcore4
Liste des autres paquets nécessaires
– libc6 libstdc++6-armel-cross gcc-4.6-arm-linux-gnueabi libc6-armel-cross libfontconfig1 libaudio2 libglib2.0-0 libpng12-0 zlib1glibfreetype6 libglib2.0-0 libsm6 libice6 libxi6 libxrender1 libxext6 libx11-6 libc6-armel-cross libc6-armel-cross libc6-armel-crosslibc6 libexpat1 libxt6 libxau6 libpcre3 libffi6 libuuid1 libxcb1 libxdmcp6
génèré le jeudi 19 mai 2016, 07 :30 :44 (UTC+0200)
Informations de version sur les outils
version.sh
– g++ (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3– QMake version 2.01a– GNU Make 3.81– GNU gdb (Ubuntu/Linaro 7.4-2012.04-0ubuntu2.1) 7.4-2012.04– svn, version 1.6.17 (r1128011)
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
4 Manuel d’installation 13
– geany 1.24.1 (construit le May 20 2014 avec GTK 2.24.10, GLib 2.32.4)– mysql Ver 14.14 Distrib 5.5.49, for debian-linux-gnu (x86_64) using readline 6.2– Qt Meta Object Compiler version 63 (Qt 4.8.1)– Qt Creator 2.4.1 based on Qt 4.8.1– cppunit-config 1.12.1– doxygen 1.7.6.1– bouml Bouml 4.23– papyrus Papyrus 1.1.3
génèré le jeudi 19 mai 2016, 07 :31 :08 (UTC+0200)
4 Manuel d’installation
Fabrication de l’exécutable :– qmake– make
5 Recette
Étudiant 1 : GONZALVES Rémy
La date et l’heure sont affichées périodiquement
L’intervalle de suivi automatique est pris en compte par le suiveur solaire et il est enregistré dans la base de données
L’activation et la désactivation du suivi automatique est effective et le mode programmé TdAPS est pris en compte
Les informations sur l’installation sont affichées
L’état du suiveur solaire est visible sur le mini écran tactile
Les angles d’azimut et d’élévation courants sont affichés périodiquement sur l’écran d’accueil
Les données détaillées du suiveur solaire sont affichées périodiquement dans l’écran correspondant et archivées dans la base dedonnées
La commande manuelle d’orientation des panneaux est réalisable soit en fixant les angles d’azimut et d’élévation soit en dirigeantles quatre directions
Étudiant 2 : THIEL Adrien
Le verrouillage et déverrouillage de la programmation par clavier et du signal sonore sont pris en compte
Les informations sur l’installation sont affichées
L’état du régulateur de charge est visible sur le mini écran tactile
Les valeurs de la tension, de la charge des batteries et de la température sont affichées périodiquement et graphiquement surl’écran d’accueil
Les données détaillées du régulateur de charge sont affichées périodiquement dans l’écran correspondant et archivées dans labase de données
Les alertes signalées par le régulateur de charge sont affichées périodiquement dans l’écran correspondant et archivées dans labase de données
Le choix du type de batteries et le mode de coupure sont paramétrables et fonctionnels
Étudiant 3 : DETILLEUX Nicolas
Les valeurs de la vitesse et direction du vent ainsi que la température de l’air sont affichées périodiquement et graphiquement surl’écran d’accueil
Les valeurs de la vitesse et direction du vent ainsi que la température de l’air sont archivées dans la base de données
La luminosité est affichée périodiquement sur l’écran d’accueil et archivée dans la base de données
L’état de la station météo est visible sur le mini écran tactile
Le réglage des consignes de protection contre les vents violents est réalisable et pris en compte
La protection contre les vents violents est effective
Étudiant 4 : MOLL Grégory
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
6 Base de données 14
L’activation et la désactivation du suivi automatique est effective et le mode détection de la position de soleil est pris en compte
Le suivi automatique par capteur solaire est fonctionnel
L’intervalle de suivi automatique est pris en compte pour le suivi automatique
L’état du suiveur solaire est visible sur le mini écran tactile
La commande manuelle d’orientation des panneaux est réalisable en sélectionnant une position pré-programmée (nettoyage,vent, nuit et neige)
Les positions pré-programmées (nettoyage, vent, nuit et neige) sont modifiables et enregistrées
6 Base de donnees
-- phpMyAdmin SQL Dump -- version 3.4.11.1deb2+deb7u1 -- http://www.phpmyadmin.net -- -- Client : localhost --Généré le : Ven 05 Juin 2015 à 10 :26 -- Version du serveur : 5.5.41 -- Version de PHP : 5.4.36-0+deb7u3
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO" ; SET time_zone = "+00 :00" ;
-- -- Base de données : ‘Tournesol‘ --
CREATE DATABASE IF NOT EXISTS Tournesol ;
USE Tournesol ; -- --------------------------------------------------------
-- -- Structure de la table ‘Installation‘ --
CREATE TABLE IF NOT EXISTS ‘Installation‘ ( ‘idInstallation‘ int(11) NOT NULL AUTO_INCREMENT, ‘longitude‘ varchar(255)NOT NULL, ‘latitude‘ varchar(255) NOT NULL, ‘lieu‘ varchar(64) NOT NULL, ‘dateMiseEnService‘ date NOT NULL, ‘typePanneau‘enum(’mono-cristallin’,”) NOT NULL, ‘puissancePanneau‘ double NOT NULL, ‘tensionPanneau‘ double NOT NULL, ‘nbPanneaux‘int(11) NOT NULL, ‘typeBatterie‘ enum(’plomb à liquide électrolyte’,’VRLA de type GEL ou AGM’) NOT NULL, ‘tensionBatterie‘double NOT NULL, ‘capaciteBatterie‘ double NOT NULL, ‘nbBatteries‘ int(11) NOT NULL, PRIMARY KEY (‘idInstallation‘) ) ENG-INE=InnoDB DEFAULT CHARSET=utf8 ;
-- -- Contenu de la table ‘Installation‘ --
INSERT INTO ‘Installation‘ (‘idInstallation‘, ‘longitude‘, ‘latitude‘, ‘lieu‘, ‘dateMiseEnService‘, ‘typePanneau‘, ‘puissancePanneau‘,‘tensionPanneau‘, ‘nbPanneaux‘, ‘typeBatterie‘, ‘tensionBatterie‘, ‘capaciteBatterie‘, ‘nbBatteries‘) VALUES (1, ’-4.5°’, ’43.9°’, ’-Avignon’, ’2015-03-29’, ’mono-cristallin’, 80, 12, 2, ’VRLA de type GEL ou AGM’, 12, 14, 2) ;
-- --------------------------------------------------------
-- -- Structure de la table ‘Modules‘ --
CREATE TABLE IF NOT EXISTS ‘Modules‘ ( ‘idModule‘ int(11) NOT NULL AUTO_INCREMENT, ‘idInstallation‘ int(11) NOT NULL,‘nomModule‘ enum(’suiveur’,’regulateur’, ’meteo’, ’surveillance’) NOT NULL, ‘etat‘ enum(’0’,’1’) NOT NULL DEFAULT ’0’, ‘alarme‘enum(’0’,’1’) NOT NULL DEFAULT ’0’, ‘simulation‘ enum(’0’,’1’) NOT NULL DEFAULT ’0’, PRIMARY KEY (‘idModule‘), CONS-TRAINT fk_idInstallation FOREIGN KEY (idInstallation) REFERENCES Installation(idInstallation) ) ENGINE=InnoDB DEFAULTCHARSET=utf8 ;
-- -- Contenu de la table ‘Modules‘ --
INSERT INTO ‘Modules‘ (‘idModule‘, ‘idInstallation‘, ‘nomModule‘, ‘etat‘, ‘alarme‘, ‘simulation‘) VALUES (1, 1, ’suiveur’, ’0’, ’0’, ’1’),(2, 1, ’regulateur’, ’0’, ’0’, ’1’), (3, 1, ’meteo’, ’0’, ’0’, ’1’), (4, 1, ’surveillance’, ’0’, ’0’, ’1’) ;
-- --------------------------------------------------------
-- -- Structure de la table ‘Regulateur‘ --
CREATE TABLE IF NOT EXISTS ‘Regulateur‘ ( ‘idRegulateur‘ int(11) NOT NULL, ‘idInstallation‘ int(11) NOT NULL, ‘periode-Regulateur‘ int(11) NOT NULL, ‘modeCoupure‘ enum(’1’,’2’,’3’,’4’, ’5’) NOT NULL, ‘modeCharge‘ enum(’NORMAL’,’EQUAL’,’BOOS-T’) NOT NULL, ‘buzzer‘ enum(’0’,’1’) NOT NULL DEFAULT ’0’, ‘verrou‘ enum(’0’,’1’) NOT NULL DEFAULT ’0’, ‘charge‘ enum(’0’,’1’)NOT NULL DEFAULT ’0’, ‘nbSemainesSansCharge‘ int(11) NOT NULL, ‘temperature‘ double NOT NULL, ‘horodatage‘ datetimeNOT NULL, PRIMARY KEY (‘idRegulateur‘), CONSTRAINT fk_Regulateur_idInstallation -- On donne un nom à notre clé FOREI-GN KEY (idInstallation) -- Colonne sur laquelle on crée la clé REFERENCES Installation(idInstallation) -- Colonne de référence )ENGINE=InnoDB DEFAULT CHARSET=utf8 ;
-- -- Contenu de la table ‘Regulateur‘ --
INSERT INTO ‘Regulateur‘ (‘idRegulateur‘, ‘idInstallation‘, ‘periodeRegulateur‘, ‘modeCoupure‘, ‘modeCharge‘, ‘buzzer‘, ‘verrou‘,‘charge‘, ‘nbSemainesSansCharge‘, ‘temperature‘, ‘horodatage‘) VALUES (2, 1, 60, ’1’, ’BOOST’, ’0’, ’0’, ’0’, 0, 24, ’2015-04-1613 :45 :00’) ;
-- --------------------------------------------------------
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
6 Base de données 15
-- -- Structure de la table ‘Suiveur‘ --
CREATE TABLE IF NOT EXISTS ‘Suiveur‘ ( ‘idSuiveur‘ int(11) NOT NULL, ‘idInstallation‘ int(11) NOT NULL, ‘periodeSuiveur‘int(11) NOT NULL, ‘mode‘ enum(’manuel’,’automatique’) NOT NULL, ‘suiveur‘ enum(’aucun’,’detection’,’programme’) NOT NULL,‘intervalle‘ int(11) NOT NULL, PRIMARY KEY (‘idSuiveur‘), CONSTRAINT fk_Suiveur_idInstallation FOREIGN KEY (idInstallation)REFERENCES Installation(idInstallation) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 ;
-- -- Contenu de la table ‘Suiveur‘ --
INSERT INTO ‘Suiveur‘ (‘idSuiveur‘, ‘idInstallation‘, ‘periodeSuiveur‘, ‘mode‘, ‘suiveur‘, ‘intervalle‘) VALUES (1, 1, 60, ’manuel’,’aucun’, 300) ;
-- --------------------------------------------------------
-- -- Structure de la table ‘StationMeteo‘ --
CREATE TABLE IF NOT EXISTS ‘StationMeteo‘ ( ‘idStationMeteo‘ int(11) NOT NULL, ‘idInstallation‘ int(11) NOT NULL, ‘periode-StationMeteo‘ int(11) NOT NULL, PRIMARY KEY (‘idStationMeteo‘), CONSTRAINT fk_StationMeteo_idInstallation FOREIGN K-EY (idInstallation) REFERENCES Installation(idInstallation) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 ;
-- -- Contenu de la table ‘StationMeteo‘ --
INSERT INTO ‘StationMeteo‘ (‘idStationMeteo‘, ‘idInstallation‘, ‘periodeStationMeteo‘) VALUES (3, 1, 60) ;
-- --------------------------------------------------------
-- -- Structure de la table ‘Surveillance‘ --
CREATE TABLE IF NOT EXISTS ‘Surveillance‘ ( ‘idSurveillance‘ int(11) NOT NULL AUTO_INCREMENT, ‘idInstallation‘ int(11)NOT NULL, ‘periodeSurveillance‘ int(11) NOT NULL, ‘protection‘ enum(’0’,’1’) NOT NULL DEFAULT ’0’, ‘vitesse‘ tinyint(4) NOTNULL, ‘attente‘ tinyint(4) NOT NULL, PRIMARY KEY (‘idSurveillance‘), CONSTRAINT fk_Surveillance_idInstallation FOREIGNKEY (idInstallation) REFERENCES Installation(idInstallation) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 ;
-- -- Contenu de la table ‘Surveillance‘ --
INSERT INTO ‘Surveillance‘ (‘idSurveillance‘, ‘idInstallation‘, ‘periodeSurveillance‘, ‘protection‘, ‘vitesse‘, ‘attente‘) VALUES (4, 1,60, ’0’, 100, 600) ;
-- --------------------------------------------------------
-- -- Structure de la table ‘MesuresSuiveur‘ --
CREATE TABLE IF NOT EXISTS ‘MesuresSuiveur‘ ( ‘idMesure‘ int(11) NOT NULL AUTO_INCREMENT, ‘idSuiveur‘ int(11) NOTNULL, ‘angleHoraire‘ double NOT NULL, ‘angleAzimut‘ double NOT NULL, ‘positionMoteurA‘ double NOT NULL, ‘positionMoteur-B‘ double NOT NULL, ‘destinationMoteurA‘ double NOT NULL, ‘destinationMoteurB‘ double NOT NULL, ‘courantMoteurA‘ doubleNOT NULL, ‘courantMoteurB‘ double NOT NULL, ‘tensionAlimentationSuiveur‘ double NOT NULL, ‘horodatage‘ datetime NO-T NULL, PRIMARY KEY (‘idMesure‘), CONSTRAINT fk_MesuresSuiveur_idSuiveur FOREIGN KEY (idSuiveur) REFERENCESSuiveur(idSuiveur) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 ;
-- --------------------------------------------------------
-- -- Structure de la table ‘MesuresRegulateur‘ --
CREATE TABLE IF NOT EXISTS ‘MesuresRegulateur‘ ( ‘idMesure‘ int(11) NOT NULL AUTO_INCREMENT, ‘idRegulateur‘ int(11)NOT NULL, ‘finTension‘ double NOT NULL, ‘surplus‘ double NOT NULL, ‘courantPV‘ double NOT NULL, ‘courantCharge‘ doubleNOT NULL, ‘chargeMatin‘ double NOT NULL, ‘chargeSoir‘ double NOT NULL, ‘panneauxAh‘ double NOT NULL, ‘chargeAh‘ doubleNOT NULL, ‘excedantAh‘ double NOT NULL, ‘horodatage‘ datetime NOT NULL, PRIMARY KEY (‘idMesure‘), CONSTRAINT fk-_MesuresRegulateur_idRegulateur FOREIGN KEY (idRegulateur) REFERENCES Regulateur(idRegulateur) ) ENGINE=InnoDBDEFAULT CHARSET=utf8 ;
-- --------------------------------------------------------
-- -- Structure de la table ‘MesuresStationMeteo‘ --
CREATE TABLE IF NOT EXISTS ‘MesuresStationMeteo‘ ( ‘idMesure‘ int(11) unsigned NOT NULL AUTO_INCREMENT, ‘id-StationMeteo‘ int(11) NOT NULL, ‘vitesseVent‘ double NOT NULL, ‘directionVent‘ double NOT NULL, ‘temperatureAir‘ double NOTNULL, ‘luminosite‘ double NOT NULL, ‘horodatage‘ datetime NOT NULL, PRIMARY KEY (‘idMesure‘), CONSTRAINT fk_Mesures-StationMeteo_idStationMeteo FOREIGN KEY (idStationMeteo) REFERENCES StationMeteo(idStationMeteo) ) ENGINE=InnoDBDEFAULT CHARSET=utf8 ;
-- --------------------------------------------------------
-- -- Structure de la table ‘Positions‘ --
CREATE TABLE IF NOT EXISTS ‘Positions‘ ( ‘idPosition‘ int(11) NOT NULL AUTO_INCREMENT, ‘idSuiveur‘ int(11) NOT N-ULL, ‘type‘ enum(’nettoyage’,’vent’,’nuit’,’neige’) NOT NULL, ‘angleHoraire‘ double NOT NULL, ‘angleAzimut‘ double NOT NU-LL, ‘positionMoteurA‘ double NOT NULL, ‘positionMoteurB‘ double NOT NULL, PRIMARY KEY (‘idPosition‘), CONSTRAINT
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
7 A propos 16
fk_Positions_idSuiveur FOREIGN KEY (idSuiveur) REFERENCES Suiveur(idSuiveur) ) ENGINE=InnoDB DEFAULT CHARSE-T=utf8 ;
-- -- Contenu de la table ‘Positions‘ --
INSERT INTO ‘Positions‘ (‘idPosition‘, ‘idSuiveur‘, ‘type‘, ‘angleHoraire‘, ‘angleAzimut‘, ‘positionMoteurA‘, ‘positionMoteurB‘) VAL-UES (1, 1, ’nettoyage’, 0, 0, 0, 0), (2, 1, ’vent’, -50, 90, 0, 0), (3, 1, ’nuit’, 0, 0, 0, 0) ;
-- --------------------------------------------------------
-- -- Structure de la table ‘Alertes‘ --
CREATE TABLE IF NOT EXISTS ‘Alertes‘ ( ‘idAlerte‘ int(11) NOT NULL AUTO_INCREMENT, ‘idModule‘ int(11) NOT NULL,‘type‘ text NOT NULL, ‘horodatage‘ datetime NOT NULL, ‘description‘ text CHARACTER SET utf8 NOT NULL, PRIMARY KEY(‘idAlerte‘), CONSTRAINT fk_Alertes_idModule FOREIGN KEY (idModule) REFERENCES Modules(idModule) ) ENGINE=Inno-DB DEFAULT CHARSET=utf8 ;
7 A propos
Auteur
Nicolas Detilleux <[email protected]>Rémy Gonzalves <[email protected]>Grégory Moll <[email protected]>Adrien Thiel <[email protected]>
Version
1.0
Date
2016
8 Licence GPL
This program is free software ; you can redistribute it and/or modify it under the terms of the GNU General Public License aspublished by the Free Software Foundation ; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY ; without even the implied warrantyof MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program ; if not, write to the Free SoftwareFoundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
9 Liste des choses a faire
Membre AcquisitionMeteo : :main ()corriger diagramme de séquence Acquérir les données météos
Membre IhmTournesol : :afficherInformationsSuiveur (InformationsSuiveur informationsSuiveur)afficher positionHoraireA, aDestination, iMoteurA, positionElevationB, bDestination, iMotorB, automatique
Membre IhmTournesol : :deplacerPositionMaintenance ()lire les positions dans la BDD
Membre IhmTournesol : :deplacerPositionPluie ()lire les positions dans la BDD
Membre IhmTournesol : :deplacerPositionVent ()lire les positions dans la BDD
Membre Regulateur : :acquerirInformations ()assurer la détection du début de trame 0x20
Membre Regulateur : :decoderTrameInformations (QString reponse)décoder l’ensemble des valeurs de la trame 0x20
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10 Documentation des classes 17
Membre StationMeteo : :enregistrerMesures ()ajouter enregistrerMesures() dans le diagramme de séquence Acquérir les données météos
Membre SuiveurSolaire : :decoderTrame (QString reponseSuiveur)décoder l’ensemble des valeurs demandées de la trame suiveur
10 Documentation des classes
10.1 Reference de la classe AcquisitionMeteo
Classe qui assure la gestion de la station météo.
#include <acquisitionMeteo.h>
Graphe de collaboration de AcquisitionMeteo :
AcquisitionMeteo
- fini- periode- mutex- waitCondition- stationMeteo
+ AcquisitionMeteo()+ ~AcquisitionMeteo()+ main()+ finir()+ terminer()- msleep()- annuler()- lireConfiguration()- attendrePeriode()
StationMeteo
- cv7- capteurLumineux- _vitesse- _direction- _temperature- vitesse- direction- temperature- informationStationMeteo- bdd
+ StationMeteo()+ ~StationMeteo()+ acquerir()+ lireLuminosite()+ lireVent()+ lireVitesse()+ lireVitesse()+ lireDirection()+ lireTemperature()+ enregistrerMesures()
stationMeteo
CV7
- port- phrases
+ CV7()+ ~CV7()+ recupererPhrase()+ recevoirPhrases()+ decouperTrames()+ setMap()
cv7
Port
- port
+ Port()+ Port()+ ~Port()+ ouvrir()+ transmettre()+ recevoir()+ recevoir()+ lire()+ getNbOctetsDisponibles()+ estOuvert()- onReadyRead()
port
CapteurLuminosite
- luminosite
+ CapteurLuminosite()+ ~CapteurLuminosite()+ lire()
capteurLumineux
BaseDeDonnees
- db- mutex- baseDeDonnees- nbAcces
+ connecter()+ executer()+ recuperer()+ recuperer()+ recuperer()+ recuperer()+ getInstance()+ detruireInstance()- BaseDeDonnees()- ~BaseDeDonnees()
bdd
baseDeDonnees
Mesure
+ valeur+ unite+ horodatage+ valide
_temperature_direction_vitesse
InformationsStationMeteo
+ vitesseVent+ directionVent+ luminosite+ temperature+ valide
directionVentluminosite
vitesseVenttemperature
informationStationMeteo
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.1 Référence de la classe AcquisitionMeteo 18
Connecteurs publics
– void main ()Corps du thread.
– void finir ()Met fin à l’exécution du thread.
– void terminer ()Affiche la fin d’exécution du thread en mode Debug.
Signaux
– void nouvellesInformationsStationMeteo (InformationsStationMeteo informationsStationMeteo)
Fonctions membres publiques
– AcquisitionMeteo ()Constructeur par défaut.
– ∼AcquisitionMeteo ()Destructeur.
Fonctions membres privees
– void msleep (unsigned long sleepMS)– void annuler ()– void lireConfiguration ()
Lit la configuration dans la base de données.– void attendrePeriode ()
Génère une attente.
Attributs prives
– bool fini– int periode– QMutex mutex– QWaitCondition waitCondition– StationMeteo ∗ stationMeteo
10.1.1 Description detaillee
Auteur
Nicolas Detilleux <[email protected]>
10.1.2 Documentation des constructeurs et destructeur
10.1.2.1 AcquisitionMeteo : :AcquisitionMeteo ( )
Références nouvellesInformationsStationMeteo(), et stationMeteo.
: fini(false), periode(PERIODE_ACQUISITION_METEO)
{#ifdef DEBUG_STATIONMETEO
qDebug() << Q_FUNC_INFO << QThread::currentThreadId() << this;#endif
stationMeteo = new StationMeteo;
connect(stationMeteo, SIGNAL(nouvellesInformationsStationMeteo(InformationsStationMeteo)), this, SIGNAL(nouvellesInformationsStationMeteo(InformationsStationMeteo)));
}
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.1 Référence de la classe AcquisitionMeteo 19
10.1.2.2 AcquisitionMeteo : :∼AcquisitionMeteo ( )
Références stationMeteo.
{delete stationMeteo;
#ifdef DEBUG_STATIONMETEOqDebug() << Q_FUNC_INFO << QThread::currentThreadId() << this;
#endif}
10.1.3 Documentation des fonctions membres
10.1.3.1 AcquisitionMeteo : :annuler ( ) [inline, private]
Références waitCondition.
Référencé par finir().
{waitCondition.wakeAll();
}
10.1.3.2 AcquisitionMeteo : :attendrePeriode ( ) [private]
Références msleep(), et periode.
Référencé par main().
{#ifdef DEBUG_STATIONMETEOqDebug() << Q_FUNC_INFO << periode;#endifthis->msleep(periode);
}
10.1.3.3 AcquisitionMeteo : :finir ( ) [slot]
Références annuler(), et fini.
Référencé par IhmTournesol : :∼IhmTournesol().
{fini = true;annuler();
}
10.1.3.4 AcquisitionMeteo : :lireConfiguration ( ) [private]
Références BaseDeDonnees : :connecter(), BaseDeDonnees : :detruireInstance(), BaseDeDonnees : :getInstance(), periode,PERIODE_ACQUISITION_METEO, et BaseDeDonnees : :recuperer().
Référencé par main().
{BaseDeDonnees *bdd = BaseDeDonnees::getInstance();
bdd->connecter();
QString requete = "SELECT periodeStationMeteo FROM StationMeteo";QString periodeStationMeteo;
bool retour = bdd->recuperer(requete, periodeStationMeteo);if(retour){
#ifdef DEBUG_STATIONMETEOqDebug() << Q_FUNC_INFO << periodeStationMeteo;#endif
// au moins 1s ?if(periodeStationMeteo.toInt() > 0){
periode = periodeStationMeteo.toInt() * 1000;}else{
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.1 Référence de la classe AcquisitionMeteo 20
periode = PERIODE_ACQUISITION_METEO;}
}else{
qDebug() << Q_FUNC_INFO << QString::fromUtf8("Erreur requête !");}
BaseDeDonnees::detruireInstance();}
10.1.3.5 AcquisitionMeteo : :main ( ) [slot]
A faire corriger diagramme de séquence Acquérir les données météos
Références StationMeteo : :acquerir(), attendrePeriode(), fini, lireConfiguration(), et stationMeteo.
{
#ifdef DEBUG_STATIONMETEOqDebug() << Q_FUNC_INFO << QThread::currentThreadId() << this << "demarrage";
#endif
lireConfiguration();
while(!fini){
stationMeteo->acquerir();
attendrePeriode();}
#ifdef DEBUG_STATIONMETEOqDebug() << Q_FUNC_INFO << QThread::currentThreadId() << this << "arret";
#endif
}
10.1.3.6 AcquisitionMeteo : :msleep ( unsigned long sleepMS ) [inline, private]
ParametressleepMS
Références mutex, et waitCondition.
Référencé par attendrePeriode().
{waitCondition.wait(&mutex, sleepMS);
}
10.1.3.7 AcquisitionMeteo : :nouvellesInformationsStationMeteo ( InformationsStationMeteo informationsStationMeteo )[signal]
Parametresinformations-StationMeteo
Référencé par AcquisitionMeteo().
10.1.3.8 AcquisitionMeteo : :terminer ( ) [slot]
{#ifdef DEBUG_STATIONMETEO
qDebug() << Q_FUNC_INFO << QThread::currentThreadId() << this;#endif}
10.1.4 Documentation des donnees membres
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.2 Référence de la classe AcquisitionRegulateur 21
10.1.4.1 bool AcquisitionMeteo : :fini [private]
TODO
Référencé par finir(), et main().
10.1.4.2 QMutex AcquisitionMeteo : :mutex [private]
TODO
Référencé par msleep().
10.1.4.3 int AcquisitionMeteo : :periode [private]
période en millisecondes
Référencé par attendrePeriode(), et lireConfiguration().
10.1.4.4 StationMeteo∗ AcquisitionMeteo : :stationMeteo [private]
TODO
Référencé par AcquisitionMeteo(), main(), et ∼AcquisitionMeteo().
10.1.4.5 QWaitCondition AcquisitionMeteo : :waitCondition [private]
TODO
Référencé par annuler(), et msleep().
La documentation de cette classe a été générée à partir des fichiers suivants :– acquisitionMeteo.h– acquisitionMeteo.cpp
10.2 Reference de la classe AcquisitionRegulateur
Thread contenant toutes les données relatives au régulateur de charge.
#include <acquisitionRegulateur.h>
Graphe de collaboration de AcquisitionRegulateur :
AcquisitionRegulateur
- regulateur- fini- mutex- waitCondition- periode
+ AcquisitionRegulateur()+ ~AcquisitionRegulateur()+ main()+ finir()+ terminer()- msleep()- annuler()- lireConfiguration()- attendrePeriode()
Regulateur
- port- informationsRegulateur- journalisationRegulateur- alarmesRegulateur- parametresRegulateur- bdd- mutex
+ Regulateur()+ ~Regulateur()+ acquerir()+ acquerirInformations()+ acquerirHistorique()+ decoderTrameInformations()+ decoderTrameHistorique()+ decoderAlarmes()+ decoderMenuState()+ envoyerMenuState()+ decoderMenuState2()+ envoyerMenuState2()+ changerEtatBuzzer()+ changerTypeBatterie()+ changerModeCharge()+ changerEtatCadenas()+ changerModeNuit()
regulateur
InformationsRegulateur
+ niveauCharge+ tensionBatterie+ surplusEnergie+ courantPhotovoltaique+ courantCharge+ temperature+ modeChargeBatterie+ onOff
informationsRegulateur
JournalisationRegulateur
+ ampereHeurePVExcedant+ ampereHeurePvConsomme+ niveauChargeMatin+ niveauChargeSoir+ chargeAmpaireHeure+ nbSemaines+ BuzzerEtat+ typeBatterie+ mode+ modeLock+ serialInterface+ modenuit
journalisationRegulateur
BaseDeDonnees
- db- mutex- baseDeDonnees- nbAcces
+ connecter()+ executer()+ recuperer()+ recuperer()+ recuperer()+ recuperer()+ getInstance()+ detruireInstance()- BaseDeDonnees()- ~BaseDeDonnees()
bdd
baseDeDonnees
AlarmesRegulateur
+ alarmeBatterie+ alarmeChargeComplete+ alarmeDebranchementBatterie+ alarmeSurtensionPv+ alarmeSurtensionCharge+ alarmeSurvoltageBatterie+ alarmeSurchauffePv+ alarmeSurchauffeCharge+ trameRecu
alarmesRegulateur
ParametresRegulateur
+ modeNuit+ buzzerOnOff+ typeBatterie+ modeCoupureChargeFaible+ modeLock+ serialInterface
parametresRegulateur
Port
- port
+ Port()+ Port()+ ~Port()+ ouvrir()+ transmettre()+ recevoir()+ recevoir()+ lire()+ getNbOctetsDisponibles()+ estOuvert()- onReadyRead()
port
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.2 Référence de la classe AcquisitionRegulateur 22
Connecteurs publics
– void main ()– void finir ()– void terminer ()
Signaux
– void nouvellesInformationsRegulateur (InformationsRegulateur informationsRegulateur)Signal contenant les données de la trame d’information.
– void nouvellesJournalisationRegulateur (JournalisationRegulateur journalisationRegulateur)Signal contenant les données de la trame de journalisation.
– void nouvellesAlarmesRegulateur (AlarmesRegulateur alarmesRegulateur)Signal contenant les données du champ état de la trame de journalisation.
– void changerEtatBuzzer ()Signal d’appui sur le bouton de contrôle du buzzer.
– void changerTypeBatterie (int type)Signal de changement de type de batterie.
– void changerModeCharge (int mode)Signal de changement de mode de charge.
– void changerEtatCadenas ()Signal de changement d’état du cadenas.
– void changerModeNuit ()Signal de changement de mode pour la nuit.
Fonctions membres publiques
– AcquisitionRegulateur ()constructeur
– ∼AcquisitionRegulateur ()destructeur
Fonctions membres privees
– void msleep (unsigned long sleepMS)– void annuler ()– void lireConfiguration ()– void attendrePeriode ()
Attributs prives
– Regulateur ∗ regulateur– bool fini– QMutex mutex– QWaitCondition waitCondition– int periode
10.2.1 Description detaillee
Auteur
Adrien Thiel <[email protected]>
10.2.2 Documentation des constructeurs et destructeur
10.2.2.1 AcquisitionRegulateur : :AcquisitionRegulateur ( )
Références changerEtatBuzzer(), changerEtatCadenas(), changerModeCharge(), changerModeNuit(), changerTypeBatterie(),nouvellesAlarmesRegulateur(), nouvellesInformationsRegulateur(), nouvellesJournalisationRegulateur(), et regulateur.
: fini(false), periode(PERIODE_ACQUISITION_REGULATEUR)
{#ifdef DEBUG_REGULATEUR
qDebug() << Q_FUNC_INFO << QThread::currentThreadId() << this;#endif
regulateur = new Regulateur;
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.2 Référence de la classe AcquisitionRegulateur 23
connect(regulateur, SIGNAL(nouvellesInformationsRegulateur(InformationsRegulateur)), this, SIGNAL(nouvellesInformationsRegulateur(InformationsRegulateur)));
connect(regulateur, SIGNAL(nouvellesJournalisationRegulateur(JournalisationRegulateur)), this, SIGNAL(nouvellesJournalisationRegulateur(JournalisationRegulateur)));
connect(regulateur, SIGNAL(nouvellesAlarmesRegulateur (AlarmesRegulateur)),this, SIGNAL(nouvellesAlarmesRegulateur(AlarmesRegulateur)));
connect(this, SIGNAL(changerEtatBuzzer()), regulateur, SLOT(changerEtatBuzzer()));
connect(this, SIGNAL(changerTypeBatterie(int)), regulateur, SLOT(changerTypeBatterie(int)));
connect(this, SIGNAL(changerModeCharge(int)), regulateur, SLOT(changerModeCharge(int)));
connect(this, SIGNAL(changerEtatCadenas()), regulateur, SLOT(changerEtatCadenas()));
connect(this, SIGNAL(changerModeNuit()), regulateur, SLOT(changerModeNuit()));
}
10.2.2.2 AcquisitionRegulateur : :∼AcquisitionRegulateur ( )
Références regulateur.
{delete regulateur;
#ifdef DEBUG_REGULATEURqDebug() << Q_FUNC_INFO << QThread::currentThreadId() << this;
#endif}
10.2.3 Documentation des fonctions membres
10.2.3.1 AcquisitionRegulateur : :annuler ( ) [inline, private]
Références waitCondition.
Référencé par finir().
{waitCondition.wakeAll();
}
10.2.3.2 AcquisitionRegulateur : :attendrePeriode ( ) [private]
Références msleep(), et periode.
Référencé par main().
{this->msleep(periode); // en ms
}
10.2.3.3 AcquisitionRegulateur : :changerEtatBuzzer ( ) [signal]
Parametres
Référencé par AcquisitionRegulateur().
10.2.3.4 AcquisitionRegulateur : :changerEtatCadenas ( ) [signal]
Parametres
Référencé par AcquisitionRegulateur().
10.2.3.5 AcquisitionRegulateur : :changerModeCharge ( int mode ) [signal]
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.2 Référence de la classe AcquisitionRegulateur 24
Parametresmode
Référencé par AcquisitionRegulateur().
10.2.3.6 AcquisitionRegulateur : :changerModeNuit ( ) [signal]
Parametres
Référencé par AcquisitionRegulateur().
10.2.3.7 AcquisitionRegulateur : :changerTypeBatterie ( int type ) [signal]
Parametrestype
Référencé par AcquisitionRegulateur().
10.2.3.8 AcquisitionRegulateur : :finir ( ) [slot]
Références annuler(), et fini.
Référencé par IhmTournesol : :∼IhmTournesol().
{fini = true;annuler();
}
10.2.3.9 AcquisitionRegulateur : :lireConfiguration ( ) [private]
Références BaseDeDonnees : :connecter(), BaseDeDonnees : :detruireInstance(), BaseDeDonnees : :getInstance(), periode, etBaseDeDonnees : :recuperer().
Référencé par main().
{BaseDeDonnees *bdd = BaseDeDonnees::getInstance();bdd->connecter();
// récupère la période du threadQString periode;QString requete = "SELECT periodeRegulateur FROM Regulateur";//qDebug() << QString::fromUtf8("requête : ") << requete;
bool retour = bdd->recuperer(requete, periode);if(retour != false){
this->periode = periode.toInt()*1000; // s en msqDebug() << Q_FUNC_INFO << QString::fromUtf8("période") << this->periode
;}else{
qDebug() << Q_FUNC_INFO << QString::fromUtf8("erreur !");}
BaseDeDonnees::detruireInstance();}
10.2.3.10 AcquisitionRegulateur : :main ( ) [slot]
Références Regulateur : :acquerir(), attendrePeriode(), fini, lireConfiguration(), et regulateur.
{#ifdef DEBUG_REGULATEUR
qDebug() << Q_FUNC_INFO << QThread::currentThreadId() << this;#endif
lireConfiguration();
while(!fini){
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.2 Référence de la classe AcquisitionRegulateur 25
regulateur->acquerir();
attendrePeriode();}
}
10.2.3.11 AcquisitionRegulateur : :msleep ( unsigned long sleepMS ) [inline, private]
ParametressleepMS
Références mutex, et waitCondition.
Référencé par attendrePeriode().
{waitCondition.wait(&mutex, sleepMS);
}
10.2.3.12 AcquisitionRegulateur : :nouvellesAlarmesRegulateur ( AlarmesRegulateur alarmesRegulateur ) [signal]
ParametresalarmesRegulateur
Référencé par AcquisitionRegulateur().
10.2.3.13 AcquisitionRegulateur : :nouvellesInformationsRegulateur ( InformationsRegulateur informationsRegulateur )[signal]
Parametresinformations-
Regulateur
Référencé par AcquisitionRegulateur().
10.2.3.14 AcquisitionRegulateur : :nouvellesJournalisationRegulateur ( JournalisationRegulateur journalisationRegulateur )[signal]
Parametresjournalisation-
Regulateur
Référencé par AcquisitionRegulateur().
10.2.3.15 AcquisitionRegulateur : :terminer ( ) [slot]
{#ifdef DEBUG_REGULATEUR
qDebug() << Q_FUNC_INFO << QThread::currentThreadId() << this;#endif}
10.2.4 Documentation des donnees membres
10.2.4.1 bool AcquisitionRegulateur : :fini [private]
TODO
Référencé par finir(), et main().
10.2.4.2 QMutex AcquisitionRegulateur : :mutex [private]
TODO
Référencé par msleep().
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.3 Référence de la classe AcquisitionSuiveur 26
10.2.4.3 int AcquisitionRegulateur : :periode [private]
la périodicité du thread
Référencé par attendrePeriode(), et lireConfiguration().
10.2.4.4 Regulateur∗ AcquisitionRegulateur : :regulateur [private]
TODO
Référencé par AcquisitionRegulateur(), main(), et ∼AcquisitionRegulateur().
10.2.4.5 QWaitCondition AcquisitionRegulateur : :waitCondition [private]
TODO
Référencé par annuler(), et msleep().
La documentation de cette classe a été générée à partir des fichiers suivants :– acquisitionRegulateur.h– acquisitionRegulateur.cpp
10.3 Reference de la classe AcquisitionSuiveur
Gestion du suiveur solaire.
#include <acquisitionSuiveur.h>
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.3 Référence de la classe AcquisitionSuiveur 27
Graphe de collaboration de AcquisitionSuiveur :
AcquisitionSuiveur
+ suiveur- fini- modeAuto- periode- mutex- waitCondition- bdd
+ AcquisitionSuiveur()+ ~AcquisitionSuiveur()+ main()+ finir()+ terminer()+ deplacerPanneauOuest()+ deplacerPanneauEst()+ deplacerPanneauNord()+ deplacerPanneauSud()- msleep()- annuler()- lirePeriode()- enregistrerEtatSuiveur()
BaseDeDonnees
- db- mutex- baseDeDonnees- nbAcces
+ connecter()+ executer()+ recuperer()+ recuperer()+ recuperer()+ recuperer()+ getInstance()+ detruireInstance()- BaseDeDonnees()- ~BaseDeDonnees()
bdd
baseDeDonnees
SuiveurSolaire
- informationsSuiveur- port- mutexPort- protectionVent- bdd- date
+ SuiveurSolaire()+ ~SuiveurSolaire()+ acquerir()+ getEtat()+ deplacerPanneauGauche()+ deplacerPanneauDroite()+ deplacerPanneauHaut()+ deplacerPanneauBas()+ deplacerManuel()+ deplacerAngleHoraire()+ deplacerAngleElevation()+ deplacer()+ proteger()+ enregistrerInformationsBdd()+ gererModeAutoProgramme()+ stopperCommande()- decoderTrame()- reinitialiserInformationsSuiveur()- calculerChecksum()
bdd
suiveur
InformationsSuiveur
+ heure+ minute+ seconde+ jour+ mois+ angleHoraireA+ positionHoraireA+ destinationA+ iMoteurA+ angleElevationB
and 12 more...
informationsSuiveur
Port
- port
+ Port()+ Port()+ ~Port()+ ouvrir()+ transmettre()+ recevoir()+ recevoir()+ lire()+ getNbOctetsDisponibles()+ estOuvert()- onReadyRead()
port
Connecteurs publics
– void main ()– void finir ()– void terminer ()– void deplacerPanneauOuest ()– void deplacerPanneauEst ()– void deplacerPanneauNord ()– void deplacerPanneauSud ()
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.3 Référence de la classe AcquisitionSuiveur 28
Signaux
– void signalerInformationsSuiveur (InformationsSuiveur informationsSuiveur)– void deplacerPanneauGauche ()– void deplacerPanneauDroite ()– void deplacerPanneauHaut ()– void deplacerPanneauBas ()– void deplacerAngleAzimut (double angleA)– void deplacerAngleElevation (double angleB)– void deplacer (double angleHoraire, double angleElevation)– void proteger (bool etat)– void gererModeAutoProgramme (bool modeAuto)– void stopperCommande ()
Fonctions membres publiques
– AcquisitionSuiveur ()– ∼AcquisitionSuiveur ()
Attributs publics
– SuiveurSolaire ∗ suiveur
Fonctions membres privees
– void msleep (unsigned long sleepMS)– void annuler ()– void lirePeriode ()
Lit la périodicité du thread dans la base de données.– void enregistrerEtatSuiveur ()
Attributs prives
– bool fini– bool modeAuto– int periode– QMutex mutex– QWaitCondition waitCondition– BaseDeDonnees ∗ bdd
10.3.1 Description detaillee
Auteur
Rémy Gonzalves <[email protected]>
10.3.2 Documentation des constructeurs et destructeur
10.3.2.1 AcquisitionSuiveur : :AcquisitionSuiveur ( )
Références bdd, BaseDeDonnees : :connecter(), deplacer(), deplacerAngleAzimut(), deplacerAngleElevation(), deplacerPanneau-Bas(), deplacerPanneauDroite(), deplacerPanneauGauche(), deplacerPanneauHaut(), gererModeAutoProgramme(), BaseDe-Donnees : :getInstance(), periode, proteger(), signalerInformationsSuiveur(), stopperCommande(), et suiveur.
: fini(false){#ifdef DEBUG_SUIVEUR
qDebug() << Q_FUNC_INFO << QThread::currentThreadId() << this;#endif
suiveur = new SuiveurSolaire;connect(suiveur, SIGNAL(signalerInformationsSuiveur(InformationsSuiveur)),
this, SIGNAL(signalerInformationsSuiveur(InformationsSuiveur)));connect(this, SIGNAL(deplacerPanneauGauche()), suiveur, SLOT(deplacerPanneauGauche()));
connect(this, SIGNAL(deplacerPanneauDroite()), suiveur, SLOT(deplacerPanneauDroite()));
connect(this, SIGNAL(deplacerPanneauHaut()), suiveur, SLOT(deplacerPanneauHaut()));
connect(this, SIGNAL(deplacerPanneauBas()), suiveur, SLOT(deplacerPanneauBas()));
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.3 Référence de la classe AcquisitionSuiveur 29
connect(this, SIGNAL(deplacerAngleAzimut(double)), suiveur, SLOT(deplacerAngleHoraire(double)));
connect(this, SIGNAL(deplacerAngleElevation(double)), suiveur, SLOT(deplacerAngleElevation(double)));
connect(this, SIGNAL(deplacer(double,double)), suiveur, SLOT(deplacer(double,double)));
connect(this, SIGNAL(proteger(bool)), suiveur, SLOT(proteger(bool)));connect(this, SIGNAL(gererModeAutoProgramme(bool)), suiveur, SLOT(gererModeAutoProgramme(bool)));
connect(this, SIGNAL(stopperCommande()), suiveur, SLOT(stopperCommande()));
bdd = BaseDeDonnees::getInstance();bdd->connecter();
periode = 10; // par défaut}
10.3.2.2 AcquisitionSuiveur : :∼AcquisitionSuiveur ( )
Références BaseDeDonnees : :detruireInstance(), et suiveur.
{BaseDeDonnees::detruireInstance();delete suiveur;
#ifdef DEBUG_SUIVEURqDebug() << Q_FUNC_INFO << QThread::currentThreadId() << this;
#endif}
10.3.3 Documentation des fonctions membres
10.3.3.1 AcquisitionSuiveur : :annuler ( ) [inline, private]
Références waitCondition.
Référencé par finir().
{waitCondition.wakeAll();
}
10.3.3.2 AcquisitionSuiveur : :deplacer ( double angleHoraire, double angleElevation ) [signal]
ParametresangleHoraire
angleElevation
Référencé par AcquisitionSuiveur().
10.3.3.3 AcquisitionSuiveur : :deplacerAngleAzimut ( double angleA ) [signal]
Parametresdouble
Référencé par AcquisitionSuiveur().
10.3.3.4 AcquisitionSuiveur : :deplacerAngleElevation ( double angleB ) [signal]
Parametresdouble
Référencé par AcquisitionSuiveur().
10.3.3.5 AcquisitionSuiveur : :deplacerPanneauBas ( ) [signal]
Référencé par AcquisitionSuiveur(), et deplacerPanneauSud().
10.3.3.6 AcquisitionSuiveur : :deplacerPanneauDroite ( ) [signal]
Référencé par AcquisitionSuiveur(), et deplacerPanneauEst().
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.3 Référence de la classe AcquisitionSuiveur 30
10.3.3.7 AcquisitionSuiveur : :deplacerPanneauEst ( ) [slot]
Références deplacerPanneauDroite().
{emit deplacerPanneauDroite();
}
10.3.3.8 AcquisitionSuiveur : :deplacerPanneauGauche ( ) [signal]
Référencé par AcquisitionSuiveur(), et deplacerPanneauOuest().
10.3.3.9 AcquisitionSuiveur : :deplacerPanneauHaut ( ) [signal]
Référencé par AcquisitionSuiveur(), et deplacerPanneauNord().
10.3.3.10 AcquisitionSuiveur : :deplacerPanneauNord ( ) [slot]
Références deplacerPanneauHaut().
{emit deplacerPanneauHaut();
}
10.3.3.11 AcquisitionSuiveur : :deplacerPanneauOuest ( ) [slot]
Références deplacerPanneauGauche().
{emit deplacerPanneauGauche();
}
10.3.3.12 AcquisitionSuiveur : :deplacerPanneauSud ( ) [slot]
Références deplacerPanneauBas().
{emit deplacerPanneauBas();
}
10.3.3.13 void AcquisitionSuiveur : :enregistrerEtatSuiveur ( ) [private]
Références bdd, BaseDeDonnees : :executer(), SuiveurSolaire : :getEtat(), et suiveur.
Référencé par main().
{bool etat = suiveur->getEtat();QString requete = "UPDATE ‘Modules‘ SET ‘etat‘= ’" + QString::number(etat)
+ "’ WHERE ‘nomModule‘ = ’suiveur’";bdd->executer(requete);
}
10.3.3.14 AcquisitionSuiveur : :finir ( ) [slot]
Références annuler(), et fini.
Référencé par IhmTournesol : :∼IhmTournesol().
{fini = true;annuler();
}
10.3.3.15 void AcquisitionSuiveur : :gererModeAutoProgramme ( bool modeAuto ) [signal]
Référencé par AcquisitionSuiveur().
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.3 Référence de la classe AcquisitionSuiveur 31
10.3.3.16 AcquisitionSuiveur : :lirePeriode ( ) [private]
Références bdd, periode, et BaseDeDonnees : :recuperer().
Référencé par main().
{QString periodeSuiveur;QString requete = "SELECT periodeSuiveur FROM Suiveur";
#ifdef DEBUG_SUIVEUR//qDebug() << Q_FUNC_INFO << requete;#endif
bool verif = bdd->recuperer(requete, periodeSuiveur);if(verif == true){
periode = periodeSuiveur.toInt();#ifdef DEBUG_SUIVEURqDebug() << Q_FUNC_INFO << "periode" << periode;#endif
}}
10.3.3.17 AcquisitionSuiveur : :main ( ) [slot]
Références SuiveurSolaire : :acquerir(), enregistrerEtatSuiveur(), fini, lirePeriode(), msleep(), periode, et suiveur.
{#ifdef DEBUG_SUIVEUR
qDebug() << Q_FUNC_INFO << QThread::currentThreadId() << this;#endif
lirePeriode();
while(!fini){
suiveur->acquerir();
enregistrerEtatSuiveur();
msleep(periode*1000);}
}
10.3.3.18 AcquisitionSuiveur : :msleep ( unsigned long sleepMS ) [inline, private]
ParametressleepMS
Références mutex, et waitCondition.
Référencé par main().
{waitCondition.wait(&mutex, sleepMS);
}
10.3.3.19 AcquisitionSuiveur : :proteger ( bool etat ) [signal]
Parametresetat
Référencé par AcquisitionSuiveur().
10.3.3.20 AcquisitionSuiveur : :signalerInformationsSuiveur ( InformationsSuiveur informationsSuiveur ) [signal]
Parametresinformations-
Suiveur
Référencé par AcquisitionSuiveur().
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.4 Référence de la structure AlarmesRegulateur 32
10.3.3.21 AcquisitionSuiveur : :stopperCommande ( ) [signal]
Parametres
Référencé par AcquisitionSuiveur().
10.3.3.22 AcquisitionSuiveur : :terminer ( ) [slot]
Références fini.
{#ifdef DEBUG_SUIVEUR
qDebug() << Q_FUNC_INFO << QThread::currentThreadId() << this;#endif
fini = true;}
10.3.4 Documentation des donnees membres
10.3.4.1 BaseDeDonnees∗ AcquisitionSuiveur : :bdd [private]
Référencé par AcquisitionSuiveur(), enregistrerEtatSuiveur(), et lirePeriode().
10.3.4.2 bool AcquisitionSuiveur : :fini [private]
TODO
Référencé par finir(), main(), et terminer().
10.3.4.3 bool AcquisitionSuiveur : :modeAuto [private]
TODO
10.3.4.4 QMutex AcquisitionSuiveur : :mutex [private]
TODO
Référencé par msleep().
10.3.4.5 int AcquisitionSuiveur : :periode [private]
TODO
Référencé par AcquisitionSuiveur(), lirePeriode(), et main().
10.3.4.6 SuiveurSolaire∗ AcquisitionSuiveur : :suiveur
TODO
Référencé par AcquisitionSuiveur(), enregistrerEtatSuiveur(), main(), et ∼AcquisitionSuiveur().
10.3.4.7 QWaitCondition AcquisitionSuiveur : :waitCondition [private]
TODO
Référencé par annuler(), et msleep().
La documentation de cette classe a été générée à partir des fichiers suivants :– acquisitionSuiveur.h– acquisitionSuiveur.cpp
10.4 Reference de la structure AlarmesRegulateur
Regroupe les différents etats du regulateur.
#include <regulateur.h>
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.4 Référence de la structure AlarmesRegulateur 33
Attributs publics
– bool alarmeBatterie– bool alarmeChargeComplete– bool alarmeDebranchementBatterie– bool alarmeSurtensionPv– bool alarmeSurtensionCharge– bool alarmeSurvoltageBatterie– bool alarmeSurchauffePv– bool alarmeSurchauffeCharge– bool trameRecu
10.4.1 Description detaillee
Cette structure ne contient que des bouléens pour les alarmes et les notifications du régulateur
10.4.2 Documentation des donnees membres
10.4.2.1 bool AlarmesRegulateur : :alarmeBatterie
TODO
Référencé par IhmTournesol : :IhmTournesol().
10.4.2.2 bool AlarmesRegulateur : :alarmeChargeComplete
TODO
Référencé par IhmTournesol : :afficherAlarmeRegulateur(), Regulateur : :decoderAlarmes(), et IhmTournesol : :IhmTournesol().
10.4.2.3 bool AlarmesRegulateur : :alarmeDebranchementBatterie
TODO
Référencé par IhmTournesol : :afficherAlarmeRegulateur(), Regulateur : :decoderAlarmes(), et IhmTournesol : :IhmTournesol().
10.4.2.4 bool AlarmesRegulateur : :alarmeSurchauffeCharge
TODO
Référencé par IhmTournesol : :afficherAlarmeRegulateur(), Regulateur : :decoderAlarmes(), et IhmTournesol : :IhmTournesol().
10.4.2.5 bool AlarmesRegulateur : :alarmeSurchauffePv
TODO
Référencé par IhmTournesol : :afficherAlarmeRegulateur(), Regulateur : :decoderAlarmes(), et IhmTournesol : :IhmTournesol().
10.4.2.6 bool AlarmesRegulateur : :alarmeSurtensionCharge
TODO
Référencé par IhmTournesol : :afficherAlarmeRegulateur(), Regulateur : :decoderAlarmes(), et IhmTournesol : :IhmTournesol().
10.4.2.7 bool AlarmesRegulateur : :alarmeSurtensionPv
TODO
Référencé par IhmTournesol : :afficherAlarmeRegulateur(), Regulateur : :decoderAlarmes(), et IhmTournesol : :IhmTournesol().
10.4.2.8 bool AlarmesRegulateur : :alarmeSurvoltageBatterie
TODO
Référencé par IhmTournesol : :afficherAlarmeRegulateur(), Regulateur : :decoderAlarmes(), et IhmTournesol : :IhmTournesol().
10.4.2.9 bool AlarmesRegulateur : :trameRecu
TODO
Référencé par Regulateur : :acquerirInformations(), IhmTournesol : :afficherAlarmeRegulateur(), et IhmTournesol : :Ihm-Tournesol().
La documentation de cette structure a été générée à partir du fichier suivant :– regulateur.h
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.5 Référence de la classe AsservissementSuiveur 34
10.5 Reference de la classe AsservissementSuiveur
Gestion du capteur solaire pour le suivi.
#include <asservissementSuiveur.h>
Graphe de collaboration de AsservissementSuiveur :
AsservissementSuiveur
- capteurSolaire- fini- mutex- waitCondition- etatLDR1- etatLDR2- etatLDR3- etatLDR4- bdd
+ AsservissementSuiveur()+ ~AsservissementSuiveur()+ main()+ finir()+ terminer()- msleep()- annuler()- suivreSoleil()- lireEtatSuiveur()
CapteurSolaire
- etatLDR1- etatLDR2- etatLDR3- etatLDR4- bdd
+ CapteurSolaire()+ ~CapteurSolaire()+ acquerir()+ getEtatLDR1()+ getEtatLDR2()+ getEtatLDR3()+ getEtatLDR4()- trier()- mediane()- reinitialiser()- lireTension()- detecter()
capteurSolaire
BaseDeDonnees
- db- mutex- baseDeDonnees- nbAcces
+ connecter()+ executer()+ recuperer()+ recuperer()+ recuperer()+ recuperer()+ getInstance()+ detruireInstance()- BaseDeDonnees()- ~BaseDeDonnees()
bdd
bdd
baseDeDonnees
Connecteurs publics
– void main ()– void finir ()– void terminer ()
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.5 Référence de la classe AsservissementSuiveur 35
Signaux
– void afficherLabelAsservissementSuiveur (QString message)– void deplacerEst ()– void deplacerOuest ()– void deplacerNord ()– void deplacerSud ()– void afficherEtatsLDR (int etatLDR1, int etatLDR2, int etatLDR3, int etatLDR4)– void afficherEtatSuiveur (bool etat)
Fonctions membres publiques
– AsservissementSuiveur ()– ∼AsservissementSuiveur ()
Fonctions membres privees
– void msleep (unsigned long sleepMS)– void annuler ()– void suivreSoleil ()– void lireEtatSuiveur ()
Attributs prives
– CapteurSolaire capteurSolaire– bool fini– QMutex mutex– QWaitCondition waitCondition– int etatLDR1– int etatLDR2– int etatLDR3– int etatLDR4– BaseDeDonnees ∗ bdd
10.5.1 Description detaillee
Auteur
Grégory Moll <[email protected]>
10.5.2 Documentation des constructeurs et destructeur
10.5.2.1 AsservissementSuiveur : :AsservissementSuiveur ( )
Références afficherEtatSuiveur(), bdd, capteurSolaire, BaseDeDonnees : :connecter(), et BaseDeDonnees : :getInstance().
: fini(false){#ifdef DEBUG_CAPTEURSOLAIRE
qDebug() << Q_FUNC_INFO << QThread::currentThreadId() << this;#endif
bdd = BaseDeDonnees::getInstance();bdd->connecter();
connect(&capteurSolaire, SIGNAL(afficherEtatSuiveur(bool)), this, SIGNAL(afficherEtatSuiveur(bool)));
}
10.5.2.2 AsservissementSuiveur : :∼AsservissementSuiveur ( )
Références BaseDeDonnees : :detruireInstance().
{BaseDeDonnees::detruireInstance();
#ifdef DEBUG_CAPTEURSOLAIREqDebug() << Q_FUNC_INFO << QThread::currentThreadId() << this;
#endif}
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.5 Référence de la classe AsservissementSuiveur 36
10.5.3 Documentation des fonctions membres
10.5.3.1 AsservissementSuiveur : :afficherEtatsLDR ( int etatLDR1, int etatLDR2, int etatLDR3, int etatLDR4 ) [signal]
ParametresetatLDR1etatLDR2etatLDR3etatLDR4
Référencé par suivreSoleil().
10.5.3.2 AsservissementSuiveur : :afficherEtatSuiveur ( bool etat ) [signal]
Référencé par AsservissementSuiveur(), et lireEtatSuiveur().
10.5.3.3 AsservissementSuiveur : :afficherLabelAsservissementSuiveur ( QString message ) [signal]
Parametresmessage
10.5.3.4 AsservissementSuiveur : :annuler ( ) [inline, private]
Références waitCondition.
Référencé par finir().
{waitCondition.wakeAll();
}
10.5.3.5 AsservissementSuiveur : :deplacerEst ( ) [signal]
Référencé par suivreSoleil().
10.5.3.6 AsservissementSuiveur : :deplacerNord ( ) [signal]
Référencé par suivreSoleil().
10.5.3.7 AsservissementSuiveur : :deplacerOuest ( ) [signal]
Référencé par suivreSoleil().
10.5.3.8 AsservissementSuiveur : :deplacerSud ( ) [signal]
Référencé par suivreSoleil().
10.5.3.9 AsservissementSuiveur : :finir ( ) [slot]
Références annuler(), et fini.
Référencé par IhmTournesol : :∼IhmTournesol().
{fini = true;annuler();
}
10.5.3.10 AsservissementSuiveur : :lireEtatSuiveur ( ) [private]
Références afficherEtatSuiveur(), bdd, et BaseDeDonnees : :recuperer().
Référencé par main().
{bool retour;QString etat;QString requete = "SELECT ‘etat‘ FROM ‘Modules‘ WHERE ‘nomModule‘=
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.5 Référence de la classe AsservissementSuiveur 37
’suiveur’";retour = bdd->recuperer(requete, etat);if (retour == true){
emit afficherEtatSuiveur(etat.toInt());//
ihm->SoleilEst->setPixmap(QPixmap(QString::fromUtf8(":/images/images/soleil.png")));}
}
10.5.3.11 AsservissementSuiveur : :main ( ) [slot]
Références CapteurSolaire : :acquerir(), capteurSolaire, fini, lireEtatSuiveur(), msleep(), PERIODE, et suivreSoleil().
{#ifdef DEBUG_CAPTEURSOLAIRE
qDebug() << Q_FUNC_INFO << QThread::currentThreadId() << this;#endif
while(!fini){
capteurSolaire.acquerir();
suivreSoleil();
lireEtatSuiveur();
this->msleep(PERIODE);}
}
10.5.3.12 AsservissementSuiveur : :msleep ( unsigned long sleepMS ) [inline, private]
ParametressleepMS
Références mutex, et waitCondition.
Référencé par main().
{waitCondition.wait(&mutex, sleepMS);
}
10.5.3.13 AsservissementSuiveur : :suivreSoleil ( ) [private]
Références afficherEtatsLDR(), capteurSolaire, deplacerEst(), deplacerNord(), deplacerOuest(), deplacerSud(), etatLDR1, etatL-DR2, etatLDR3, etatLDR4, CapteurSolaire : :getEtatLDR1(), CapteurSolaire : :getEtatLDR2(), CapteurSolaire : :getEtatLDR3(), etCapteurSolaire : :getEtatLDR4().
Référencé par main().
{etatLDR1 = capteurSolaire.getEtatLDR1();etatLDR2 = capteurSolaire.getEtatLDR2();etatLDR3 = capteurSolaire.getEtatLDR3();etatLDR4 = capteurSolaire.getEtatLDR4();
emit afficherEtatsLDR(etatLDR1, etatLDR2, etatLDR3, etatLDR4);
#ifdef DEBUG_CAPTEURSOLAIREqDebug() << "Etat LDR 1 :" << etatLDR1;qDebug() << "Etat LDR 2 :" << etatLDR2;qDebug() << "Etat LDR 3 :" << etatLDR3;qDebug() << "Etat LDR 4 :" << etatLDR4;
#endif
//Vérififier si les 4 LDR sont en face du soleilif((etatLDR1 == true && etatLDR2 == true && etatLDR3 == true && etatLDR4 ==
true) || (etatLDR1 == false && etatLDR2 == false && etatLDR3 == false &&etatLDR4 == false))
{return; // rien a faire : on ne bouge pas
}
//Commande Moteur A (Azimut) LDR 1 et 3if(etatLDR1 == true){
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.5 Référence de la classe AsservissementSuiveur 38
if(etatLDR3 != true){
#ifdef DEBUG_CAPTEURSOLAIREqDebug() << Q_FUNC_INFO << QString::fromUtf8("déplacement à l’est")
;#endif
emit deplacerEst();}
}else if(etatLDR3 == true){
if(etatLDR1 != true){
#ifdef DEBUG_CAPTEURSOLAIREqDebug() << Q_FUNC_INFO << QString::fromUtf8("déplacement à l’ouest
");#endif
emit deplacerOuest();}
}
//Commande Moteur B (Elevation) LDR 2 et 4if(etatLDR2 == true){
if(etatLDR4 != true){
#ifdef DEBUG_CAPTEURSOLAIREqDebug() << Q_FUNC_INFO << QString::fromUtf8("déplacement au nord")
;#endif
emit deplacerNord();}
}else if(etatLDR4 == true){
if(etatLDR2 != true){
#ifdef DEBUG_CAPTEURSOLAIREqDebug() << Q_FUNC_INFO << QString::fromUtf8("déplacement au sud");
#endifemit deplacerSud();
}}
}
10.5.3.14 AsservissementSuiveur : :terminer ( ) [slot]
{#ifdef DEBUG_CAPTEURSOLAIRE
qDebug() << Q_FUNC_INFO << QThread::currentThreadId() << this;#endif}
10.5.4 Documentation des donnees membres
10.5.4.1 BaseDeDonnees∗ AsservissementSuiveur : :bdd [private]
Référencé par AsservissementSuiveur(), et lireEtatSuiveur().
10.5.4.2 CapteurSolaire AsservissementSuiveur : :capteurSolaire [private]
TODO
Référencé par AsservissementSuiveur(), main(), et suivreSoleil().
10.5.4.3 int AsservissementSuiveur : :etatLDR1 [private]
l’état de LDR1
Référencé par suivreSoleil().
10.5.4.4 int AsservissementSuiveur : :etatLDR2 [private]
l’état de LDR2
Référencé par suivreSoleil().
10.5.4.5 int AsservissementSuiveur : :etatLDR3 [private]
l’état de LDR3
Référencé par suivreSoleil().
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.6 Référence de la classe BaseDeDonnees 39
10.5.4.6 int AsservissementSuiveur : :etatLDR4 [private]
l’état de LDR4
Référencé par suivreSoleil().
10.5.4.7 bool AsservissementSuiveur : :fini [private]
TODO
Référencé par finir(), et main().
10.5.4.8 QMutex AsservissementSuiveur : :mutex [private]
TODO
Référencé par msleep().
10.5.4.9 QWaitCondition AsservissementSuiveur : :waitCondition [private]
TODO
Référencé par annuler(), et msleep().
La documentation de cette classe a été générée à partir des fichiers suivants :– asservissementSuiveur.h– asservissementSuiveur.cpp
10.6 Reference de la classe BaseDeDonnees
Classe de gestion de base de données MySQL.
#include <basededonnees.h>
Graphe de collaboration de BaseDeDonnees :
BaseDeDonnees
- db- mutex- baseDeDonnees- nbAcces
+ connecter()+ executer()+ recuperer()+ recuperer()+ recuperer()+ recuperer()+ getInstance()+ detruireInstance()- BaseDeDonnees()- ~BaseDeDonnees()
baseDeDonnees
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.6 Référence de la classe BaseDeDonnees 40
Fonctions membres publiques
– bool connecter (QString nomBase=DATABASENAME)Se connecte à une base de données.
– bool executer (QString requete)Exécute une requête SQL UPDATE, INSERT ou DELETE.
– bool recuperer (QString requete, QVector< QString > &donnees)Exécute une requête SQL SELECT pour récupérer un seul champ de plusieurs enregistrements : le champ des différents enregistrementsest stocké dans un QVector de QString.
– bool recuperer (QString requete, QVector< QStringList > &donnees)Exécute une requête SQL SELECT pour récupérer plusieurs champs de plusieurs enregistrements : les différents champs des différentsenregistrements sont stockés dans un QVector de QStringList.
– bool recuperer (QString requete, QString &donnees)Exécute une requête SQL SELECT pour récupérer un seul champ d’un seul enregistrement : le champ est stocké dans un QString.
– bool recuperer (QString requete, QStringList &donnees)Exécute une requête SQL SELECT pour récupérer plusieurs champs d’un seul enregistrement : les différents champs sont stockés dansun QStringList.
Fonctions membres publiques statiques
– static BaseDeDonnees ∗ getInstance ()Retourne l’unique instance (membre statique)
– static void detruireInstance ()Libère l’instance obtenue.
Fonctions membres privees
– BaseDeDonnees ()Constructeur placé en privé pour interdire la création d’une instance de l’extérieur de la classe.
– ∼BaseDeDonnees ()Destructeur.
Attributs prives
– QSqlDatabase db– QMutex mutex
Attributs prives statiques
– static BaseDeDonnees ∗ baseDeDonnees = NULL– static int nbAcces = 0
10.6.1 Description detaillee
Classe singleton + ressource critique protégée par un mutex
Avertissement
Il faut ajouter QT += sql au fichier .pro
Auteur
Thierry Vaira <[email protected]>
10.6.2 Documentation des constructeurs et destructeur
10.6.2.1 BaseDeDonnees : :BaseDeDonnees ( ) [private]
Références db.
Référencé par getInstance().
{#ifdef DEBUG_BASEDEDONNEES_1qDebug() << "<BaseDeDonnees::BaseDeDonnees()>";#endifdb = QSqlDatabase::addDatabase("QMYSQL");
}
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.6 Référence de la classe BaseDeDonnees 41
10.6.2.2 BaseDeDonnees : :∼BaseDeDonnees ( ) [private]
{#ifdef DEBUG_BASEDEDONNEES_1qDebug() << "<BaseDeDonnees::~BaseDeDonnees()>";#endif
}
10.6.3 Documentation des fonctions membres
10.6.3.1 BaseDeDonnees : :connecter ( QString nomBase = DATABASENAME )
ParametresnomBase QString nom du fichier représentant la base de données (par défaut Tournesol)
Renvoie
bool vrai si la connexion a réussi sinon faux
Références db, HOSTNAME, mutex, PASSWORD, et USERNAME.
Référencé par AcquisitionSuiveur : :AcquisitionSuiveur(), AsservissementSuiveur : :AsservissementSuiveur(), CapteurSolaire : :-CapteurSolaire(), AcquisitionRegulateur : :lireConfiguration(), AcquisitionMeteo : :lireConfiguration(), ProtectionVent : :Protection-Vent(), Regulateur : :Regulateur(), StationMeteo : :StationMeteo(), et SuiveurSolaire : :SuiveurSolaire().
{QMutexLocker verrou(&mutex);if(!db.isOpen()){
db.setHostName(HOSTNAME);db.setUserName(USERNAME);db.setPassword(PASSWORD);db.setDatabaseName(nomBase);
#ifdef DEBUG_BASEDEDONNEES_1qDebug() << "HostName : " << db.hostName();qDebug() << "UserName : " << db.userName();qDebug() << "DatabaseName : " << db.databaseName();#endifif(db.open()){
#ifdef DEBUG_BASEDEDONNEESqDebug() << QString::fromUtf8("<BaseDeDonnees::connecter()>
connexion réussie à %1").arg(db.hostName());#endif
return true;}else{
qDebug() << QString::fromUtf8("<BaseDeDonnees::connecter()> erreur :impossible de se connecter à la base de données !");
//QMessageBox::critical(0, QString::fromUtf8("Aquaberry"),QString::fromUtf8("Impossible de se connecter à la base de données !"));
return false;}
}else
return true;}
10.6.3.2 BaseDeDonnees : :detruireInstance ( ) [static]
Références baseDeDonnees, et nbAcces.
Référencé par AcquisitionRegulateur : :lireConfiguration(), AcquisitionMeteo : :lireConfiguration(), AcquisitionSuiveur : :∼-AcquisitionSuiveur(), AsservissementSuiveur : :∼AsservissementSuiveur(), CapteurSolaire : :∼CapteurSolaire(), ProtectionVent-: :∼ProtectionVent(), StationMeteo : :∼StationMeteo(), et SuiveurSolaire : :∼SuiveurSolaire().
{// instance ?if(baseDeDonnees != NULL){
nbAcces--;#ifdef DEBUG_BASEDEDONNEES_1qDebug() << "<BaseDeDonnees::detruireInstance()> nbAcces restants = " <
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.6 Référence de la classe BaseDeDonnees 42
< nbAcces;#endif// dernier ?if(nbAcces == 0)
delete baseDeDonnees;}
}
10.6.3.3 BaseDeDonnees : :executer ( QString requete )
Parametresrequete QString une requête SQL UPDATE, INSERT ou DELETE
Renvoie
bool vrai si la requête a été exécutée avec succès sinon faux
Références db, et mutex.
Référencé par StationMeteo : :acquerir(), ProtectionVent : :activerProtectionVent(), ProtectionVent : :arreterProtection(), Capteur-Solaire : :CapteurSolaire(), Regulateur : :decoderMenuState(), Regulateur : :decoderMenuState2(), Regulateur : :decoderTrame-Informations(), ProtectionVent : :editerFrequenceProtectionVent(), ProtectionVent : :editerVitesseMaxProtectionVent(), Protection-Vent : :enregisterAlerte(), AcquisitionSuiveur : :enregistrerEtatSuiveur(), SuiveurSolaire : :enregistrerInformationsBdd(), Station-Meteo : :enregistrerMesures(), CapteurSolaire : :∼CapteurSolaire(), ProtectionVent : :∼ProtectionVent(), et StationMeteo : :∼-StationMeteo().
{QMutexLocker verrou(&mutex);QSqlQuery r;bool retour;
if(db.isOpen()){
retour = r.exec(requete);#ifdef DEBUG_BASEDEDONNEESqDebug() << QString::fromUtf8("<BaseDeDonnees::executer()> retour %1pour la requete : %2").arg(QString::number(retour)).arg(requete);#endifif(retour){
return true;}else{
qDebug() << QString::fromUtf8("<BaseDeDonnees::executer()> erreur :%1 pour la requête %2").arg(r.lastError().text()).arg(requete);
return false;}
}else
return false;
}
10.6.3.4 BaseDeDonnees : :getInstance ( ) [static]
Renvoie
BaseDeDonnees
Références BaseDeDonnees(), baseDeDonnees, et nbAcces.
Référencé par AcquisitionSuiveur : :AcquisitionSuiveur(), AsservissementSuiveur : :AsservissementSuiveur(), CapteurSolaire : :-CapteurSolaire(), AcquisitionRegulateur : :lireConfiguration(), AcquisitionMeteo : :lireConfiguration(), ProtectionVent : :Protection-Vent(), Regulateur : :Regulateur(), StationMeteo : :StationMeteo(), et SuiveurSolaire : :SuiveurSolaire().
{if(baseDeDonnees == NULL)
baseDeDonnees = new BaseDeDonnees();
nbAcces++;#ifdef DEBUG_BASEDEDONNEES_1qDebug() << "<BaseDeDonnees::getInstance()> nbAcces = " << nbAcces;#endif
return baseDeDonnees;}
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.6 Référence de la classe BaseDeDonnees 43
10.6.3.5 BaseDeDonnees : :recuperer ( QString requete, QVector< QString > & donnees )
Parametresrequete QString
donnees QVector<QString>
Renvoie
bool vrai si la requête a été exécutée avec succès sinon faux
Références db, et mutex.
Référencé par StationMeteo : :acquerir(), ProtectionVent : :acquerir(), ProtectionVent : :activerProtectionVent(), ProtectionVent-: :arreterProtection(), AcquisitionRegulateur : :lireConfiguration(), AcquisitionMeteo : :lireConfiguration(), AsservissementSuiveur-: :lireEtatSuiveur(), ProtectionVent : :lireModeDeFonctionnement(), et AcquisitionSuiveur : :lirePeriode().
{QMutexLocker verrou(&mutex);QSqlQuery r;bool retour;QString data;
if(db.isOpen()){
retour = r.exec(requete);#ifdef DEBUG_BASEDEDONNEESqDebug() << QString::fromUtf8("<BaseDeDonnees::recuperer(QString,QVector<QString>)> retour %1 pour la requete : %2").arg(QString::number(retour)).arg(requete);#endifif(retour){
// pour chaque enregistrementwhile ( r.next() ){
// on récupère sous forme de QString la valeur du champssélectionné
data = r.value(0).toString();
#ifdef DEBUG_BASEDEDONNEES//qDebug() << "<BaseDeDonnees::recuperer(QString,
QVector<QString>)> enregistrement -> " << data;#endif
// on stocke l’enregistrement dans le QVectordonnees.push_back(data);
}#ifdef DEBUG_BASEDEDONNEESqDebug() << "<BaseDeDonnees::recuperer(QString, QVector<QString>)>
enregistrement -> " << donnees;#endifreturn true;
}else{
qDebug() << QString::fromUtf8("<BaseDeDonnees::recuperer(QString,QVector<QString>)> erreur : %1 pour la requête %2").arg(r.lastError().text()).arg(requete);
return false;}
}else
return false;}
10.6.3.6 BaseDeDonnees : :recuperer ( QString requete, QVector< QStringList > & donnees )
Parametresrequete QString
donnees QVector<QStringList>
Renvoie
bool vrai si la requête a été exécutée avec succès sinon faux
Références db, et mutex.
{
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.6 Référence de la classe BaseDeDonnees 44
QMutexLocker verrou(&mutex);QSqlQuery r;bool retour;QStringList data;
if(db.isOpen()){
retour = r.exec(requete);#ifdef DEBUG_BASEDEDONNEESqDebug() << QString::fromUtf8("<BaseDeDonnees::recuperer(QString,QVector<QStringList>)> retour %1 pour la requete : %2").arg(QString::number(retour)).arg(requete);#endifif(retour){
// pour chaque enregistrementwhile ( r.next() ){
// on récupère sous forme de QString la valeur de tous leschamps sélectionnés
// et on les stocke dans une liste de QStringfor(int i=0;i<r.record().count();i++)
data << r.value(i).toString();
#ifdef DEBUG_BASEDEDONNEES//qDebug() << "<BaseDeDonnees::recuperer(QString,
QVector<QStringList>)> enregistrement -> " << data;/*for(int i=0;i<r.record().count();i++)
qDebug() << r.value(i).toString();*/#endif
// on stocke l’enregistrement dans le QVectordonnees.push_back(data);
// on efface la liste de QString pour le prochainenregistrement
data.clear();}#ifdef DEBUG_BASEDEDONNEESqDebug() << "<BaseDeDonnees::recuperer(QString,
QVector<QStringList>)> enregistrement -> " << donnees;#endifreturn true;
}else{
qDebug() << QString::fromUtf8("<BaseDeDonnees::recuperer(QString,QVector<QStringList>)> erreur : %1 pour la requête %2").arg(r.lastError().text()).arg(requete);
return false;}
}else
return false;}
10.6.3.7 BaseDeDonnees : :recuperer ( QString requete, QString & donnees )
Parametresrequete QString
donnees QString
Renvoie
bool vrai si la requête a été exécutée avec succès sinon faux
Références db, et mutex.
{QMutexLocker verrou(&mutex);QSqlQuery r;bool retour;
if(db.isOpen()){
retour = r.exec(requete);#ifdef DEBUG_BASEDEDONNEESqDebug() << QString::fromUtf8("<BaseDeDonnees::recuperer(QString,QString)> retour %1 pour la requete : %2").arg(QString::number(retour)).arg(requete);#endifif(retour){
// on se positionne sur l’enregistrement
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.6 Référence de la classe BaseDeDonnees 45
r.first();
// on vérifie l’état de l’enregistrement retournéif(!r.isValid()){
#ifdef DEBUG_BASEDEDONNEESqDebug() << QString::fromUtf8("
<BaseDeDonnees::recuperer(QString, QString)> résultat non valide !");#endifreturn false;
}
// on récupère sous forme de QString la valeur du champif(r.isNull(0)){
#ifdef DEBUG_BASEDEDONNEESqDebug() << QString::fromUtf8("
<BaseDeDonnees::recuperer(QString, QString)> résultat vide !");#endifreturn false;
}donnees = r.value(0).toString();#ifdef DEBUG_BASEDEDONNEESqDebug() << "<BaseDeDonnees::recuperer(QString, QString)>
enregistrement -> " << donnees;#endifreturn true;
}else{
qDebug() << QString::fromUtf8("<BaseDeDonnees::recuperer(QString,QString)> erreur : %1 pour la requête %2").arg(r.lastError().text()).arg(requete);
return false;}
}else
return false;}
10.6.3.8 BaseDeDonnees : :recuperer ( QString requete, QStringList & donnees )
Parametresrequete QString
donnees QStringList
Renvoie
bool vrai si la requête a été exécutée avec succès sinon faux
Références db, et mutex.
{QMutexLocker verrou(&mutex);QSqlQuery r;bool retour;
if(db.isOpen()){
retour = r.exec(requete);#ifdef DEBUG_BASEDEDONNEESqDebug() << QString::fromUtf8("<BaseDeDonnees::recuperer(QString,QStringList)> retour %1 pour la requete : %2").arg(QString::number(retour)).arg(requete);#endifif(retour){
// on se positionne sur l’enregistrementr.first();
// on vérifie l’état de l’enregistrement retournéif(!r.isValid()){
#ifdef DEBUG_BASEDEDONNEESqDebug() << QString::fromUtf8("
<BaseDeDonnees::recuperer(QString, QStringList)> résultat non valide !");#endifreturn false;
}
// on récupère sous forme de QString la valeur de tous les champssélectionnés
// et on les stocke dans une liste de QString
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.7 Référence de la classe BusI2C 46
for(int i=0;i<r.record().count();i++)if(!r.isNull(i))
donnees << r.value(i).toString();#ifdef DEBUG_BASEDEDONNEESqDebug() << "<BaseDeDonnees::recuperer(QString, QStringList)>
enregistrement -> " << donnees;#endifreturn true;
}else{
qDebug() << QString::fromUtf8("<BaseDeDonnees::recuperer(QString,QStringList)> erreur : %1 pour la requête %2").arg(r.lastError().text()).arg(
requete);return false;
}}else
return false;}
10.6.4 Documentation des donnees membres
10.6.4.1 BaseDeDonnees ∗ BaseDeDonnees : :baseDeDonnees = NULL [static, private]
pointeur sur l’instance de la classe (membre statique)
Référencé par detruireInstance(), et getInstance().
10.6.4.2 QSqlDatabase BaseDeDonnees : :db [private]
un objet QSqlDatabase
Référencé par BaseDeDonnees(), connecter(), executer(), et recuperer().
10.6.4.3 QMutex BaseDeDonnees : :mutex [private]
un mutex pour protéger des accès concurrents à la base de données
Référencé par connecter(), executer(), et recuperer().
10.6.4.4 int BaseDeDonnees : :nbAcces = 0 [static, private]
nombre d’objets en cours d’utilisation de l’instance de la classe
Référencé par detruireInstance(), et getInstance().
La documentation de cette classe a été générée à partir des fichiers suivants :– basededonnees.h– basededonnees.cpp
10.7 Reference de la classe BusI2C
Gestion du bus I2C pour les circuits LTC2309 et BH1750.
#include <busi2c.h>
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.7 Référence de la classe BusI2C 47
Graphe de collaboration de BusI2C :
BusI2C
- mutex- i2c_bus- i2c_fd- current_slave- txBuff- busI2C
+ is_open()+ write()+ write()+ write()+ read()+ delay_ms()+ get_ms()+ createInstance()+ releaseInstance()+ analogRawRead()+ luxRawRead()- BusI2C()- ~BusI2C()- select_slave()
busI2C
Fonctions membres publiques
– bool is_open ()– int write (unsigned char slave_addr, unsigned char reg_addr)– int write (unsigned char slave_addr, unsigned char const ∗data, int length)– int write (unsigned char slave_addr, unsigned char reg_addr, unsigned char const ∗data, int length)– int read (unsigned char slave_addr, unsigned char ∗data, int length)– int delay_ms (unsigned long num_ms)– int get_ms (unsigned long ∗count)
Fonctions membres publiques statiques
– static BusI2C ∗ createInstance (int i2c_bus=1)– static void releaseInstance ()– static int analogRawRead (int pin)
Acquérir la valeur numérique d’une entrée analogique du LTC2309.– static int luxRawRead (int mode)
Acquérir la valeur numérique de la luminosité du capteur BH1750.
Fonctions membres privees
– BusI2C (int i2c_bus)– ∼BusI2C ()– int select_slave (unsigned char slave_addr)
Attributs prives
– QMutex mutex
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.7 Référence de la classe BusI2C 48
– int i2c_bus– int i2c_fd– int current_slave– unsigned char txBuff [MAX_WRITE_LEN+1]
Attributs prives statiques
– static BusI2C ∗ busI2C = NULL
10.7.1 Description detaillee
Classe singleton + ressource critique protégée par un mutex
Auteur
Thierry VAIRA <[email protected]>
Version
0.9
Date
Lundi 9 mai 2016
10.7.2 Documentation des constructeurs et destructeur
10.7.2.1 BusI2C : :BusI2C ( int i2c bus ) [private]
Références i2c_fd.
Référencé par createInstance().
:i2c_bus(i2c_bus),i2c_fd(-1),current_slave(0){
char name[16];
if (i2c_fd == -1){
sprintf(name, "/dev/i2c-%d", i2c_bus);
i2c_fd = ::open(name, O_RDWR);
if (i2c_fd < 0){
#ifdef I2C_DEBUGperror("open(i2c_bus)");
#endifi2c_fd = -1;
}}
}
10.7.2.2 BusI2C : :∼BusI2C ( ) [private]
Références i2c_fd.
{if (i2c_fd > 0){
::close(i2c_fd);}
}
10.7.3 Documentation des fonctions membres
10.7.3.1 int BusI2C : :analogRawRead ( int pin ) [static]
Méthode statique permettant de lire le LTC2309 (CAN 12 bits)
Parametres
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.7 Référence de la classe BusI2C 49
pin Numéro du canal
Renvoie
Un int représentant la valeur brute de la tension du canal
Références busI2C, createInstance(), delay_ms(), is_open(), LTC2309_I2C_ADDRESS, read(), et write().
Référencé par CapteurSolaire : :lireTension().
{BusI2C *busI2C = BusI2C::createInstance();unsigned char val[2];int value = -1;int address = 0;int ret;
if(!busI2C->is_open())return value;
if (pin == 0) {address = 0xDC;
} else if (pin == 1) {address = 0x9C;
} else if (pin == 2) {address = 0xCC ;
} else if (pin == 3) {address = 0x8C;
} else if (pin == 4) {address = 0xAC;
} else if (pin == 5) {address = 0xEC;
} else if (pin == 6) {address = 0xBC;
} else if (pin == 7) {address = 0xFC;
}
ret = busI2C->write(LTC2309_I2C_ADDRESS, address);if(ret != -1){
busI2C->delay_ms(200);busI2C->read(LTC2309_I2C_ADDRESS, val, 2);value = (int(val[0])*16 + int(val[1]>>4)) & 0x0FFF;#ifdef I2C_DEBUGprintf("I2C 0x%02X -> 0x%02X 0x%02X\n", LTC2309_I2C_ADDRESS, val[0],
val[1]);#endif
}
return value;}
10.7.3.2 BusI2C ∗ BusI2C : :createInstance ( int i2c bus = 1 ) [static]
Références BusI2C(), et busI2C.
Référencé par analogRawRead(), et luxRawRead().
{// nouvelle instance ?if(busI2C == NULL)
busI2C = new BusI2C(i2c_bus);
return busI2C;}
10.7.3.3 int BusI2C : :delay_ms ( unsigned long num ms )
Référencé par analogRawRead(), luxRawRead(), et read().
{struct timespec ts;
ts.tv_sec = num_ms / 1000;ts.tv_nsec = (num_ms % 1000) * 1000000;
return nanosleep(&ts, NULL);}
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.7 Référence de la classe BusI2C 50
10.7.3.4 int BusI2C : :get_ms ( unsigned long ∗ count )
10.7.3.5 bool BusI2C : :is_open ( )
Références i2c_fd.
Référencé par analogRawRead(), et luxRawRead().
{if (i2c_fd == -1)
return false;return true;
}
10.7.3.6 int BusI2C : :luxRawRead ( int mode ) [static]
Méthode statique permettant de lire le BH1750
Parametresmode le type de résolution
Renvoie
Un int représentant la valeur brute de la luminosité
Références BH1750_I2C_ADDRESS, busI2C, createInstance(), delay_ms(), is_open(), read(), et write().
Référencé par CapteurLuminosite : :lire().
{BusI2C *busI2C = BusI2C::createInstance();unsigned char datas[2];short int level = -1;int ret;
if(!busI2C->is_open())return level;
ret = busI2C->write(BH1750_I2C_ADDRESS, mode);if(ret != -1){
busI2C->delay_ms(180);busI2C->read(BH1750_I2C_ADDRESS, datas, 2);level = (datas[0] << 8) & 0xFF00;level |= datas[1];#ifdef I2C_DEBUGprintf("I2C 0x%02X -> 0x%02X 0x%02X\n", BH1750_I2C_ADDRESS, datas[0],
datas[1]);#endif
}
return (level & 0x0000FFFF);}
10.7.3.7 int BusI2C : :read ( unsigned char slave addr, unsigned char ∗ data, int length )
Références delay_ms(), i2c_fd, mutex, et select_slave().
Référencé par analogRawRead(), et luxRawRead().
{QMutexLocker verrou(&mutex);int tries, result, total;
if (select_slave(slave_addr))return -1;
total = 0;tries = 0;
while (total < length && tries < 5){
result = ::read(i2c_fd, data + total, length - total);if (result < 0)
{#ifdef I2C_DEBUG
perror("read");#endif
break;
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.7 Référence de la classe BusI2C 51
}
total += result;
if (total == length){
break;}
tries++;delay_ms(10);
//usleep(10*1000);}
if (total < length)return -1;
return total;}
10.7.3.8 void BusI2C : :releaseInstance ( ) [static]
Références busI2C.
{// instance ?if(busI2C != NULL){
delete busI2C;}
}
10.7.3.9 int BusI2C : :select_slave ( unsigned char slave addr ) [private]
Références current_slave, et i2c_fd.
Référencé par read(), et write().
{int ret;
if (current_slave == slave_addr)return 0;
if (i2c_fd == -1)return -1;
ret = ::ioctl(i2c_fd, I2C_SLAVE, slave_addr);if (ret < 0)
{#ifdef I2C_DEBUG
perror("ioctl(I2C_SLAVE)");#endif
return -1;}
current_slave = slave_addr;
return 0;}
10.7.3.10 int BusI2C : :write ( unsigned char slave addr, unsigned char reg addr )
Références i2c_fd, mutex, et select_slave().
Référencé par analogRawRead(), luxRawRead(), et write().
{QMutexLocker verrou(&mutex);
int result;
if (select_slave(slave_addr) == -1)return -1;
result = ::write(i2c_fd, ®_addr, 1);
if (result < 0){
#ifdef I2C_DEBUGperror("write");#endifreturn result;
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.7 Référence de la classe BusI2C 52
}else if (result != 1){
#ifdef I2C_DEBUGprintf("error write %d !\n", result);#endifreturn -1;
}
return result;}
10.7.3.11 int BusI2C : :write ( unsigned char slave addr, unsigned char const ∗ data, int length )
Références i2c_fd, MAX_WRITE_LEN, mutex, select_slave(), txBuff, et write().
{QMutexLocker verrou(&mutex);
int result, i;
if (length > MAX_WRITE_LEN){
return -1;}
if (select_slave(slave_addr) == -1)return -1;
for (i = 0; i < length; i++)txBuff[i] = data[i];
result = ::write(i2c_fd, txBuff, length);
if (result < 0){
#ifdef I2C_DEBUGperror("write");#endifreturn result;
}else if (result < (int)length){
#ifdef I2C_DEBUGprintf("error write %d (%u) !\n", result, length);#endifreturn -1;
}
return result;}
10.7.3.12 int BusI2C : :write ( unsigned char slave addr, unsigned char reg addr, unsigned char const ∗ data, int length )
Références i2c_fd, MAX_WRITE_LEN, mutex, select_slave(), txBuff, et write().
{QMutexLocker verrou(&mutex);
int result, i;
if (length > MAX_WRITE_LEN){
return -1;}
if (select_slave(slave_addr) == -1)return -1;
txBuff[0] = reg_addr;
for (i = 0; i < length; i++)txBuff[i+1] = data[i];
result = ::write(i2c_fd, txBuff, length+1);
if (result < 0){
#ifdef I2C_DEBUGperror("write");#endifreturn result;
}else if (result < (int)length){
#ifdef I2C_DEBUGprintf("error write %d (%u) !\n", result, length);
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.8 Référence de la classe CapteurLuminosite 53
#endifreturn -1;
}
return result;}
10.7.4 Documentation des donnees membres
10.7.4.1 BusI2C ∗ BusI2C : :busI2C = NULL [static, private]
Référencé par analogRawRead(), createInstance(), luxRawRead(), et releaseInstance().
10.7.4.2 int BusI2C : :current_slave [private]
Référencé par select_slave().
10.7.4.3 int BusI2C : :i2c_bus [private]
10.7.4.4 int BusI2C : :i2c_fd [private]
Référencé par BusI2C(), is_open(), read(), select_slave(), write(), et ∼BusI2C().
10.7.4.5 QMutex BusI2C : :mutex [private]
Référencé par read(), et write().
10.7.4.6 unsigned char BusI2C : :txBuff[MAX_WRITE_LEN+1] [private]
Référencé par write().
La documentation de cette classe a été générée à partir des fichiers suivants :– busi2c.h– busi2c.cpp
10.8 Reference de la classe CapteurLuminosite
Classe de gestion du capteur de luminosité
#include <capteurLuminosite.h>
Fonctions membres publiques
– CapteurLuminosite ()Constructeur par défaut.
– ∼CapteurLuminosite ()Destructeur.
– double lire ()Retourne la valeur en lux de type double du capteur de luminosité BH1750.
Attributs prives
– double luminosite
10.8.1 Description detaillee
Auteur
Nicolas Detilleux <[email protected]>
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.8 Référence de la classe CapteurLuminosite 54
10.8.2 Documentation des constructeurs et destructeur
10.8.2.1 CapteurLuminosite : :CapteurLuminosite ( )
:luminosite(0.){#ifdef DEBUG_STATIONMETEO
qDebug() << Q_FUNC_INFO << QThread::currentThreadId() << this;#endif#ifndef R_PIsrand(time(NULL));#endif}
10.8.2.2 CapteurLuminosite : :∼CapteurLuminosite ( )
{#ifdef DEBUG_STATIONMETEO
qDebug() << Q_FUNC_INFO << QThread::currentThreadId() << this;#endif}
10.8.3 Documentation des fonctions membres
10.8.3.1 CapteurLuminosite : :lire ( )
Renvoie
double
Références luminosite, BusI2C : :luxRawRead(), MAX, MIN, et One_Time_H_Resolution_Mode.
Référencé par StationMeteo : :lireLuminosite().
{int data;
#ifdef R_PIdata = (unsigned int)BusI2C::luxRawRead(One_Time_H_Resolution_Mode);//data = (unsigned int)BusI2C::luxRawRead(BH1750_ONE_TIME_LOW_RES_MODE);
#elsedata = (int)(MIN + ((MAX * rand()) / (RAND_MAX + 1.0) )); //Cf. man pages//data = 0;
#ifdef DEBUG_STATIONMETEOqDebug() << Q_FUNC_INFO << "data brute" << rand();
#endif#endif
if(data != -1){
luminosite = (double)data / 1.2;}else luminosite = 0.;
#ifdef DEBUG_STATIONMETEOqDebug() << Q_FUNC_INFO << luminosite << "lux";
#endif
return luminosite;}
10.8.4 Documentation des donnees membres
10.8.4.1 double CapteurLuminosite : :luminosite [private]
la valeur en lux de la luminosité
Référencé par lire().
La documentation de cette classe a été générée à partir des fichiers suivants :– capteurLuminosite.h– capteurLuminosite.cpp
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.9 Référence de la classe CapteurSolaire 55
10.9 Reference de la classe CapteurSolaire
Classe qui assure la détection de la position du soleil.
#include <capteurSolaire.h>
Graphe de collaboration de CapteurSolaire :
CapteurSolaire
- etatLDR1- etatLDR2- etatLDR3- etatLDR4- bdd
+ CapteurSolaire()+ ~CapteurSolaire()+ acquerir()+ getEtatLDR1()+ getEtatLDR2()+ getEtatLDR3()+ getEtatLDR4()- trier()- mediane()- reinitialiser()- lireTension()- detecter()
BaseDeDonnees
- db- mutex- baseDeDonnees- nbAcces
+ connecter()+ executer()+ recuperer()+ recuperer()+ recuperer()+ recuperer()+ getInstance()+ detruireInstance()- BaseDeDonnees()- ~BaseDeDonnees()
bdd
baseDeDonnees
Signaux
– void afficherEtatSuiveur (bool etat)
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.9 Référence de la classe CapteurSolaire 56
Fonctions membres publiques
– CapteurSolaire ()– ∼CapteurSolaire ()– void acquerir ()– int getEtatLDR1 ()– int getEtatLDR2 ()– int getEtatLDR3 ()– int getEtatLDR4 ()
Fonctions membres privees
– void trier (double t[ ])– double mediane (double t[ ])– void reinitialiser ()– double lireTension (int canal)– void detecter (double tensionIN1, double tensionIN2)
Attributs prives
– int etatLDR1– int etatLDR2– int etatLDR3– int etatLDR4– BaseDeDonnees ∗ bdd
10.9.1 Description detaillee
Auteur
Grégory Moll <[email protected]>
10.9.2 Documentation des constructeurs et destructeur
10.9.2.1 CapteurSolaire : :CapteurSolaire ( )
Références afficherEtatSuiveur(), bdd, BaseDeDonnees : :connecter(), etatLDR1, etatLDR2, etatLDR3, etatLDR4, ETEINTE, -BaseDeDonnees : :executer(), et BaseDeDonnees : :getInstance().
{etatLDR1 = ETEINTE;etatLDR2 = ETEINTE;etatLDR3 = ETEINTE;etatLDR4 = ETEINTE;
#ifndef R_PIsrand(time(NULL));#endif
bdd = BaseDeDonnees::getInstance();bdd->connecter();
QString requete = "UPDATE ‘Modules‘ SET ‘etat‘= ’1’ WHERE ‘nomModule‘ =’suiveur’";
bdd->executer(requete);
emit afficherEtatSuiveur(true);}
10.9.2.2 CapteurSolaire : :∼CapteurSolaire ( )
Références afficherEtatSuiveur(), bdd, BaseDeDonnees : :detruireInstance(), et BaseDeDonnees : :executer().
{QString requete = "UPDATE ‘Modules‘ SET ‘etat‘= ’0’ WHERE ‘nomModule‘ =
’suiveur’";bdd->executer(requete);
BaseDeDonnees::detruireInstance();
emit afficherEtatSuiveur(false);}
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.9 Référence de la classe CapteurSolaire 57
10.9.3 Documentation des fonctions membres
10.9.3.1 CapteurSolaire : :acquerir ( )
Références CANAL_A0_IN2, CANAL_A1_IN1, detecter(), lireTension(), mediane(), NB_MESURES, et trier().
Référencé par AsservissementSuiveur : :main().
{double tensionsIN1[NB_MESURES];double tensionsIN2[NB_MESURES];double _tensionIN1;double _tensionIN2;
for(int i = 0; i < NB_MESURES; i++){
tensionsIN1[i] = lireTension(CANAL_A1_IN1);tensionsIN2[i] = lireTension(CANAL_A0_IN2);
}
trier(tensionsIN1);trier(tensionsIN2);
_tensionIN1 = mediane(tensionsIN1);_tensionIN2 = mediane(tensionsIN2);
detecter(_tensionIN1, _tensionIN2);}
10.9.3.2 CapteurSolaire : :afficherEtatSuiveur ( bool etat ) [signal]
Référencé par CapteurSolaire(), et ∼CapteurSolaire().
10.9.3.3 CapteurSolaire : :detecter ( double tensionIN1, double tensionIN2 ) [private]
ParametrestensionIN1tensionIN2
Références DELTA, ECLAIREE, etatLDR1, etatLDR2, etatLDR3, etatLDR4, reinitialiser(), SEUIL_DETECTION, et TOUTE.
Référencé par acquerir().
{double tensionIN = (tensionIN1 - tensionIN2);
reinitialiser();
#ifdef DEBUG_CAPTEURSOLAIREqDebug("void CapteurSolaire::detecter() Tension IN2 = %2.2f V", tensionIN2);
qDebug("void CapteurSolaire::detecter() Tension IN1 = %2.2f V", tensionIN1);
qDebug("void CapteurSolaire::detecter() Tension IN = %2.2f V", tensionIN);#endif // DEBUG_CAPTEURSOLAIRE
if((tensionIN > (0. + DELTA)) || (tensionIN < (0. - DELTA))){
if(tensionIN2 > (SEUIL_DETECTION - DELTA)){
etatLDR2 = ECLAIREE;}if(tensionIN1 < (SEUIL_DETECTION + DELTA)){
etatLDR3 = ECLAIREE;}if(tensionIN1 > (SEUIL_DETECTION - DELTA)){
etatLDR1 = ECLAIREE;}if(tensionIN2 < (SEUIL_DETECTION + DELTA)){
etatLDR4 = ECLAIREE;}
}else{
if(tensionIN2 > (SEUIL_DETECTION - DELTA) && tensionIN1 > (SEUIL_DETECTION - DELTA)){
etatLDR1 = ECLAIREE;
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.9 Référence de la classe CapteurSolaire 58
etatLDR2 = ECLAIREE;}else if(tensionIN2 < (SEUIL_DETECTION + DELTA) && tensionIN1 < (
SEUIL_DETECTION + DELTA)){
etatLDR3 = ECLAIREE;etatLDR4 = ECLAIREE;
}else{
// Tout éclairé ou tout non éclairé -> toutes les LDRs ont le mêmeétat
etatLDR1 = TOUTE;etatLDR2 = TOUTE;etatLDR3 = TOUTE;etatLDR4 = TOUTE;
}}
#ifdef DEBUG_CAPTEURSOLAIREqDebug() << Q_FUNC_INFO << etatLDR1 << etatLDR2 << etatLDR3 << etatLDR4;
#endif // DEBUG_CAPTEURSOLAIRE}
10.9.3.4 CapteurSolaire : :getEtatLDR1 ( )
Renvoie
int
Références etatLDR1.
Référencé par AsservissementSuiveur : :suivreSoleil().
{return etatLDR1;
}
10.9.3.5 CapteurSolaire : :getEtatLDR2 ( )
Renvoie
int
Références etatLDR2.
Référencé par AsservissementSuiveur : :suivreSoleil().
{return etatLDR2;
}
10.9.3.6 CapteurSolaire : :getEtatLDR3 ( )
Renvoie
int
Références etatLDR3.
Référencé par AsservissementSuiveur : :suivreSoleil().
{return etatLDR3;
}
10.9.3.7 CapteurSolaire : :getEtatLDR4 ( )
Renvoie
int
Références etatLDR4.
Référencé par AsservissementSuiveur : :suivreSoleil().
{return etatLDR4;
}
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.9 Référence de la classe CapteurSolaire 59
10.9.3.8 CapteurSolaire : :lireTension ( int canal ) [private]
Parametrescanal
Renvoie
double
Références BusI2C : :analogRawRead(), MAX, MIN, et TENSION_ALIM.
Référencé par acquerir().
{float tension = 0.;
if(canal >= 0 && canal < 8){
#ifdef R_PI//const float VDD = 5.0; //5 Voltsconst float VDD = TENSION_ALIM; //5 Voltsconst int NB_PAS_12B = 4096; //convertisseur 12 bitsint data = 0; //donnée numérique en sortie du CAN
data = BusI2C::analogRawRead(canal); // CAN sur 12 bitsif(data != -1){
tension = (float)( (float)(data & 0x0FFF) * (float)(VDD/(float)NB_PAS_12B) );
}#elsetension = MIN + (float)((float)MAX * rand() / (RAND_MAX + 1.0) ); //Cf.man pages#endif // R_PI
}else{
qDebug() << Q_FUNC_INFO << "Erreur canal !";}
return tension;}
10.9.3.9 CapteurSolaire : :mediane ( double t[ ] ) [private]
Parametrest[ ]
Renvoie
double
Références NB_MESURES.
Référencé par acquerir().
{// impair ?if(NB_MESURES%2 == 1){
return t[NB_MESURES/2];}else{
return (t[NB_MESURES/2] + t[(NB_MESURES/2)-1]) / 2.0;}
}
10.9.3.10 CapteurSolaire : :reinitialiser ( ) [private]
Références etatLDR1, etatLDR2, etatLDR3, etatLDR4, et ETEINTE.
Référencé par detecter().
{etatLDR1 = ETEINTE;etatLDR2 = ETEINTE;
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.9 Référence de la classe CapteurSolaire 60
etatLDR3 = ETEINTE;etatLDR4 = ETEINTE;
}
10.9.3.11 CapteurSolaire : :trier ( double t[ ] ) [private]
Parametrest[ ]
Références NB_MESURES.
Référencé par acquerir().
{int i, j;double elementInsere;
/*for (i = 0; i < NB_MESURES; i++){
qDebug() << t[i];}qDebug() << "";*/
for (i = 1; i < NB_MESURES; i++){
/* Stockage de la valeur en i */elementInsere = t[i];/* Décale les éléments situés avant t[i] vers la droite
jusqu’à trouver la position d’insertion */for (j = i; j > 0 && t[j - 1] > elementInsere; j--){
t[j] = t[j - 1];}/* Insertion de la valeur stockée à la place vacante */t[j] = elementInsere;
}}
10.9.4 Documentation des donnees membres
10.9.4.1 BaseDeDonnees∗ CapteurSolaire : :bdd [private]
Référencé par CapteurSolaire(), et ∼CapteurSolaire().
10.9.4.2 int CapteurSolaire : :etatLDR1 [private]
TODO
Référencé par CapteurSolaire(), detecter(), getEtatLDR1(), et reinitialiser().
10.9.4.3 int CapteurSolaire : :etatLDR2 [private]
TODO
Référencé par CapteurSolaire(), detecter(), getEtatLDR2(), et reinitialiser().
10.9.4.4 int CapteurSolaire : :etatLDR3 [private]
TODO
Référencé par CapteurSolaire(), detecter(), getEtatLDR3(), et reinitialiser().
10.9.4.5 int CapteurSolaire : :etatLDR4 [private]
TODO
Référencé par CapteurSolaire(), detecter(), getEtatLDR4(), et reinitialiser().
La documentation de cette classe a été générée à partir des fichiers suivants :– capteurSolaire.h– capteurSolaire.cpp
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.10 Référence de la structure configurationProtectionVent 61
10.10 Reference de la structure configurationProtectionVent
Regroupe les différentes informations relatives la protection contre le vent.
#include <protectionVent.h>
La documentation de cette structure a été générée à partir du fichier suivant :– protectionVent.h
10.11 Reference de la structure ConfigurationProtectionVent
#include <protectionVent.h>
Attributs publics
– int etat– int vitesseMax– int periode
10.11.1 Documentation des donnees membres
10.11.1.1 int ConfigurationProtectionVent : :etat
TODO
10.11.1.2 int ConfigurationProtectionVent : :periode
TODO
10.11.1.3 int ConfigurationProtectionVent : :vitesseMax
TODO
La documentation de cette structure a été générée à partir du fichier suivant :– protectionVent.h
10.12 Reference de la classe CV7
Gestion de la récupération des phrases, découpe et stockage à partir de la station météo.
#include <CV7.h>
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.12 Référence de la classe CV7 62
Graphe de collaboration de CV7 :
CV7
- port- phrases
+ CV7()+ ~CV7()+ recupererPhrase()+ recevoirPhrases()+ decouperTrames()+ setMap()
Port
- port
+ Port()+ Port()+ ~Port()+ ouvrir()+ transmettre()+ recevoir()+ recevoir()+ lire()+ getNbOctetsDisponibles()+ estOuvert()- onReadyRead()
port
Fonctions membres publiques
– CV7 ()Constructeur par défaut.
– ∼CV7 ()Destructeur.
– QString recupererPhrase (QString type)Prends en paramètre le type d’une trame et retourne la trame correspondant au type en la cherchant dans la map.
– bool recevoirPhrases ()Reçoit les données depuis le port, fait une première découpe sous forme de trames stockées dans un QVector et envoi le QVector à laméthode decouperTrames.
– bool decouperTrames (QVector< QString > trames)Reçoit un QVector de trames, découpe le type et soit les envoie à la méthode setMap soit passe.
– void setMap (QString type, QString phrase)Reçoit en paramètre un type et une phrase, et stock dans la map la phrase avec comme clef le type.
Attributs prives
– Port ∗ port– QMap< QString, QString > phrases
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.12 Référence de la classe CV7 63
10.12.1 Description detaillee
Auteur
Nicolas Detilleux <[email protected]>
10.12.2 Documentation des constructeurs et destructeur
10.12.2.1 CV7 : :CV7 ( )
Références Port : :estOuvert(), port, et PORT_CV7.
{#ifdef DEBUG_STATIONMETEO
qDebug() << Q_FUNC_INFO << QThread::currentThreadId() << this;#endif
port = new Port(QString(PORT_CV7), 4800);#ifdef DEBUG_STATIONMETEO
qDebug() << Q_FUNC_INFO << "ouverture port cv7 :" << port->estOuvert();#endif}
10.12.2.2 CV7 : :∼CV7 ( )
Références port.
{delete port;
#ifdef DEBUG_STATIONMETEOqDebug() << Q_FUNC_INFO << QThread::currentThreadId() << this;
#endif}
10.12.3 Documentation des fonctions membres
10.12.3.1 CV7 : :decouperTrames ( QVector< QString > trames )
Parametrestrames
Renvoie
bool
Références setMap().
Référencé par recevoirPhrases().
{QString phrase;QString type;int i, j;bool etat = false;
for (i = 0 ; i < trames.size() ; i++){
phrase = trames[i];//type = trames[i].mid(3,3);for (j = 3 ; j < 6 ; j++){
type += phrase.at(j);}
#ifdef DEBUG_STATIONMETEOqDebug() << Q_FUNC_INFO << __LINE__ << type;
#endifif ((type == "MWV") || (type == "XDR")){
// on peut retirer le "\r\n"phrase.remove(phrase.size()-2, 2);setMap(type, phrase);etat = true; // une trame au moins a été ajoutée
}type = "";
}return etat;
}
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.12 Référence de la classe CV7 64
10.12.3.2 CV7 : :recevoirPhrases ( )
Renvoie
bool
Références decouperTrames(), port, et Port : :recevoir().
Référencé par StationMeteo : :acquerir().
{QString phrase;unsigned int taillePhrase = 0;QVector<QString> trames;QString trame;int n = 0;bool etat = false; // true si au moins une phrase a été reçue
n = port->recevoir(phrase);#ifdef DEBUG_STATIONMETEO
qDebug() << Q_FUNC_INFO << __LINE__ << phrase << n;#endif
if(n > 0){
taillePhrase = phrase.size();unsigned int i = 0;bool debutTrame = false, finTrame = false;
for (i = 0 ; i < taillePhrase ; i++){
if(phrase.at(i) == ’$’){
debutTrame = true;}if(debutTrame){
trame += phrase.at(i);
if(phrase.at(i) == ’\n’){
finTrame = true;}
}if(finTrame){
#ifdef DEBUG_STATIONMETEOqDebug() << Q_FUNC_INFO << __LINE__ << trame << i;
#endiftrames.push_back(trame);trame = "";debutTrame = false;finTrame = false;
}}etat = decouperTrames(trames);
}return etat;
}
10.12.3.3 CV7 : :recupererPhrase ( QString type )
Parametrestype QString type d’une trame (MVW ou XDR)
Renvoie
QString la dernière trame trouvée dans la map pour le type demandé
Références phrases.
Référencé par StationMeteo : :lireTemperature(), StationMeteo : :lireVent(), et StationMeteo : :lireVitesse().
{return phrases[type];//accès type dans map
}
10.12.3.4 CV7 : :setMap ( QString type, QString phrase )
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.13 Référence de la classe Horloge 65
Parametrestype
phrase
Références phrases.
Référencé par decouperTrames().
{phrases[type] = phrase;
#ifdef DEBUG_STATIONMETEOqDebug() << Q_FUNC_INFO << __LINE__ << phrases;
#endif}
10.12.4 Documentation des donnees membres
10.12.4.1 QMap<QString,QString> CV7 : :phrases [private]
la map qui contient les dernières phrases NMEA 0183 reçues
Référencé par recupererPhrase(), et setMap().
10.12.4.2 Port∗ CV7 : :port [private]
la relation vers la classe Port
Référencé par CV7(), recevoirPhrases(), et ∼CV7().
La documentation de cette classe a été générée à partir des fichiers suivants :– CV7.h– CV7.cpp
10.13 Reference de la classe Horloge
#include <horloge.h>
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.13 Référence de la classe Horloge 66
Graphe de collaboration de Horloge :
Horloge
- mutex- _tic- _top- simulation- programmation- baseDeTemps- debutSimulation- instance- nbAcces
+ simuler()+ estEnSimulation()+ getBaseDeTemps()+ demarrer()+ arreter()+ programmer()+ getDateEtHeureActuelle()+ getDateActuelle()+ getHeureActuelle()+ getDateEtHeureActuelle()and 5 more...+ getInstance()+ detruireInstance()+ getDateEtHeure()+ getDate()+ getHeure()+ getNbMsec()+ getNbJours()+ getNbJours()+ getNbMinutes()+ getNbMinutes()- Horloge()- ~Horloge()- generer()- tic()- top()
instance
Signaux
– void fini (QString)– void fini (QDateTime)– void tic (QString)– void tic (QDateTime)
Fonctions membres publiques
– void simuler (bool etat=true, int baseDeTemps=BASE_DE_TEMPS)– bool estEnSimulation ()– int getBaseDeTemps ()
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.13 Référence de la classe Horloge 67
– void demarrer (int periode=1)– void arreter ()– void programmer (int echeance)– QDateTime getDateEtHeureActuelle ()– QDate getDateActuelle ()– QTime getHeureActuelle ()– QString getDateEtHeureActuelle (QString format)– QString getDateActuelle (QString format)– QString getHeureActuelle (QString format)– int getNbJours (QDateTime dateEtHeure)– int getNbJours (QDate date)– int getNbMinutes (QDateTime dateEtHeure)– int getNbMinutes (QTime heure)
Fonctions membres publiques statiques
– static Horloge ∗ getInstance (QObject ∗parent=0)– static void detruireInstance ()– static QDateTime getDateEtHeure (QString dateEtHeure, QString format)– static QDate getDate (QString date, QString format)– static QTime getHeure (QString heure, QString format)– static int getNbMsec ()– static int getNbJours (QDateTime dateEtHeure1, QDateTime dateEtHeure2)– static int getNbJours (QDate date1, QDate date2)– static int getNbMinutes (QDateTime dateEtHeure1, QDateTime dateEtHeure2)– static int getNbMinutes (QTime heure1, QTime heure2)
Connecteurs prives
– void tic ()– void top ()
Fonctions membres privees
– Horloge (QObject ∗parent)– virtual ∼Horloge ()– QDateTime generer ()
Attributs prives
– QMutex mutex– QTimer ∗ _tic– QTimer ∗ _top– bool simulation– bool programmation– int baseDeTemps– QDateTime debutSimulation
Attributs prives statiques
– static Horloge ∗ instance = NULL– static int nbAcces = 0
10.13.1 Documentation des constructeurs et destructeur
10.13.1.1 Horloge : :Horloge ( QObject ∗ parent ) [private]
Références _tic, et _top.
Référencé par getInstance().
: QObject(parent), _tic(NULL), _top(NULL),simulation(false), programmation(false), baseDeTemps(BASE_DE_TEMPS)
{_tic = new QTimer(this);_top = new QTimer(this);
}
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.13 Référence de la classe Horloge 68
10.13.1.2 Horloge : :∼Horloge ( ) [private, virtual]
{}
10.13.2 Documentation des fonctions membres
10.13.2.1 void Horloge : :arreter ( )
Références _tic, mutex, et tic().
{QMutexLocker verrou(&mutex);if(_tic != NULL){
if(_tic->isActive()){
disconnect(_tic, SIGNAL(timeout()), this, SLOT(tic()));_tic->stop();
}}else
return;}
10.13.2.2 void Horloge : :demarrer ( int periode = 1 )
Références _tic, baseDeTemps, mutex, simulation, et tic().
{QMutexLocker verrou(&mutex);if(_tic != NULL){
if(!_tic->isActive())connect(_tic, SIGNAL(timeout()), this, SLOT(tic()));
}else
return;
if(this->simulation == true){
#ifdef DEBUG_HORLOGEqDebug() << QString::fromUtf8("<Horloge::demarrer()> période tic : %1millisecondes").arg(QString::number((periode*1000)/baseDeTemps));#endifif(_tic->isActive())
_tic->setInterval((periode*1000)/baseDeTemps);else
_tic->start((periode*1000)/baseDeTemps);}else{
#ifdef DEBUG_HORLOGEqDebug() << QString::fromUtf8("<Horloge::demarrer()> période tic : %1millisecondes").arg(QString::number(periode*1000));#endifif(_tic->isActive())
_tic->setInterval(periode*1000);else
_tic->start(periode*1000);}
}
10.13.2.3 void Horloge : :detruireInstance ( ) [static]
Références instance, et nbAcces.
Référencé par ProtectionVent : :∼ProtectionVent().
{// instance ?if(instance != NULL){
nbAcces--;#ifdef DEBUG_HORLOGE_1qDebug() << "<Horloge::detruireInstance()> nbAcces restants = " <<
nbAcces;#endif// dernier ?if(nbAcces == 0)
delete instance;}
}
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.13 Référence de la classe Horloge 69
10.13.2.4 bool Horloge : :estEnSimulation ( )
Références mutex, et simulation.
Référencé par getDateActuelle(), getDateEtHeureActuelle(), getHeureActuelle(), getNbJours(), et getNbMinutes().
{QMutexLocker verrou(&mutex);return this->simulation;
}
10.13.2.5 void Horloge : :fini ( QString ) [signal]
Référencé par top().
10.13.2.6 void Horloge : :fini ( QDateTime ) [signal]
10.13.2.7 QDateTime Horloge : :generer ( ) [private]
Références baseDeTemps, et debutSimulation.
Référencé par getDateActuelle(), getDateEtHeureActuelle(), getHeureActuelle(), getNbJours(), et getNbMinutes().
{QDateTime maintenant = QDateTime::currentDateTime();int intervalle = debutSimulation.msecsTo(maintenant);intervalle *= baseDeTemps;QDateTime dateHeureActuelleSimulee;dateHeureActuelleSimulee = debutSimulation.addMSecs(intervalle);
return dateHeureActuelleSimulee;}
10.13.2.8 int Horloge : :getBaseDeTemps ( )
Références baseDeTemps, mutex, et simulation.
{QMutexLocker verrou(&mutex);if(this->simulation == true){
return this->baseDeTemps;}
return 0;}
10.13.2.9 QDate Horloge : :getDate ( QString date, QString format ) [static]
{QDate qDate = QDate::fromString(date, format);
return qDate;}
10.13.2.10 QDate Horloge : :getDateActuelle ( )
Références estEnSimulation(), et generer().
{if(estEnSimulation()){
QDateTime dateHeureActuelleSimulee = generer();QDate dateActuelleSimulee = dateHeureActuelleSimulee.date();
return dateActuelleSimulee;}else{
return QDate::currentDate();}
}
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.13 Référence de la classe Horloge 70
10.13.2.11 QString Horloge : :getDateActuelle ( QString format )
Références estEnSimulation(), et generer().
{QString dateActuelle;
if(estEnSimulation()){
QDateTime dateHeureActuelleSimulee = generer();QDate dateActuelleSimulee = dateHeureActuelleSimulee.date();dateActuelle = dateActuelleSimulee.toString(format);
}else{
QDate maintenant = QDate::currentDate();dateActuelle = maintenant.toString(format);
}
return dateActuelle;}
10.13.2.12 QDateTime Horloge : :getDateEtHeure ( QString dateEtHeure, QString format ) [static]
{QDateTime qDateEtHeure = QDateTime::fromString(dateEtHeure, format);
return qDateEtHeure;}
10.13.2.13 QDateTime Horloge : :getDateEtHeureActuelle ( )
Références estEnSimulation(), et generer().
Référencé par tic(), et top().
{if(estEnSimulation()){
QDateTime dateHeureActuelleSimulee = generer();
return dateHeureActuelleSimulee;}else{
return QDateTime::currentDateTime();}
}
10.13.2.14 QString Horloge : :getDateEtHeureActuelle ( QString format )
Références estEnSimulation(), et generer().
{QString dateEtHeureActuelle;
if(estEnSimulation()){
QDateTime dateHeureActuelleSimulee = generer();dateEtHeureActuelle = dateHeureActuelleSimulee.toString(format);
}else{
QDateTime maintenant = QDateTime::currentDateTime();dateEtHeureActuelle = maintenant.toString(format);
}
return dateEtHeureActuelle;}
10.13.2.15 QTime Horloge : :getHeure ( QString heure, QString format ) [static]
{QTime qHeure = QTime::fromString(heure, format);
return qHeure;}
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.13 Référence de la classe Horloge 71
10.13.2.16 QTime Horloge : :getHeureActuelle ( )
Références estEnSimulation(), et generer().
{if(estEnSimulation()){
QDateTime dateHeureActuelleSimulee = generer();QTime heureActuelleSimulee = dateHeureActuelleSimulee.time();
return heureActuelleSimulee;}else{
return QTime::currentTime();}
}
10.13.2.17 QString Horloge : :getHeureActuelle ( QString format )
Références estEnSimulation(), et generer().
{QString heureActuelle;
if(estEnSimulation()){
QDateTime dateHeureActuelleSimulee = generer();QTime heureActuelleSimulee = dateHeureActuelleSimulee.time();heureActuelle = heureActuelleSimulee.toString(format);
}else{
QTime maintenant = QTime::currentTime();heureActuelle = maintenant.toString(format);
}
return heureActuelle;}
10.13.2.18 Horloge ∗ Horloge : :getInstance ( QObject ∗ parent = 0 ) [static]
Références Horloge(), instance, et nbAcces.
Référencé par ProtectionVent : :ProtectionVent().
{if(instance == NULL)
instance = new Horloge(parent);
nbAcces++;#ifdef DEBUG_HORLOGE_1qDebug() << "<Horloge::getInstance()> nbAcces = " << nbAcces;#endif
return instance;}
10.13.2.19 int Horloge : :getNbJours ( QDateTime dateEtHeure )
Références estEnSimulation(), et generer().
{int nbJours = 0;
if(estEnSimulation()){
QDateTime dateHeureActuelleSimulee = generer();//nbJours = dateEtHeure.daysTo(dateHeureActuelleSimulee);nbJours = dateHeureActuelleSimulee.daysTo(dateEtHeure);
}else{
if(dateEtHeure.isValid()){
QDateTime maintenant = QDateTime::currentDateTime();//nbJours = dateEtHeure.daysTo(maintenant);nbJours = maintenant.daysTo(dateEtHeure);
}}
return nbJours;}
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.13 Référence de la classe Horloge 72
10.13.2.20 int Horloge : :getNbJours ( QDate date )
Références estEnSimulation(), et generer().
{int nbJours = 0;
if(estEnSimulation()){
QDateTime dateHeureActuelleSimulee = generer();QDate dateActuelleSimulee = dateHeureActuelleSimulee.date();//nbJours = date.daysTo(dateActuelleSimulee);nbJours = dateActuelleSimulee.daysTo(date);
}else{
if(date.isValid()){
QDate maintenant = QDate::currentDate();//nbJours = date.daysTo(maintenant);nbJours = maintenant.daysTo(date);
}}
return nbJours;}
10.13.2.21 int Horloge : :getNbJours ( QDateTime dateEtHeure1, QDateTime dateEtHeure2 ) [static]
{int nbJours = 0;
if(dateEtHeure1.isValid() && dateEtHeure2.isValid()){
nbJours = dateEtHeure1.daysTo(dateEtHeure2);}
return nbJours;}
10.13.2.22 int Horloge : :getNbJours ( QDate date1, QDate date2 ) [static]
{int nbJours = 0;
if(date1.isValid() && date2.isValid()){
nbJours = date1.daysTo(date2);}
return nbJours;}
10.13.2.23 int Horloge : :getNbMinutes ( QDateTime dateEtHeure )
Références estEnSimulation(), et generer().
{int nbMinutes = 0;
if(estEnSimulation()){
QDateTime dateHeureActuelleSimulee = generer();nbMinutes = dateHeureActuelleSimulee.secsTo(dateEtHeure)/60;
}else{
if(dateEtHeure.isValid()){
QDateTime maintenant = QDateTime::currentDateTime();nbMinutes = maintenant.secsTo(dateEtHeure)/60;
}}
return nbMinutes;}
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.13 Référence de la classe Horloge 73
10.13.2.24 int Horloge : :getNbMinutes ( QTime heure )
Références estEnSimulation(), et generer().
{int nbMinutes = 0;
if(estEnSimulation()){
QDateTime dateHeureActuelleSimulee = generer();QTime dateActuelleSimulee = dateHeureActuelleSimulee.time();nbMinutes = dateActuelleSimulee.secsTo(heure)/60;
}else{
if(heure.isValid()){
QTime maintenant = QTime::currentTime();nbMinutes = maintenant.secsTo(heure)/60;
}}
return nbMinutes;}
10.13.2.25 int Horloge : :getNbMinutes ( QDateTime dateEtHeure1, QDateTime dateEtHeure2 ) [static]
{int nbMinutes = 0;
if(dateEtHeure1.isValid() && dateEtHeure2.isValid()){
nbMinutes = dateEtHeure1.secsTo(dateEtHeure2)/60;}
return nbMinutes;}
10.13.2.26 int Horloge : :getNbMinutes ( QTime heure1, QTime heure2 ) [static]
{int nbMinutes = 0;
if(heure1.isValid() && heure2.isValid()){
nbMinutes = heure1.secsTo(heure2)/60;}
return nbMinutes;}
10.13.2.27 int Horloge : :getNbMsec ( ) [static]
{return QTime::currentTime().msec();
}
10.13.2.28 void Horloge : :programmer ( int echeance )
Références _top, baseDeTemps, mutex, programmation, simulation, et top().
Référencé par ProtectionVent : :arreterProtection(), et ProtectionVent : :surveillerVent().
{QMutexLocker verrou(&mutex);if(_top != NULL && programmation == false){
connect(_top, SIGNAL(timeout()), this, SLOT(top()));_top->setSingleShot(true);programmation = true;
}else
return;
if(this->simulation == true){
#ifdef DEBUG_HORLOGEqDebug() << QString::fromUtf8("<Horloge::programmer()> échéanceprochain top : %1 millisecondes").arg(QString::number((echeance*1000)/baseDeTemps));#endif_top->start((echeance*1000)/baseDeTemps);
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.13 Référence de la classe Horloge 74
}else{
#ifdef DEBUG_HORLOGEqDebug() << QString::fromUtf8("<Horloge::programmer()> échéanceprochain top : %1 millisecondes").arg(QString::number(echeance*1000));#endif_top->start(echeance*1000);
}}
10.13.2.29 void Horloge : :simuler ( bool etat = true, int baseDeTemps = BASE_DE_TEMPS )
Références baseDeTemps, debutSimulation, mutex, et simulation.
{QMutexLocker verrou(&mutex);if(this->simulation != etat){
this->simulation = etat;this->baseDeTemps = baseDeTemps;debutSimulation = QDateTime::currentDateTime();#ifdef DEBUG_HORLOGEqDebug() << QString::fromUtf8("<Horloge::simuler()> démarragesimulation : 1s => %1s").arg(QString::number(baseDeTemps)) << debutSimulation;#endif
}}
10.13.2.30 void Horloge : :tic ( QString ) [signal]
10.13.2.31 void Horloge : :tic ( QDateTime ) [signal]
10.13.2.32 void Horloge : :tic ( ) [private, slot]
Références getDateEtHeureActuelle().
Référencé par arreter(), et demarrer().
{QDateTime dtDateEtHeureActuelle = getDateEtHeureActuelle();QString sDdateEtHeureActuelle = getDateEtHeureActuelle("yyyy-MM-dd hh:mm:ss
");// signale le ticemit tic(dtDateEtHeureActuelle);emit tic(sDdateEtHeureActuelle);
#ifdef DEBUG_HORLOGEqDebug() << QString::fromUtf8("tic -> %1").arg(sDdateEtHeureActuelle);#endif
}
10.13.2.33 void Horloge : :top ( ) [private, slot]
Références _top, fini(), getDateEtHeureActuelle(), mutex, et programmation.
Référencé par programmer().
{QDateTime dtDateEtHeureActuelle = getDateEtHeureActuelle();QString sDdateEtHeureActuelle = getDateEtHeureActuelle("yyyy-MM-dd hh:mm:ss
");// signale l’expirationemit fini(dtDateEtHeureActuelle);emit fini(sDdateEtHeureActuelle);
// réinitialise pour un autre top (single shot)disconnect(_top, SIGNAL(timeout()), this, SLOT(top()));QMutexLocker verrou(&mutex);programmation = false;
#ifdef DEBUG_HORLOGEqDebug() << QString::fromUtf8("top -> %1").arg(sDdateEtHeureActuelle);#endif
}
10.13.3 Documentation des donnees membres
10.13.3.1 QTimer∗ Horloge : :_tic [private]
Référencé par arreter(), demarrer(), et Horloge().
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.14 Référence de la classe IhmTournesol 75
10.13.3.2 QTimer∗ Horloge : :_top [private]
Référencé par Horloge(), programmer(), et top().
10.13.3.3 int Horloge : :baseDeTemps [private]
Référencé par demarrer(), generer(), getBaseDeTemps(), programmer(), et simuler().
10.13.3.4 QDateTime Horloge : :debutSimulation [private]
Référencé par generer(), et simuler().
10.13.3.5 Horloge ∗ Horloge : :instance = NULL [static, private]
Référencé par detruireInstance(), et getInstance().
10.13.3.6 QMutex Horloge : :mutex [private]
Référencé par arreter(), demarrer(), estEnSimulation(), getBaseDeTemps(), programmer(), simuler(), et top().
10.13.3.7 int Horloge : :nbAcces = 0 [static, private]
Référencé par detruireInstance(), et getInstance().
10.13.3.8 bool Horloge : :programmation [private]
Référencé par programmer(), et top().
10.13.3.9 bool Horloge : :simulation [private]
Référencé par demarrer(), estEnSimulation(), getBaseDeTemps(), programmer(), et simuler().
La documentation de cette classe a été générée à partir des fichiers suivants :– horloge.h– horloge.cpp
10.14 Reference de la classe IhmTournesol
Gestion de l’interface graphique.
#include <ihmTournesol.h>
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.14 Référence de la classe IhmTournesol 76
Graphe de collaboration de IhmTournesol :
IhmTournesol
- ihm- timer- acquisitionRegulateur- acquisitionSuiveur- asservissementSuiveur- acquisitionMeteo- protectionVent- threadAcquisitionRegulateur- threadAcquisitionSuiveur- threadAsservissementSuiveur- threadAcquisitionMeteo- threadProtectionVent
+ IhmTournesol()+ ~IhmTournesol()+ afficherEtatsLDR()+ afficherInformationsRegulateur()+ afficherJournalisationRegulateur()+ afficherAlarmeRegulateur()+ afficherInformationsStationMeteo()+ afficherInformationsSuiveur()+ afficherBuzzer()+ afficherTypeBatteries()+ afficherModeCharge()+ deplacerPositionMaintenance()and 13 more...- initialiserQwt()- initialiserTypeBatteries()- initialiserModesDeCharges()
ProtectionVent
- baseDeDonnees- horloge- fini- protection- protectionActivee- attente- periode- vitesse- vitesseMax- mutex- waitCondition- configurationProtectionVent
+ ProtectionVent()+ ~ProtectionVent()+ lireModeDeFonctionnement()+ acquerir()+ surveillerVent()+ enregisterAlerte()+ attendrePeriode()+ main()+ finir()+ terminer()+ arreterProtection()+ activerProtectionVent()+ editerVitesseMaxProtectionVent()+ editerFrequenceProtectionVent()- msleep()- annuler()
protectionVent
BaseDeDonnees
- db- mutex- baseDeDonnees- nbAcces
+ connecter()+ executer()+ recuperer()+ recuperer()+ recuperer()+ recuperer()+ getInstance()+ detruireInstance()- BaseDeDonnees()- ~BaseDeDonnees()
baseDeDonnees
baseDeDonnees
Regulateur
- port- informationsRegulateur- journalisationRegulateur- alarmesRegulateur- parametresRegulateur- bdd- mutex
+ Regulateur()+ ~Regulateur()+ acquerir()+ acquerirInformations()+ acquerirHistorique()+ decoderTrameInformations()+ decoderTrameHistorique()+ decoderAlarmes()+ decoderMenuState()+ envoyerMenuState()+ decoderMenuState2()+ envoyerMenuState2()+ changerEtatBuzzer()+ changerTypeBatterie()+ changerModeCharge()+ changerEtatCadenas()+ changerModeNuit()
bdd
StationMeteo
- cv7- capteurLumineux- _vitesse- _direction- _temperature- vitesse- direction- temperature- informationStationMeteo- bdd
+ StationMeteo()+ ~StationMeteo()+ acquerir()+ lireLuminosite()+ lireVent()+ lireVitesse()+ lireVitesse()+ lireDirection()+ lireTemperature()+ enregistrerMesures()
bdd
AcquisitionSuiveur
+ suiveur- fini- modeAuto- periode- mutex- waitCondition- bdd
+ AcquisitionSuiveur()+ ~AcquisitionSuiveur()+ main()+ finir()+ terminer()+ deplacerPanneauOuest()+ deplacerPanneauEst()+ deplacerPanneauNord()+ deplacerPanneauSud()- msleep()- annuler()- lirePeriode()- enregistrerEtatSuiveur()
bdd
SuiveurSolaire
- informationsSuiveur- port- mutexPort- protectionVent- bdd- date
+ SuiveurSolaire()+ ~SuiveurSolaire()+ acquerir()+ getEtat()+ deplacerPanneauGauche()+ deplacerPanneauDroite()+ deplacerPanneauHaut()+ deplacerPanneauBas()+ deplacerManuel()+ deplacerAngleHoraire()+ deplacerAngleElevation()+ deplacer()+ proteger()+ enregistrerInformationsBdd()+ gererModeAutoProgramme()+ stopperCommande()- decoderTrame()- reinitialiserInformationsSuiveur()- calculerChecksum()
bdd
AsservissementSuiveur
- capteurSolaire- fini- mutex- waitCondition- etatLDR1- etatLDR2- etatLDR3- etatLDR4- bdd
+ AsservissementSuiveur()+ ~AsservissementSuiveur()+ main()+ finir()+ terminer()- msleep()- annuler()- suivreSoleil()- lireEtatSuiveur()
bdd
CapteurSolaire
- etatLDR1- etatLDR2- etatLDR3- etatLDR4- bdd
+ CapteurSolaire()+ ~CapteurSolaire()+ acquerir()+ getEtatLDR1()+ getEtatLDR2()+ getEtatLDR3()+ getEtatLDR4()- trier()- mediane()- reinitialiser()- lireTension()- detecter()
bdd
ConfigurationProtectionVent
+ etat+ vitesseMax+ periode
configurationProtectionVent
Horloge
- mutex- _tic- _top- simulation- programmation- baseDeTemps- debutSimulation- instance- nbAcces
+ simuler()+ estEnSimulation()+ getBaseDeTemps()+ demarrer()+ arreter()+ programmer()+ getDateEtHeureActuelle()+ getDateActuelle()+ getHeureActuelle()+ getDateEtHeureActuelle()and 5 more...+ getInstance()+ detruireInstance()+ getDateEtHeure()+ getDate()+ getHeure()+ getNbMsec()+ getNbJours()+ getNbJours()+ getNbMinutes()+ getNbMinutes()- Horloge()- ~Horloge()- generer()- tic()- top()
horloge
instance
AcquisitionRegulateur
- regulateur- fini- mutex- waitCondition- periode
+ AcquisitionRegulateur()+ ~AcquisitionRegulateur()+ main()+ finir()+ terminer()- msleep()- annuler()- lireConfiguration()- attendrePeriode()
acquisitionRegulateur
regulateur
InformationsRegulateur
+ niveauCharge+ tensionBatterie+ surplusEnergie+ courantPhotovoltaique+ courantCharge+ temperature+ modeChargeBatterie+ onOff
informationsRegulateur
JournalisationRegulateur
+ ampereHeurePVExcedant+ ampereHeurePvConsomme+ niveauChargeMatin+ niveauChargeSoir+ chargeAmpaireHeure+ nbSemaines+ BuzzerEtat+ typeBatterie+ mode+ modeLock+ serialInterface+ modenuit
journalisationRegulateur
AlarmesRegulateur
+ alarmeBatterie+ alarmeChargeComplete+ alarmeDebranchementBatterie+ alarmeSurtensionPv+ alarmeSurtensionCharge+ alarmeSurvoltageBatterie+ alarmeSurchauffePv+ alarmeSurchauffeCharge+ trameRecu
alarmesRegulateur
ParametresRegulateur
+ modeNuit+ buzzerOnOff+ typeBatterie+ modeCoupureChargeFaible+ modeLock+ serialInterface
parametresRegulateur
Port
- port
+ Port()+ Port()+ ~Port()+ ouvrir()+ transmettre()+ recevoir()+ recevoir()+ lire()+ getNbOctetsDisponibles()+ estOuvert()- onReadyRead()
port
CV7
- port- phrases
+ CV7()+ ~CV7()+ recupererPhrase()+ recevoirPhrases()+ decouperTrames()+ setMap()
port
port
AcquisitionMeteo
- fini- periode- mutex- waitCondition- stationMeteo
+ AcquisitionMeteo()+ ~AcquisitionMeteo()+ main()+ finir()+ terminer()- msleep()- annuler()- lireConfiguration()- attendrePeriode()
acquisitionMeteo
stationMeteo
cv7
CapteurLuminosite
- luminosite
+ CapteurLuminosite()+ ~CapteurLuminosite()+ lire()
capteurLumineux
Mesure
+ valeur+ unite+ horodatage+ valide
_temperature_direction_vitesse
InformationsStationMeteo
+ vitesseVent+ directionVent+ luminosite+ temperature+ valide
directionVentluminosite
vitesseVenttemperature
informationStationMeteo
acquisitionSuiveur
suiveur
InformationsSuiveur
+ heure+ minute+ seconde+ jour+ mois+ angleHoraireA+ positionHoraireA+ destinationA+ iMoteurA+ angleElevationB
and 12 more...
informationsSuiveur
asservissementSuiveur
capteurSolaire
Connecteurs publics
– void afficherEtatsLDR (int etatLDR1, int etatLDR2, int etatLDR3, int etatLDR4)slot qui affiche l’état de la détection du capteur solaire
– void afficherInformationsRegulateur (InformationsRegulateur informationsRegulateur)slot qui affiche dans l’ihm les valeurs de la structure informationsRegulateur reçu
– void afficherJournalisationRegulateur (JournalisationRegulateur journalisationRegulateur)slot qui affiche dans l’ihm les valeurs de la structure journalisationRegulateur reçu
– void afficherAlarmeRegulateur (AlarmesRegulateur alarmesRegulateur)slot qui affiche dans l’ihm les valeurs de la structure alarmesRegulateur reçu
– void afficherInformationsStationMeteo (InformationsStationMeteo informationsStationMeteo)slot qui affiche les informations météos
– void afficherInformationsSuiveur (InformationsSuiveur informationsSuiveur)slot qui affiche les informations du suiveur solaire dans l’ihm
– void afficherBuzzer (JournalisationRegulateur journalisationRegulateur)Affiche l’état du buzzer.
– void afficherTypeBatteries (JournalisationRegulateur journalisationRegulateur)Affiche le type des batteries.
– void afficherModeCharge (JournalisationRegulateur journalisationRegulateur)Affiche les modes de charge.
– void deplacerPositionMaintenance ()– void deplacerPositionVent ()– void deplacerPositionPluie ()– void deplacerAzimut ()– void deplacerElevation ()– void activerProtectionVent (bool etat)– void alerterProtectionVent (bool protectionActivee)– void afficherCadenas (JournalisationRegulateur journalisationRegulateur)
Affiche l’état du cadenas.– void afficherModeNuit (JournalisationRegulateur journalisationRegulateur)
Affiche le mode pour la nuit.– void afficherEtatSuiveur (bool etat)
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.14 Référence de la classe IhmTournesol 77
– void editerVitesseMaxProtectionVent ()– void editerFrequenceProtectionVent ()– void deplacer ()– void afficherDateHeure ()– void verfierEtatMode ()
Signaux
– void deplacer (double angleHoraire, double angleElevation)– void deplacerAngleAzimut (double)– void deplacerAngleElevation (double)– void nouvelEtatProtectionVent (bool etat)– void editerVitesseMaxProtectionVent (double vitesse)– void editerFrequenceProtectionVent (int frequence)– void etatModeProgramme (bool modeAuto)
Fonctions membres publiques
– IhmTournesol (QWidget ∗parent=0)constructeur
– ∼IhmTournesol ()destructeur
Fonctions membres privees
– void initialiserQwt ()initialise les widgets Qwt (thermomètre, ...)
– void initialiserTypeBatteries ()initialise les types de batteries
– void initialiserModesDeCharges ()initialise les modes de charges
Attributs prives
– Ui : :IHM ∗ ihm– QTimer ∗ timer– AcquisitionRegulateur ∗ acquisitionRegulateur– AcquisitionSuiveur ∗ acquisitionSuiveur– AsservissementSuiveur ∗ asservissementSuiveur– AcquisitionMeteo ∗ acquisitionMeteo– ProtectionVent ∗ protectionVent– QThread ∗ threadAcquisitionRegulateur– QThread ∗ threadAcquisitionSuiveur– QThread ∗ threadAsservissementSuiveur– QThread ∗ threadAcquisitionMeteo– QThread ∗ threadProtectionVent
10.14.1 Description detaillee
Auteur
Nicolas Detilleux <[email protected]>Rémy Gonzalves <[email protected]>Grégory Moll <[email protected]>Adrien Thiel <[email protected]>
10.14.2 Documentation des constructeurs et destructeur
10.14.2.1 IhmTournesol : :IhmTournesol ( QWidget ∗ parent = 0 ) [explicit]
Parametresparent
<TODO
<TODO
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.14 Référence de la classe IhmTournesol 78
Références acquisitionMeteo, acquisitionRegulateur, acquisitionSuiveur, activerProtectionVent(), afficherAlarmeRegulateur(),afficherBuzzer(), afficherCadenas(), afficherDateHeure(), afficherEtatsLDR(), afficherEtatSuiveur(), afficherInformations-Regulateur(), afficherInformationsStationMeteo(), afficherInformationsSuiveur(), afficherJournalisationRegulateur(), afficherMode-Charge(), afficherModeNuit(), afficherTypeBatteries(), AlarmesRegulateur : :alarmeBatterie, AlarmesRegulateur : :alarmeCharge-Complete, AlarmesRegulateur : :alarmeDebranchementBatterie, AlarmesRegulateur : :alarmeSurchauffeCharge, Alarmes-Regulateur : :alarmeSurchauffePv, AlarmesRegulateur : :alarmeSurtensionCharge, AlarmesRegulateur : :alarmeSurtensionPv,AlarmesRegulateur : :alarmeSurvoltageBatterie, alerterProtectionVent(), asservissementSuiveur, JournalisationRegulateur : :-BuzzerEtat, deplacer(), deplacerAngleAzimut(), deplacerAngleElevation(), deplacerPositionMaintenance(), deplacerPosition-Pluie(), deplacerPositionVent(), editerFrequenceProtectionVent(), editerVitesseMaxProtectionVent(), ihm, initialiserModes-DeCharges(), initialiserQwt(), initialiserTypeBatteries(), main(), JournalisationRegulateur : :mode, JournalisationRegulateur-: :modeLock, JournalisationRegulateur : :modenuit, nouvelEtatProtectionVent(), protectionVent, threadAcquisitionMeteo,threadAcquisitionRegulateur, threadAcquisitionSuiveur, threadAsservissementSuiveur, threadProtectionVent, timer, Alarmes-Regulateur : :trameRecu, et JournalisationRegulateur : :typeBatterie.
: QMainWindow(parent), ihm(newUi::IHM)
{ihm->setupUi(this);
#ifdef R_PIshowFullScreen();
#endif//setFixedSize(qApp->desktop()->size());//setWindowFlags(Qt::WindowStaysOnTopHint | Qt::FramelessWindowHint);
//qDebug() << qApp->desktop()->size();
initialiserQwt();
// initialisation ihm pour le régulateurAlarmesRegulateur alarmesRegulateur;alarmesRegulateur.alarmeBatterie = false;alarmesRegulateur.alarmeChargeComplete = false;alarmesRegulateur.alarmeDebranchementBatterie = false;alarmesRegulateur.alarmeSurtensionPv = false;alarmesRegulateur.alarmeSurtensionCharge = false;alarmesRegulateur.alarmeSurvoltageBatterie = false;alarmesRegulateur.alarmeSurchauffePv = false;alarmesRegulateur.alarmeSurchauffeCharge = false;alarmesRegulateur.trameRecu = false;afficherAlarmeRegulateur(alarmesRegulateur);JournalisationRegulateur journalisationRegulateur;journalisationRegulateur.BuzzerEtat = false;afficherBuzzer(journalisationRegulateur);initialiserTypeBatteries();journalisationRegulateur.typeBatterie = 0;afficherTypeBatteries(journalisationRegulateur);initialiserModesDeCharges();journalisationRegulateur.mode = 0;afficherModeCharge(journalisationRegulateur);journalisationRegulateur.modeLock = false;afficherCadenas(journalisationRegulateur);journalisationRegulateur.modenuit = 0;afficherModeNuit(journalisationRegulateur);afficherEtatSuiveur(0);
acquisitionRegulateur = new AcquisitionRegulateur;threadAcquisitionRegulateur = new QThread;acquisitionSuiveur = new AcquisitionSuiveur;threadAcquisitionSuiveur = new QThread;asservissementSuiveur = new AsservissementSuiveur;threadAsservissementSuiveur = new QThread;acquisitionMeteo = new AcquisitionMeteo;threadAcquisitionMeteo = new QThread;protectionVent = new ProtectionVent;threadProtectionVent = new QThread;
acquisitionRegulateur->moveToThread(threadAcquisitionRegulateur);acquisitionSuiveur->moveToThread(threadAcquisitionSuiveur);asservissementSuiveur->moveToThread(threadAsservissementSuiveur);acquisitionMeteo->moveToThread(threadAcquisitionMeteo);protectionVent->moveToThread(threadProtectionVent);
//enregistrement des types personnels pour la connexion signal/slotqRegisterMetaType<InformationsRegulateur>("InformationsRegulateur");qRegisterMetaType<JournalisationRegulateur>("JournalisationRegulateur");qRegisterMetaType<InformationsSuiveur>("InformationsSuiveur");qRegisterMetaType<AlarmesRegulateur>("AlarmesRegulateur");qRegisterMetaType<InformationsStationMeteo>("InformationsStationMeteo");
QObject::connect(threadAcquisitionRegulateur, SIGNAL(started()),acquisitionRegulateur, SLOT(main()));
QObject::connect(threadAcquisitionRegulateur, SIGNAL(finished()),
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.14 Référence de la classe IhmTournesol 79
acquisitionRegulateur, SLOT(terminer()));QObject::connect(threadAcquisitionSuiveur, SIGNAL(started()),acquisitionSuiveur, SLOT(main()));
QObject::connect(threadAcquisitionSuiveur, SIGNAL(finished()),acquisitionSuiveur, SLOT(terminer()));
QObject::connect(threadAsservissementSuiveur, SIGNAL(started()),asservissementSuiveur, SLOT(main()));
QObject::connect(threadAsservissementSuiveur, SIGNAL(finished()),asservissementSuiveur, SLOT(terminer()));
QObject::connect(threadAcquisitionMeteo, SIGNAL(started()), acquisitionMeteo, SLOT(main()));
QObject::connect(threadAcquisitionMeteo, SIGNAL(finished()),acquisitionMeteo, SLOT(terminer()));
QObject::connect(threadProtectionVent, SIGNAL(started()), protectionVent,SLOT(main()));
QObject::connect(threadProtectionVent, SIGNAL(finished()), protectionVent,SLOT(terminer()));
//signaux/slots pour l’IHM
//Regulateurconnect(acquisitionRegulateur, SIGNAL(nouvellesInformationsRegulateur(InformationsRegulateur)), this, SLOT(afficherInformationsRegulateur(InformationsRegulateur)));
connect(acquisitionRegulateur, SIGNAL(nouvellesJournalisationRegulateur(JournalisationRegulateur)), this, SLOT(afficherJournalisationRegulateur(JournalisationRegulateur)));
connect(acquisitionRegulateur, SIGNAL(nouvellesAlarmesRegulateur(AlarmesRegulateur)), this, SLOT(afficherAlarmeRegulateur(AlarmesRegulateur)));
connect(acquisitionRegulateur, SIGNAL(nouvellesJournalisationRegulateur(JournalisationRegulateur)), this, SLOT(afficherBuzzer(JournalisationRegulateur)));
connect(acquisitionRegulateur, SIGNAL(nouvellesJournalisationRegulateur(JournalisationRegulateur)), this, SLOT(afficherTypeBatteries(JournalisationRegulateur)));
connect(acquisitionRegulateur, SIGNAL(nouvellesJournalisationRegulateur(JournalisationRegulateur)), this, SLOT(afficherModeCharge(JournalisationRegulateur)));
connect(acquisitionRegulateur, SIGNAL(nouvellesJournalisationRegulateur(JournalisationRegulateur)), this, SLOT(afficherCadenas(JournalisationRegulateur)));
connect(acquisitionRegulateur, SIGNAL(nouvellesJournalisationRegulateur(JournalisationRegulateur)), this, SLOT(afficherModeNuit(JournalisationRegulateur)));
//Station météoconnect(acquisitionMeteo, SIGNAL(nouvellesInformationsStationMeteo(InformationsStationMeteo)), this, SLOT(afficherInformationsStationMeteo(InformationsStationMeteo)));
//Protection ventconnect(protectionVent, SIGNAL(alerte(bool)), this, SLOT(alerterProtectionVent(bool)));
connect(ihm->Protection, SIGNAL(clicked(bool)), this, SLOT(activerProtectionVent(bool)));
connect(this,SIGNAL(nouvelEtatProtectionVent(bool)),protectionVent,SLOT(activerProtectionVent(bool)), Qt::DirectConnection);
connect(ihm->vitesse, SIGNAL(editingFinished()),this,SLOT(editerVitesseMaxProtectionVent()));
connect(this, SIGNAL(editerVitesseMaxProtectionVent(double)), protectionVent, SLOT(editerVitesseMaxProtectionVent(double)), Qt::DirectConnection);
connect(ihm->frequence, SIGNAL(editingFinished()),this,SLOT(editerFrequenceProtectionVent()));
connect(this, SIGNAL(editerFrequenceProtectionVent(int)),protectionVent,SLOT(editerFrequenceProtectionVent(int)), Qt::DirectConnection);
connect(protectionVent, SIGNAL(proteger(bool)), acquisitionSuiveur, SIGNAL(proteger(bool)), Qt::DirectConnection);
//Suiveurtimer = new QTimer(this);timer->setInterval(1000);connect(acquisitionSuiveur, SIGNAL(signalerInformationsSuiveur(InformationsSuiveur)), this, SLOT(afficherInformationsSuiveur(InformationsSuiveur)));
connect(timer, SIGNAL(timeout()), this, SLOT(afficherDateHeure()));connect(asservissementSuiveur, SIGNAL(afficherEtatsLDR(int,int,int,int)),this, SLOT(afficherEtatsLDR(int,int,int,int)));
connect(asservissementSuiveur, SIGNAL(deplacerEst()), acquisitionSuiveur,SLOT(deplacerPanneauEst()));
connect(asservissementSuiveur, SIGNAL(deplacerOuest()), acquisitionSuiveur,SLOT(deplacerPanneauOuest()));
connect(asservissementSuiveur, SIGNAL(deplacerNord()), acquisitionSuiveur,SLOT(deplacerPanneauNord()));
connect(asservissementSuiveur, SIGNAL(deplacerSud()), acquisitionSuiveur,SLOT(deplacerPanneauSud()));
connect(asservissementSuiveur, SIGNAL(afficherEtatSuiveur(bool)), this,SLOT(afficherEtatSuiveur(bool)));
connect(ihm->bGauchePanneau, SIGNAL(clicked()), acquisitionSuiveur, SIGNAL(deplacerPanneauGauche()), Qt::DirectConnection);
connect(ihm->bDroitePanneau, SIGNAL(clicked()), acquisitionSuiveur, SIGNAL(
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.14 Référence de la classe IhmTournesol 80
deplacerPanneauDroite()), Qt::DirectConnection);connect(ihm->bHautPanneau, SIGNAL(clicked()), acquisitionSuiveur, SIGNAL(deplacerPanneauHaut()), Qt::DirectConnection);
connect(ihm->bBasPanneau, SIGNAL(clicked()), acquisitionSuiveur, SIGNAL(deplacerPanneauBas()), Qt::DirectConnection);
connect(ihm->BuzzerOnOff, SIGNAL(clicked()), acquisitionRegulateur, SIGNAL(changerEtatBuzzer()), Qt::DirectConnection);
connect(ihm->listeDeroulanteTypeBattery, SIGNAL(currentIndexChanged(int)),acquisitionRegulateur, SIGNAL(changerTypeBatterie(int)), Qt::DirectConnection);
connect(ihm->ModeChargeListe, SIGNAL(currentIndexChanged(int)),acquisitionRegulateur, SIGNAL(changerModeCharge(int)), Qt::DirectConnection);
connect(ihm->LockUnlock, SIGNAL(clicked()), acquisitionRegulateur, SIGNAL(changerEtatCadenas()), Qt::DirectConnection);
connect(ihm->BoutonModeNuit, SIGNAL(clicked()), acquisitionRegulateur,SIGNAL(changerModeNuit()), Qt::DirectConnection);
connect(ihm->positionMaintenance, SIGNAL(clicked()), this, SLOT(deplacerPositionMaintenance()));
connect(ihm->positionVent, SIGNAL(clicked()), this, SLOT(deplacerPositionVent()));
connect(ihm->positionPluie, SIGNAL(clicked()), this, SLOT(deplacerPositionPluie()));
connect(this, SIGNAL(deplacer(double,double)), acquisitionSuiveur, SIGNAL(deplacer(double,double)), Qt::DirectConnection);
//connect(ihm->spinBoxAzimut, SIGNAL(editingFinished()), this,SLOT(deplacerAzimut())); /** <TODO */
connect(this, SIGNAL(deplacerAngleAzimut(double)), acquisitionSuiveur,SIGNAL(deplacerAngleAzimut(double)), Qt::DirectConnection);
//connect(ihm->spinBoxElevation, SIGNAL(editingFinished()), this,SLOT(deplacerElevation())); /** <TODO */
connect(this, SIGNAL(deplacerAngleElevation(double)), acquisitionSuiveur,SIGNAL(deplacerAngleElevation(double)), Qt::DirectConnection);
connect(ihm->modeProgramme, SIGNAL(clicked(bool)), acquisitionSuiveur,SIGNAL(gererModeAutoProgramme(bool)), Qt::DirectConnection);
//connect(ihm->modeProgramme, SIGNAL(clicked(bool)),this,SLOT(verfierEtatMode()));
//connect(this, SIGNAL(etatModeProgramme(bool)), acquisitionSuiveur,SIGNAL(gererModeAutoProgramme(bool)));
connect(ihm->bAller, SIGNAL(clicked()), this, SLOT(deplacer()));connect(ihm->bStop, SIGNAL(clicked()), acquisitionSuiveur, SIGNAL(
stopperCommande()), Qt::DirectConnection);
// démarre les threadsthreadAcquisitionRegulateur->start();threadAcquisitionSuiveur->start();threadAsservissementSuiveur->start();threadAcquisitionMeteo->start();threadProtectionVent->start();
timer->start();}
10.14.2.2 IhmTournesol : :∼IhmTournesol ( )
Références acquisitionMeteo, acquisitionRegulateur, acquisitionSuiveur, asservissementSuiveur, AcquisitionMeteo : :finir(), -AsservissementSuiveur : :finir(), AcquisitionRegulateur : :finir(), ProtectionVent : :finir(), AcquisitionSuiveur : :finir(), ihm,protectionVent, threadAcquisitionMeteo, threadAcquisitionRegulateur, threadAcquisitionSuiveur, threadAsservissementSuiveur,threadProtectionVent, et timer.
{// met fin aux threadsacquisitionRegulateur->finir();threadAcquisitionRegulateur->quit();acquisitionSuiveur->finir();threadAcquisitionSuiveur->quit();asservissementSuiveur->finir();threadAsservissementSuiveur->quit();acquisitionMeteo->finir();threadAcquisitionMeteo->quit();protectionVent->finir();threadProtectionVent->quit();
// attend la fin des threadsthreadAcquisitionRegulateur->wait();threadAcquisitionSuiveur->wait();threadAsservissementSuiveur->wait();threadAcquisitionMeteo->wait();threadProtectionVent->wait();
delete threadAcquisitionRegulateur;delete threadAcquisitionSuiveur;delete threadAsservissementSuiveur;delete threadAcquisitionMeteo;delete threadProtectionVent;
delete acquisitionRegulateur;
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.14 Référence de la classe IhmTournesol 81
delete acquisitionSuiveur;delete asservissementSuiveur;delete acquisitionMeteo;delete protectionVent;
timer->stop();
delete ihm;}
10.14.3 Documentation des fonctions membres
10.14.3.1 IhmTournesol : :activerProtectionVent ( bool etat ) [slot]
Références nouvelEtatProtectionVent().
Référencé par IhmTournesol().
{emit nouvelEtatProtectionVent(etat);
}
10.14.3.2 IhmTournesol : :afficherAlarmeRegulateur ( AlarmesRegulateur alarmesRegulateur ) [slot]
ParametresalarmesRegulateur
Références AlarmesRegulateur : :alarmeChargeComplete, AlarmesRegulateur : :alarmeDebranchementBatterie, Alarmes-Regulateur : :alarmeSurchauffeCharge, AlarmesRegulateur : :alarmeSurchauffePv, AlarmesRegulateur : :alarmeSurtension-Charge, AlarmesRegulateur : :alarmeSurtensionPv, AlarmesRegulateur : :alarmeSurvoltageBatterie, ihm, et AlarmesRegulateur-: :trameRecu.
Référencé par IhmTournesol().
{int nbAlarme = 0;
if(alarmesRegulateur.alarmeDebranchementBatterie == true){
ihm->AlarmeBatterieDebrancher->setPixmap(QPixmap(QString::fromUtf8(":/images/images/alarme.png")));nbAlarme = nbAlarme + 1;
}else ihm->AlarmeBatterieDebrancher->setPixmap(QPixmap(QString::fromUtf8("
:/images/images/normal.png")));
if(alarmesRegulateur.alarmeChargeComplete == true)//b1{
ihm->AlarmeBatterieCharger->setPixmap(QPixmap(QString::fromUtf8(":/images/images/alarme.png")));nbAlarme = nbAlarme + 1;
}else
ihm->AlarmeBatterieCharger->setPixmap(QPixmap(QString::fromUtf8(":/images/images/normal.png")));
if(alarmesRegulateur.alarmeSurtensionPv == true)//b2{
ihm->AlarmeSurtensionPV->setPixmap(QPixmap(QString::fromUtf8(":/images/images/alarme.png")));nbAlarme = nbAlarme + 1;
}else ihm->AlarmeSurtensionPV->setPixmap(QPixmap(QString::fromUtf8("
:/images/images/normal.png")));
if(alarmesRegulateur.alarmeSurtensionCharge == true)//b3{
ihm->AlarmeSurtensionCharge->setPixmap(QPixmap(QString::fromUtf8(":/images/images/alarme.png")));nbAlarme = nbAlarme + 1;
}else ihm->AlarmeSurtensionCharge->setPixmap(QPixmap(QString::fromUtf8("
:/images/images/normal.png")));
if(alarmesRegulateur.alarmeSurvoltageBatterie == true)//b4{
ihm->AlarmeSurvoltageBatterie->setPixmap(QPixmap(QString::fromUtf8(":/images/images/alarme.png")));nbAlarme = nbAlarme + 1;
}
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.14 Référence de la classe IhmTournesol 82
else ihm->AlarmeSurvoltageBatterie->setPixmap(QPixmap(QString::fromUtf8(":/images/images/normal.png")));
if(alarmesRegulateur.alarmeSurchauffePv == true)//b5{
ihm->AlarmeSurchauffePV->setPixmap(QPixmap(QString::fromUtf8(":/images/images/alarme.png")));nbAlarme = nbAlarme + 1;
}else ihm->AlarmeSurchauffePV->setPixmap(QPixmap(QString::fromUtf8("
:/images/images/normal.png")));
if(alarmesRegulateur.alarmeSurchauffeCharge == true)//b6{
ihm->AlarmeSurchauffeCharge->setPixmap(QPixmap(QString::fromUtf8(":/images/images/alarme.png")));nbAlarme = nbAlarme + 1;
}else ihm->AlarmeSurchauffeCharge->setPixmap(QPixmap(QString::fromUtf8("
:/images/images/normal.jpeg")));
if(nbAlarme >= 1){
ihm->AlarmeNotification->setPixmap(QPixmap(QString::fromUtf8(":/images/images/alarme.png")));
}else ihm->AlarmeNotification->setPixmap(QPixmap(QString::fromUtf8(":/images/images/normal.png")));
if(alarmesRegulateur.trameRecu == false){
ihm->regulateruOK->setPixmap(QPixmap(QString::fromUtf8(":/images/images/voyant_rouge.png")));
}else ihm->regulateruOK->setPixmap(QPixmap(QString::fromUtf8(":/images/images/voyant_vert.png")));
}
10.14.3.3 IhmTournesol : :afficherBuzzer ( JournalisationRegulateur journalisationRegulateur ) [slot]
Parametres
Références JournalisationRegulateur : :BuzzerEtat, et ihm.
Référencé par IhmTournesol().
{if(journalisationRegulateur.BuzzerEtat == true){
ihm->BuzzerOnOff->setIcon(QIcon(QString::fromUtf8(":/images/images/bouton-mute-true.png")));
}else ihm->BuzzerOnOff->setIcon(QIcon(QString::fromUtf8(":/images/images/bouton-mute.png")));
}
10.14.3.4 IhmTournesol : :afficherCadenas ( JournalisationRegulateur journalisationRegulateur ) [slot]
Parametres
Références ihm, et JournalisationRegulateur : :modeLock.
Référencé par IhmTournesol().
{if(journalisationRegulateur.modeLock == true){
ihm->LockUnlock->setIcon(QIcon(QString::fromUtf8(":/images/images/bouton-cadenas.jpeg")));
}else ihm->LockUnlock->setIcon(QIcon(QString::fromUtf8(":/images/images/unlock_icon.jpg")));
}
10.14.3.5 IhmTournesol : :afficherDateHeure ( ) [slot]
Références ihm.
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.14 Référence de la classe IhmTournesol 83
Référencé par IhmTournesol().
{QDateTime maintenant = QDateTime::currentDateTime();ihm->labelDate->setText(maintenant.toString("dd/MM/yyyy"));ihm->labelHeure->setText(maintenant.toString("hh:mm:ss"));
}
10.14.3.6 IhmTournesol : :afficherEtatsLDR ( int etatLDR1, int etatLDR2, int etatLDR3, int etatLDR4 ) [slot]
ParametresetatLDR1etatLDR2etatLDR3etatLDR4
Références ihm.
Référencé par IhmTournesol().
{if(etatLDR1 == true){
ihm->SoleilEst->setPixmap(QPixmap(QString::fromUtf8(":/images/images/soleil.png")));ihm->SoleilNordEst->setPixmap(QPixmap(QString::fromUtf8("
:/images/images/normal.png")));ihm->SoleilSud->setPixmap(QPixmap(QString::fromUtf8("
:/images/images/normal.png")));ihm->SoleilNord->setPixmap(QPixmap(QString::fromUtf8("
:/images/images/normal.png")));ihm->SoleilNordOuest->setPixmap(QPixmap(QString::fromUtf8("
:/images/images/normal.png")));ihm->SoleilSudEst->setPixmap(QPixmap(QString::fromUtf8("
:/images/images/normal.png")));ihm->SoleilSudOuest->setPixmap(QPixmap(QString::fromUtf8("
:/images/images/normal.png")));ihm->SoleilOuest->setPixmap(QPixmap(QString::fromUtf8("
:/images/images/normal.png")));
ihm->LDR1Allumee->setPixmap(QPixmap(QString::fromUtf8(":/images/images/pointVert.png")));
}else{
ihm->SoleilEst->setPixmap(QPixmap(QString::fromUtf8(":/images/images/normal.png")));
ihm->LDR1Allumee->setPixmap(QPixmap(QString::fromUtf8(":/images/images/normal.png")));
}
if(etatLDR2 == true){
ihm->SoleilNord->setPixmap(QPixmap(QString::fromUtf8(":/images/images/soleil.png")));
ihm->SoleilNordEst->setPixmap(QPixmap(QString::fromUtf8(":/images/images/normal.png")));
ihm->SoleilSud->setPixmap(QPixmap(QString::fromUtf8(":/images/images/normal.png")));
ihm->SoleilEst->setPixmap(QPixmap(QString::fromUtf8(":/images/images/normal.png")));
ihm->SoleilNordOuest->setPixmap(QPixmap(QString::fromUtf8(":/images/images/normal.png")));
ihm->SoleilSudEst->setPixmap(QPixmap(QString::fromUtf8(":/images/images/normal.png")));
ihm->SoleilSudOuest->setPixmap(QPixmap(QString::fromUtf8(":/images/images/normal.png")));
ihm->SoleilOuest->setPixmap(QPixmap(QString::fromUtf8(":/images/images/normal.png")));
ihm->LDR2Allumee->setPixmap(QPixmap(QString::fromUtf8(":/images/images/pointVert.png")));
}else{
ihm->SoleilNord->setPixmap(QPixmap(QString::fromUtf8(":/images/images/normal.png")));ihm->LDR2Allumee->setPixmap(QPixmap(QString::fromUtf8("
:/images/images/normal.png")));}
if(etatLDR3 == true)
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.14 Référence de la classe IhmTournesol 84
{ihm->SoleilOuest->setPixmap(QPixmap(QString::fromUtf8("
:/images/images/soleil.png")));ihm->SoleilNordEst->setPixmap(QPixmap(QString::fromUtf8("
:/images/images/normal.png")));ihm->SoleilSud->setPixmap(QPixmap(QString::fromUtf8("
:/images/images/normal.png")));ihm->SoleilEst->setPixmap(QPixmap(QString::fromUtf8("
:/images/images/normal.png")));ihm->SoleilNord->setPixmap(QPixmap(QString::fromUtf8("
:/images/images/normal.png")));ihm->SoleilNordOuest->setPixmap(QPixmap(QString::fromUtf8("
:/images/images/normal.png")));ihm->SoleilSudEst->setPixmap(QPixmap(QString::fromUtf8("
:/images/images/normal.png")));ihm->SoleilSudOuest->setPixmap(QPixmap(QString::fromUtf8("
:/images/images/normal.png")));
ihm->LDR3Allumee->setPixmap(QPixmap(QString::fromUtf8(":/images/images/pointVert.png")));
}else{
ihm->SoleilOuest->setPixmap(QPixmap(QString::fromUtf8(":/images/images/normal.png")));ihm->LDR3Allumee->setPixmap(QPixmap(QString::fromUtf8("
:/images/images/normal.png")));}
if(etatLDR4 == true){
ihm->SoleilSud->setPixmap(QPixmap(QString::fromUtf8(":/images/images/soleil.png")));
ihm->SoleilNordEst->setPixmap(QPixmap(QString::fromUtf8(":/images/images/normal.png")));
ihm->SoleilEst->setPixmap(QPixmap(QString::fromUtf8(":/images/images/normal.png")));
ihm->SoleilNord->setPixmap(QPixmap(QString::fromUtf8(":/images/images/normal.png")));
ihm->SoleilNordOuest->setPixmap(QPixmap(QString::fromUtf8(":/images/images/normal.png")));
ihm->SoleilSudEst->setPixmap(QPixmap(QString::fromUtf8(":/images/images/normal.png")));
ihm->SoleilSudOuest->setPixmap(QPixmap(QString::fromUtf8(":/images/images/normal.png")));
ihm->SoleilOuest->setPixmap(QPixmap(QString::fromUtf8(":/images/images/normal.png")));
ihm->LDR4Allumee->setPixmap(QPixmap(QString::fromUtf8(":/images/images/pointVert.png")));
}else{
ihm->SoleilSud->setPixmap(QPixmap(QString::fromUtf8(":/images/images/normal.png")));ihm->LDR4Allumee->setPixmap(QPixmap(QString::fromUtf8("
:/images/images/normal.png")));}
if(etatLDR1 == true && etatLDR2 == true){
ihm->SoleilNordEst->setPixmap(QPixmap(QString::fromUtf8(":/images/images/soleil.png")));
ihm->SoleilSud->setPixmap(QPixmap(QString::fromUtf8(":/images/images/normal.png")));
ihm->SoleilEst->setPixmap(QPixmap(QString::fromUtf8(":/images/images/normal.png")));
ihm->SoleilNord->setPixmap(QPixmap(QString::fromUtf8(":/images/images/normal.png")));
ihm->SoleilNordOuest->setPixmap(QPixmap(QString::fromUtf8(":/images/images/normal.png")));
ihm->SoleilSudEst->setPixmap(QPixmap(QString::fromUtf8(":/images/images/normal.png")));
ihm->SoleilSudOuest->setPixmap(QPixmap(QString::fromUtf8(":/images/images/normal.png")));
ihm->SoleilOuest->setPixmap(QPixmap(QString::fromUtf8(":/images/images/normal.png")));
}else{
ihm->SoleilNordEst->setPixmap(QPixmap(QString::fromUtf8(":/images/images/normal.png")));
}
if(etatLDR1 == true && etatLDR4 == true){
ihm->SoleilSudEst->setPixmap(QPixmap(QString::fromUtf8(":/images/images/soleil.png")));
ihm->SoleilNordEst->setPixmap(QPixmap(QString::fromUtf8(":/images/images/normal.png")));
ihm->SoleilSud->setPixmap(QPixmap(QString::fromUtf8("
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.14 Référence de la classe IhmTournesol 85
:/images/images/normal.png")));ihm->SoleilEst->setPixmap(QPixmap(QString::fromUtf8("
:/images/images/normal.png")));ihm->SoleilNord->setPixmap(QPixmap(QString::fromUtf8("
:/images/images/normal.png")));ihm->SoleilNordOuest->setPixmap(QPixmap(QString::fromUtf8("
:/images/images/normal.png")));ihm->SoleilSudOuest->setPixmap(QPixmap(QString::fromUtf8("
:/images/images/normal.png")));ihm->SoleilOuest->setPixmap(QPixmap(QString::fromUtf8("
:/images/images/normal.png")));}else{
ihm->SoleilSudEst->setPixmap(QPixmap(QString::fromUtf8(":/images/images/normal.png")));
}
if(etatLDR2 == true && etatLDR3 == true){
ihm->SoleilNordOuest->setPixmap(QPixmap(QString::fromUtf8(":/images/images/soleil.png")));
ihm->SoleilNordEst->setPixmap(QPixmap(QString::fromUtf8(":/images/images/normal.png")));
ihm->SoleilSud->setPixmap(QPixmap(QString::fromUtf8(":/images/images/normal.png")));
ihm->SoleilEst->setPixmap(QPixmap(QString::fromUtf8(":/images/images/normal.png")));
ihm->SoleilNord->setPixmap(QPixmap(QString::fromUtf8(":/images/images/normal.png")));
ihm->SoleilSudEst->setPixmap(QPixmap(QString::fromUtf8(":/images/images/normal.png")));
ihm->SoleilSudOuest->setPixmap(QPixmap(QString::fromUtf8(":/images/images/normal.png")));
ihm->SoleilOuest->setPixmap(QPixmap(QString::fromUtf8(":/images/images/normal.png")));
}else{
ihm->SoleilNordOuest->setPixmap(QPixmap(QString::fromUtf8(":/images/images/normal.png")));
}
if(etatLDR4 == true && etatLDR3 == true){
ihm->SoleilSudOuest->setPixmap(QPixmap(QString::fromUtf8(":/images/images/soleil.png")));
ihm->SoleilNordEst->setPixmap(QPixmap(QString::fromUtf8(":/images/images/normal.png")));
ihm->SoleilSud->setPixmap(QPixmap(QString::fromUtf8(":/images/images/normal.png")));
ihm->SoleilEst->setPixmap(QPixmap(QString::fromUtf8(":/images/images/normal.png")));
ihm->SoleilNord->setPixmap(QPixmap(QString::fromUtf8(":/images/images/normal.png")));
ihm->SoleilNordOuest->setPixmap(QPixmap(QString::fromUtf8(":/images/images/normal.png")));
ihm->SoleilSudEst->setPixmap(QPixmap(QString::fromUtf8(":/images/images/normal.png")));
ihm->SoleilOuest->setPixmap(QPixmap(QString::fromUtf8(":/images/images/normal.png")));
}else{
ihm->SoleilSudOuest->setPixmap(QPixmap(QString::fromUtf8(":/images/images/normal.png")));
}
if(etatLDR4 == true && etatLDR3 == true && etatLDR2 == true){
ihm->SoleilSudOuest->setPixmap(QPixmap(QString::fromUtf8(":/images/images/normal.png")));
ihm->SoleilNordEst->setPixmap(QPixmap(QString::fromUtf8(":/images/images/normal.png")));
ihm->SoleilSud->setPixmap(QPixmap(QString::fromUtf8(":/images/images/normal.png")));
ihm->SoleilEst->setPixmap(QPixmap(QString::fromUtf8(":/images/images/normal.png")));
ihm->SoleilNord->setPixmap(QPixmap(QString::fromUtf8(":/images/images/normal.png")));
ihm->SoleilNordOuest->setPixmap(QPixmap(QString::fromUtf8(":/images/images/normal.png")));
ihm->SoleilSudEst->setPixmap(QPixmap(QString::fromUtf8(":/images/images/normal.png")));
ihm->SoleilOuest->setPixmap(QPixmap(QString::fromUtf8(":/images/images/soleil.png")));
}else{
ihm->SoleilOuest->setPixmap(QPixmap(QString::fromUtf8(":/images/images/normal.png")));
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.14 Référence de la classe IhmTournesol 86
}
if(etatLDR1 == true && etatLDR2 == true && etatLDR3 == true){
ihm->SoleilSudOuest->setPixmap(QPixmap(QString::fromUtf8(":/images/images/normal.png")));
ihm->SoleilNordEst->setPixmap(QPixmap(QString::fromUtf8(":/images/images/normal.png")));
ihm->SoleilSud->setPixmap(QPixmap(QString::fromUtf8(":/images/images/normal.png")));
ihm->SoleilEst->setPixmap(QPixmap(QString::fromUtf8(":/images/images/normal.png")));
ihm->SoleilNord->setPixmap(QPixmap(QString::fromUtf8(":/images/images/soleil.png")));
ihm->SoleilNordOuest->setPixmap(QPixmap(QString::fromUtf8(":/images/images/normal.png")));
ihm->SoleilSudEst->setPixmap(QPixmap(QString::fromUtf8(":/images/images/normal.png")));
ihm->SoleilOuest->setPixmap(QPixmap(QString::fromUtf8(":/images/images/normal.png")));
}else{
ihm->SoleilNord->setPixmap(QPixmap(QString::fromUtf8(":/images/images/normal.png")));
}
if(etatLDR1 == true && etatLDR2 == true && etatLDR4 == true){
ihm->SoleilSudOuest->setPixmap(QPixmap(QString::fromUtf8(":/images/images/normal.png")));
ihm->SoleilNordEst->setPixmap(QPixmap(QString::fromUtf8(":/images/images/normal.png")));
ihm->SoleilSud->setPixmap(QPixmap(QString::fromUtf8(":/images/images/normal.png")));
ihm->SoleilEst->setPixmap(QPixmap(QString::fromUtf8(":/images/images/soleil.png")));
ihm->SoleilNord->setPixmap(QPixmap(QString::fromUtf8(":/images/images/normal.png")));
ihm->SoleilNordOuest->setPixmap(QPixmap(QString::fromUtf8(":/images/images/normal.png")));
ihm->SoleilSudEst->setPixmap(QPixmap(QString::fromUtf8(":/images/images/normal.png")));
ihm->SoleilOuest->setPixmap(QPixmap(QString::fromUtf8(":/images/images/normal.png")));
}else{
ihm->SoleilEst->setPixmap(QPixmap(QString::fromUtf8(":/images/images/normal.png")));
}
if(etatLDR1 == true && etatLDR3 == true && etatLDR4 == true){
ihm->SoleilSudOuest->setPixmap(QPixmap(QString::fromUtf8(":/images/images/normal.png")));
ihm->SoleilNordEst->setPixmap(QPixmap(QString::fromUtf8(":/images/images/normal.png")));
ihm->SoleilSud->setPixmap(QPixmap(QString::fromUtf8(":/images/images/soleil.png")));
ihm->SoleilEst->setPixmap(QPixmap(QString::fromUtf8(":/images/images/normal.png")));
ihm->SoleilNord->setPixmap(QPixmap(QString::fromUtf8(":/images/images/normal.png")));
ihm->SoleilNordOuest->setPixmap(QPixmap(QString::fromUtf8(":/images/images/normal.png")));
ihm->SoleilSudEst->setPixmap(QPixmap(QString::fromUtf8(":/images/images/normal.png")));
ihm->SoleilOuest->setPixmap(QPixmap(QString::fromUtf8(":/images/images/normal.png")));
}else{
ihm->SoleilSud->setPixmap(QPixmap(QString::fromUtf8(":/images/images/normal.png")));
}
if(etatLDR1 == true && etatLDR2 == true && etatLDR3 == true && etatLDR4 ==true)
{ihm->SoleilSudOuest->setPixmap(QPixmap(QString::fromUtf8("
:/images/images/normal.png")));ihm->SoleilNordEst->setPixmap(QPixmap(QString::fromUtf8("
:/images/images/normal.png")));ihm->SoleilSud->setPixmap(QPixmap(QString::fromUtf8("
:/images/images/normal.png")));ihm->SoleilEst->setPixmap(QPixmap(QString::fromUtf8("
:/images/images/normal.png")));ihm->SoleilNord->setPixmap(QPixmap(QString::fromUtf8("
:/images/images/normal.png")));ihm->SoleilNordOuest->setPixmap(QPixmap(QString::fromUtf8("
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.14 Référence de la classe IhmTournesol 87
:/images/images/normal.png")));ihm->SoleilSudEst->setPixmap(QPixmap(QString::fromUtf8("
:/images/images/normal.png")));ihm->SoleilOuest->setPixmap(QPixmap(QString::fromUtf8("
:/images/images/normal.png")));ihm->Soleilcentre->setPixmap(QPixmap(QString::fromUtf8("
:/images/images/soleil.png")));}else{
ihm->Soleilcentre->setPixmap(QPixmap(QString::fromUtf8(":/images/images/normal.png")));
}}
10.14.3.7 IhmTournesol : :afficherEtatSuiveur ( bool etat ) [slot]
Parametresetat
Références ihm.
Référencé par IhmTournesol().
{if(etat){
ihm->suiveurOK->setPixmap(QPixmap(QString::fromUtf8(":/images/images/voyant_vert.png")));
}else{
ihm->suiveurOK->setPixmap(QPixmap(QString::fromUtf8(":/images/images/voyant_rouge.png")));
}}
10.14.3.8 IhmTournesol : :afficherInformationsRegulateur ( InformationsRegulateur informationsRegulateur ) [slot]
Parametresinformations-
Regulateur
Références InformationsRegulateur : :courantCharge, InformationsRegulateur : :courantPhotovoltaique, ihm, Informations-Regulateur : :modeChargeBatterie, InformationsRegulateur : :niveauCharge, InformationsRegulateur : :surplusEnergie, -InformationsRegulateur : :temperature, et InformationsRegulateur : :tensionBatterie.
Référencé par IhmTournesol().
{ihm->lcdTensionBatterie->display(informationsRegulateur.tensionBatterie);//ok
ihm->lcdNiveauCharge ->display(informationsRegulateur.niveauCharge);//okihm->lcdSurplus->display(informationsRegulateur.surplusEnergie);//okihm->lcdCourantCharge->display(informationsRegulateur.courantCharge);//okihm->lcdCourantPV->display(informationsRegulateur.courantPhotovoltaique);//ok
ihm->TensionBatteriesThermometre->setValue(informationsRegulateur.tensionBatterie);
ihm->ChargeBatteriesThermometre->setValue(informationsRegulateur.niveauCharge);
ihm->TemperatureBatteriesThermometre->setValue(informationsRegulateur.temperature);
ihm->ModeChargeBat->setText(informationsRegulateur.modeChargeBatterie);
//...}
10.14.3.9 IhmTournesol : :afficherInformationsStationMeteo ( InformationsStationMeteo informationsStationMeteo )[slot]
Parametresinformations-StationMeteo
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.14 Référence de la classe IhmTournesol 88
Références InformationsStationMeteo : :directionVent, ihm, InformationsStationMeteo : :luminosite, InformationsStationMeteo-: :temperature, Mesure : :valeur, InformationsStationMeteo : :valide, et InformationsStationMeteo : :vitesseVent.
Référencé par IhmTournesol().
{ihm->qwtThermometre->setValue(informationsStationMeteo.temperature.valeur);ihm->qwtDirectionVent->setValue(informationsStationMeteo.directionVent.valeur);
ihm->qwtVitesseVent->setValue(informationsStationMeteo.vitesseVent.valeur);ihm->lcdLuminosite->display(informationsStationMeteo.luminosite.valeur);
if (informationsStationMeteo.valide == true){
ihm->meteoOK->setPixmap(QPixmap(QString::fromUtf8(":/images/images/voyant_vert.png")));
}else{
ihm->meteoOK->setPixmap(QPixmap(QString::fromUtf8(":/images/images/normal.png")));
}
if (informationsStationMeteo.luminosite.valeur >= 0 &&informationsStationMeteo.luminosite.valeur < 0.001)
{// nuit avec ciel sans luneihm->correspondance_luminosite->setText("Nuit avec ciel sans lune");
}if (informationsStationMeteo.luminosite.valeur >= 0.001 &&
informationsStationMeteo.luminosite.valeur < 0.5){
// nuit de pleine luneihm->correspondance_luminosite->setText("Nuit de pleine lune");
}if (informationsStationMeteo.luminosite.valeur >= 0.5 &&
informationsStationMeteo.luminosite.valeur < 40){
// entierement couvertihm->correspondance_luminosite->setText("Entierement couvert");
}if (informationsStationMeteo.luminosite.valeur >= 40 &&
informationsStationMeteo.luminosite.valeur < 200){
// ciel tres nuageuxihm->correspondance_luminosite->setText("Ciel tres nuageux");
}if (informationsStationMeteo.luminosite.valeur >= 200 &&
informationsStationMeteo.luminosite.valeur < 400){
// aube ou crepuscule par temps clairihm->correspondance_luminosite->setText("Aaube ou crepuscule par tempsclair");
}if (informationsStationMeteo.luminosite.valeur >= 400 &&
informationsStationMeteo.luminosite.valeur < 5000){
// ciel nuageuxihm->correspondance_luminosite->setText("Ciel nuageux");
}if (informationsStationMeteo.luminosite.valeur >= 5000 &&
informationsStationMeteo.luminosite.valeur < 65000){
// ciel bleuihm->correspondance_luminosite->setText("Ciel bleu");
}}
10.14.3.10 IhmTournesol : :afficherInformationsSuiveur ( InformationsSuiveur informationsSuiveur ) [slot]
Parametresinformations-
Suiveur
A faire afficher positionHoraireA, aDestination, iMoteurA, positionElevationB, bDestination, iMotorB, automatique
Références InformationsSuiveur : :angleElevationB, InformationsSuiveur : :angleHoraireA, InformationsSuiveur : :destinationA,InformationsSuiveur : :destinationB, InformationsSuiveur : :erreurs, ihm, InformationsSuiveur : :latitude, InformationsSuiveur : :lon-gitude, InformationsSuiveur : :orientationLatitude, InformationsSuiveur : :orientationLongitude, InformationsSuiveur : :position-ElevationB, et InformationsSuiveur : :positionHoraireA.
Référencé par IhmTournesol().
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.14 Référence de la classe IhmTournesol 89
{/*QString heure = QString::number(informationsSuiveur.heure) + ":" +
QString::number(informationsSuiveur.minute) + ":" +QString::number(informationsSuiveur.seconde);
ihm->labelHeure->setText(heure);QString date = QString::number(informationsSuiveur.jour) + "/" +
QString::number(informationsSuiveur.mois);ihm->labelDate->setText(date);*/
ihm->lcdAzimut->display(informationsSuiveur.angleHoraireA);ihm->lcdElevation->display(informationsSuiveur.angleElevationB);ihm->lcdPositionA->display(informationsSuiveur.positionHoraireA);ihm->lcdPositionB->display(informationsSuiveur.positionElevationB);ihm->lcdDestinationA->display(informationsSuiveur.destinationA);ihm->lcdDestinationB->display(informationsSuiveur.destinationB);ihm->lcdLatitude->display(informationsSuiveur.latitude);ihm->latOrientation->setText(QChar(informationsSuiveur.orientationLatitude)
);ihm->lcdLongitude->display(informationsSuiveur.longitude);ihm->longOrientation->setText(QChar(informationsSuiveur.orientationLongitude));
ihm->labelAzimutAccueil->setNum(informationsSuiveur.angleHoraireA);ihm->labelElevationAccueil->setNum(informationsSuiveur.angleElevationB);ihm->labelLatitudeAccueil->setNum(informationsSuiveur.latitude); //informationsSuiveur.orientationLatitude
ihm->labelLongitudeAccueil->setNum(informationsSuiveur.longitude); //informationsSuiveur.orientationLongitude
if(informationsSuiveur.erreurs > 0){
ihm->erreursSuiveur->setPixmap(QPixmap(QString::fromUtf8(":/images/images/alarme.png")));
}else ihm->erreursSuiveur->setPixmap(QPixmap(QString::fromUtf8(":/images/images/normal.png")));
/*if(ihm->modeProgramme->isChecked()){
ihm->modeDetection->isChecked() = false;}if(ihm->modeDetection->isChecked()){
ihm->modeProgramme->isChecked() = false;}
*/}
10.14.3.11 IhmTournesol : :afficherJournalisationRegulateur ( JournalisationRegulateur journalisationRegulateur ) [slot]
Parametresjournalisation-
Regulateur
Références JournalisationRegulateur : :ampereHeurePvConsomme, JournalisationRegulateur : :ampereHeurePVExcedant,JournalisationRegulateur : :chargeAmpaireHeure, ihm, JournalisationRegulateur : :nbSemaines, JournalisationRegulateur-: :niveauChargeMatin, et JournalisationRegulateur : :niveauChargeSoir.
Référencé par IhmTournesol().
{ihm->lcdChargeMatin->display(journalisationRegulateur.niveauChargeMatin);//ok
ihm->lcdChargeSoir->display(journalisationRegulateur.niveauChargeSoir);//okihm->lcdexcedants->display(journalisationRegulateur.ampereHeurePvConsomme);ihm->lcdPanneaux->display(journalisationRegulateur.ampereHeurePVExcedant);ihm->lcdCourantChargeAH->display(journalisationRegulateur.chargeAmpaireHeure);
ihm->NBSemaines->setText(journalisationRegulateur.nbSemaines);//ihm->listeDeroulanteTypeBattery->addItem();
}
10.14.3.12 IhmTournesol : :afficherModeCharge ( JournalisationRegulateur journalisationRegulateur ) [slot]
Parametres
Références ihm, et JournalisationRegulateur : :mode.
Référencé par IhmTournesol().
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.14 Référence de la classe IhmTournesol 90
{ihm->ModeChargeListe->setCurrentIndex(journalisationRegulateur.mode);
}
10.14.3.13 IhmTournesol : :afficherModeNuit ( JournalisationRegulateur journalisationRegulateur ) [slot]
Parametres
Références ihm, et JournalisationRegulateur : :modenuit.
Référencé par IhmTournesol().
{if(journalisationRegulateur.modenuit == 0){
ihm->BoutonModeNuit->setIcon(QIcon(QString::fromUtf8(":/images/images/bouton-ampoule_barrer.png")));
}else ihm->BoutonModeNuit->setIcon(QIcon(QString::fromUtf8(":/images/images/bouton-ampoule.png")));
}
10.14.3.14 IhmTournesol : :afficherTypeBatteries ( JournalisationRegulateur journalisationRegulateur ) [slot]
Parametres
Références ihm, et JournalisationRegulateur : :typeBatterie.
Référencé par IhmTournesol().
{ihm->listeDeroulanteTypeBattery->setCurrentIndex(journalisationRegulateur.typeBatterie);
}
10.14.3.15 void IhmTournesol : :alerterProtectionVent ( bool protectionActivee ) [slot]
Références ihm.
Référencé par IhmTournesol().
{if (protectionActivee){
ihm->alerteProtection->setPixmap(QPixmap(QString::fromUtf8(":/images/images/alarme.png")));
}else{
ihm->alerteProtection->setPixmap(QPixmap(QString::fromUtf8(":/images/images/normal.png")));
}}
10.14.3.16 void IhmTournesol : :deplacer ( double angleHoraire, double angleElevation ) [signal]
10.14.3.17 IhmTournesol : :deplacer ( ) [slot]
ParametresangleHoraire
angleElevation
Références ihm.
Référencé par deplacerPositionMaintenance(), deplacerPositionPluie(), deplacerPositionVent(), et IhmTournesol().
{//deplacerAzimut();//deplacerElevation();
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.14 Référence de la classe IhmTournesol 91
emit deplacer(ihm->spinBoxAzimut->value(), ihm->spinBoxElevation->value());}
10.14.3.18 void IhmTournesol : :deplacerAngleAzimut ( double ) [signal]
Référencé par deplacerAzimut(), et IhmTournesol().
10.14.3.19 void IhmTournesol : :deplacerAngleElevation ( double ) [signal]
Référencé par deplacerElevation(), et IhmTournesol().
10.14.3.20 IhmTournesol : :deplacerAzimut ( ) [slot]
Parametres
Références deplacerAngleAzimut(), et ihm.
{emit deplacerAngleAzimut(ihm->spinBoxAzimut->value());
}
10.14.3.21 IhmTournesol : :deplacerElevation ( ) [slot]
Parametres
Références deplacerAngleElevation(), et ihm.
{emit deplacerAngleElevation(ihm->spinBoxElevation->value());
}
10.14.3.22 IhmTournesol : :deplacerPositionMaintenance ( ) [slot]
Parametres
A faire lire les positions dans la BDD
Références deplacer().
Référencé par IhmTournesol().
{emit deplacer(0., 16.);
}
10.14.3.23 IhmTournesol : :deplacerPositionPluie ( ) [slot]
Parametres
A faire lire les positions dans la BDD
Références deplacer().
Référencé par IhmTournesol().
{emit deplacer(0., 60.);
}
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.14 Référence de la classe IhmTournesol 92
10.14.3.24 IhmTournesol : :deplacerPositionVent ( ) [slot]
Parametres
A faire lire les positions dans la BDD
Références deplacer().
Référencé par IhmTournesol().
{emit deplacer(0., 90.);
}
10.14.3.25 void IhmTournesol : :editerFrequenceProtectionVent ( int frequence ) [signal]
10.14.3.26 IhmTournesol : :editerFrequenceProtectionVent ( ) [slot]
Parametresfrequence
Références ihm.
Référencé par IhmTournesol().
{emit editerFrequenceProtectionVent(ihm->frequence->value());
}
10.14.3.27 void IhmTournesol : :editerVitesseMaxProtectionVent ( double vitesse ) [signal]
10.14.3.28 IhmTournesol : :editerVitesseMaxProtectionVent ( ) [slot]
Références ihm.
Référencé par IhmTournesol().
{emit editerVitesseMaxProtectionVent(ihm->vitesse->value());
}
10.14.3.29 void IhmTournesol : :etatModeProgramme ( bool modeAuto ) [signal]
Référencé par verfierEtatMode().
10.14.3.30 IhmTournesol : :initialiserModesDeCharges ( ) [private]
Références ihm.
Référencé par IhmTournesol().
{ihm->ModeChargeListe->addItem("Mode 1");// index 0ihm->ModeChargeListe->addItem("Mode 2");// index 1ihm->ModeChargeListe->addItem("Mode 3");// index 2ihm->ModeChargeListe->addItem("Mode 4");// index 3ihm->ModeChargeListe->addItem("Mode 5");// index 4
}
10.14.3.31 IhmTournesol : :initialiserQwt ( ) [private]
Références ihm.
Référencé par IhmTournesol().
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.14 Référence de la classe IhmTournesol 93
{// A terminer ...
// Compasihm->qwtDirectionVent->setLineWidth(4);ihm->qwtDirectionVent->setFrameShadow(QwtCompass::Sunken);//ihm->qwtDirectionVent->setFrameShadow(QwtCompass::Raised);ihm->qwtDirectionVent->setLineWidth(0);
//ihm->qwtDirectionVent->setScaleOptions(QwtDial::ScaleBackbone |QwtDial::ScaleTicks | QwtDial::ScaleLabel);
//ihm->qwtDirectionVent->setScaleTicks(0, 0, 3);
/*QMap<double, QString> map;for ( double d = 0.0; d < 360.0; d += 60.0 ){
QString label;label.sprintf("%.0f", d);map.insert(d, label);
}ihm->qwtDirectionVent->setLabelMap(map);*/
// ou :
QMap<double, QString> map;map.insert(0.0, "N");map.insert(45.0, "NE");map.insert(90.0, "E");map.insert(135.0, "SE");map.insert(180.0, "S");map.insert(225.0, "SO");map.insert(270.0, "O");map.insert(315.0, "NO");ihm->qwtDirectionVent->setLabelMap(map);
ihm->qwtDirectionVent->setNeedle(new QwtDialSimpleNeedle(QwtDialSimpleNeedle::Ray, false, Qt::white));
//ihm->qwtDirectionVent->setOrigin(270.0);ihm->qwtDirectionVent->setValue(0.0);
ihm->qwtDirectionVent->setScaleComponents( QwtAbstractScaleDraw::Backbone |QwtAbstractScaleDraw::Ticks | QwtAbstractScaleDraw::Labels );
ihm->qwtDirectionVent->setScaleTicks(0, 0, 3);ihm->qwtDirectionVent->setScale(0, 0, 5.0);
ihm->qwtDirectionVent->setNeedle(new QwtCompassMagnetNeedle(QwtCompassMagnetNeedle::ThinStyle));
QPalette p1 = ihm->qwtDirectionVent->palette();//QColor(170, 170, 255); color//QColor(231, 219, 46); bacgroundp1.setColor(QPalette::Base, QColor(231, 219, 46));p1.setColor(QPalette::WindowText, QColor(231, 219, 46));p1.setColor(QPalette::WindowText, QColor(224, 225, 255));p1.setColor(QPalette::Text, QColor(170, 170, 255));ihm->qwtDirectionVent->setPalette(p1);
// Thermomètreihm->qwtThermometre->setScale(-20, 40, 10);ihm->qwtThermometre->setMinValue(-20);ihm->qwtThermometre->setMaxValue(40);
// Vitesseihm->qwtVitesseVent->setOrigin(135.0);ihm->qwtVitesseVent->setScaleArc(0.0, 270.0);ihm->qwtVitesseVent->setScale(0, 200, 50);ihm->qwtVitesseVent->scaleDraw()->setSpacing(4);
QwtDialSimpleNeedle *needle = new QwtDialSimpleNeedle(QwtDialSimpleNeedle::Arrow, true, Qt::red, QColor(Qt::gray).light(130));
ihm->qwtVitesseVent->setNeedle(needle);
ihm->qwtVitesseVent->setScaleComponents( QwtAbstractScaleDraw::Ticks |QwtAbstractScaleDraw::Labels );
ihm->qwtVitesseVent->setScaleTicks(0, 0, 4);
QPalette p2 = ihm->qwtVitesseVent->palette();//QColor(170, 170, 255); color//QColor(231, 219, 46); bacgroundp2.setColor(QPalette::Base, QColor(231, 219, 46));p2.setColor(QPalette::WindowText, QColor(231, 219, 46));p2.setColor(QPalette::WindowText, QColor(224, 225, 255));p2.setColor(QPalette::Text, QColor(170, 170, 255));ihm->qwtVitesseVent->setPalette(p2);
}
10.14.3.32 IhmTournesol : :initialiserTypeBatteries ( ) [private]
Références ihm.
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.14 Référence de la classe IhmTournesol 94
Référencé par IhmTournesol().
{ihm->listeDeroulanteTypeBattery->addItem("Batterie type liquide electrolyte"); // index 0
ihm->listeDeroulanteTypeBattery->addItem("Batterie type GEL (VRLA)"); //index 1
}
10.14.3.33 IhmTournesol : :nouvelEtatProtectionVent ( bool etat ) [signal]
Référencé par activerProtectionVent(), et IhmTournesol().
10.14.3.34 IhmTournesol : :verfierEtatMode ( ) [slot]
Références etatModeProgramme(), et ihm.
{bool modeProgramme = ihm->modeProgramme->isChecked();bool modeDetection = ihm->modeDetection->isChecked();if(modeProgramme){
ihm->modeDetection->setChecked(false);emit etatModeProgramme(modeProgramme);
}if(modeDetection){
ihm->modeProgramme->setChecked(false);//emit etatModeDetection(modeDetection); <TODO
}
}
10.14.4 Documentation des donnees membres
10.14.4.1 AcquisitionMeteo∗ IhmTournesol : :acquisitionMeteo [private]
gestion de la station météo
Référencé par IhmTournesol(), et ∼IhmTournesol().
10.14.4.2 AcquisitionRegulateur∗ IhmTournesol : :acquisitionRegulateur [private]
gestion de la communication avec le régulateur Phocos
Référencé par IhmTournesol(), et ∼IhmTournesol().
10.14.4.3 AcquisitionSuiveur∗ IhmTournesol : :acquisitionSuiveur [private]
gestion de la communication avec le système de commande du suiveur solaire
Référencé par IhmTournesol(), et ∼IhmTournesol().
10.14.4.4 AsservissementSuiveur∗ IhmTournesol : :asservissementSuiveur [private]
assure la gestion du suivi solaire à partir du capteur solaire
Référencé par IhmTournesol(), et ∼IhmTournesol().
10.14.4.5 Ui : :IHM∗ IhmTournesol : :ihm [private]
la GUI
Référencé par afficherAlarmeRegulateur(), afficherBuzzer(), afficherCadenas(), afficherDateHeure(), afficherEtatsLDR(), afficher-EtatSuiveur(), afficherInformationsRegulateur(), afficherInformationsStationMeteo(), afficherInformationsSuiveur(), afficher-JournalisationRegulateur(), afficherModeCharge(), afficherModeNuit(), afficherTypeBatteries(), alerterProtectionVent(), depla-cer(), deplacerAzimut(), deplacerElevation(), editerFrequenceProtectionVent(), editerVitesseMaxProtectionVent(), IhmTournesol(),initialiserModesDeCharges(), initialiserQwt(), initialiserTypeBatteries(), verfierEtatMode(), et ∼IhmTournesol().
10.14.4.6 ProtectionVent∗ IhmTournesol : :protectionVent [private]
gestion de la protection contre le vent
Référencé par IhmTournesol(), et ∼IhmTournesol().
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.15 Référence de la structure InformationsRegulateur 95
10.14.4.7 QThread∗ IhmTournesol : :threadAcquisitionMeteo [private]
thread pour la classe AcquisitionMeteo
Référencé par IhmTournesol(), et ∼IhmTournesol().
10.14.4.8 QThread∗ IhmTournesol : :threadAcquisitionRegulateur [private]
thread pour la classe AcquisitionRegulateur
Référencé par IhmTournesol(), et ∼IhmTournesol().
10.14.4.9 QThread∗ IhmTournesol : :threadAcquisitionSuiveur [private]
thread pour la classe AcquisitionSuiveur
Référencé par IhmTournesol(), et ∼IhmTournesol().
10.14.4.10 QThread∗ IhmTournesol : :threadAsservissementSuiveur [private]
thread pour la classe AsservissementSuiveur
Référencé par IhmTournesol(), et ∼IhmTournesol().
10.14.4.11 QThread∗ IhmTournesol : :threadProtectionVent [private]
thread pour la classe ProtectionVent
Référencé par IhmTournesol(), et ∼IhmTournesol().
10.14.4.12 QTimer∗ IhmTournesol : :timer [private]
le timer pour l’horloge
Référencé par IhmTournesol(), et ∼IhmTournesol().
La documentation de cette classe a été générée à partir des fichiers suivants :– ihmTournesol.h– ihmTournesol.cpp
10.15 Reference de la structure InformationsRegulateur
Regroupe les variable contenant les informations relatives a la trame d’Informations.
#include <regulateur.h>
Attributs publics
– double niveauCharge– double tensionBatterie– double surplusEnergie– double courantPhotovoltaique– double courantCharge– double temperature– QString modeChargeBatterie– bool onOff
10.15.1 Documentation des donnees membres
10.15.1.1 double InformationsRegulateur : :courantCharge
Référencé par IhmTournesol : :afficherInformationsRegulateur(), et Regulateur : :decoderTrameInformations().
10.15.1.2 double InformationsRegulateur : :courantPhotovoltaique
TODO
Référencé par IhmTournesol : :afficherInformationsRegulateur(), et Regulateur : :decoderTrameInformations().
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.16 Référence de la structure InformationsStationMeteo 96
10.15.1.3 QString InformationsRegulateur : :modeChargeBatterie
TODO
Référencé par IhmTournesol : :afficherInformationsRegulateur(), et Regulateur : :decoderTrameInformations().
10.15.1.4 double InformationsRegulateur : :niveauCharge
TODO
Référencé par IhmTournesol : :afficherInformationsRegulateur(), et Regulateur : :decoderTrameInformations().
10.15.1.5 bool InformationsRegulateur : :onOff
TODO
Référencé par Regulateur : :decoderTrameInformations().
10.15.1.6 double InformationsRegulateur : :surplusEnergie
TODO
Référencé par IhmTournesol : :afficherInformationsRegulateur(), et Regulateur : :decoderTrameInformations().
10.15.1.7 double InformationsRegulateur : :temperature
TODO
Référencé par IhmTournesol : :afficherInformationsRegulateur(), et Regulateur : :decoderTrameInformations().
10.15.1.8 double InformationsRegulateur : :tensionBatterie
TODO
Référencé par IhmTournesol : :afficherInformationsRegulateur(), et Regulateur : :decoderTrameInformations().
La documentation de cette structure a été générée à partir du fichier suivant :– regulateur.h
10.16 Reference de la structure InformationsStationMeteo
Regroupe les variables contenant les informations relatives à la trame d’information.
#include <stationMeteo.h>
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.16 Référence de la structure InformationsStationMeteo 97
Graphe de collaboration de InformationsStationMeteo :
InformationsStationMeteo
+ vitesseVent+ directionVent+ luminosite+ temperature+ valide
Mesure
+ valeur+ unite+ horodatage+ valide
directionVentluminosite
vitesseVenttemperature
Attributs publics
– Mesure vitesseVent– Mesure directionVent– Mesure luminosite– Mesure temperature– bool valide
10.16.1 Documentation des donnees membres
10.16.1.1 Mesure InformationsStationMeteo : :directionVent
TODO
Référencé par IhmTournesol : :afficherInformationsStationMeteo(), StationMeteo : :enregistrerMesures(), StationMeteo : :lire-Vent(), et StationMeteo : :StationMeteo().
10.16.1.2 Mesure InformationsStationMeteo : :luminosite
TODO
Référencé par IhmTournesol : :afficherInformationsStationMeteo(), StationMeteo : :enregistrerMesures(), StationMeteo : :lire-Luminosite(), StationMeteo : :lireTemperature(), et StationMeteo : :StationMeteo().
10.16.1.3 Mesure InformationsStationMeteo : :temperature
TODO
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.17 Référence de la structure InformationsSuiveur 98
Référencé par IhmTournesol : :afficherInformationsStationMeteo(), StationMeteo : :enregistrerMesures(), StationMeteo : :lire-Temperature(), et StationMeteo : :StationMeteo().
10.16.1.4 bool InformationsStationMeteo : :valide
TODO
Référencé par StationMeteo : :acquerir(), IhmTournesol : :afficherInformationsStationMeteo(), et StationMeteo : :StationMeteo().
10.16.1.5 Mesure InformationsStationMeteo : :vitesseVent
TODO
Référencé par IhmTournesol : :afficherInformationsStationMeteo(), StationMeteo : :enregistrerMesures(), StationMeteo : :lire-Vent(), et StationMeteo : :StationMeteo().
La documentation de cette structure a été générée à partir du fichier suivant :– stationMeteo.h
10.17 Reference de la structure InformationsSuiveur
Regroupe les données envoyées par le suiveur solaire.
#include <suiveurSolaire.h>
Attributs publics
– int heure– int minute– int seconde– int jour– int mois– double angleHoraireA– int positionHoraireA– int destinationA
Pour le diagnostic.– double iMoteurA
Pour le diagnostic.– double angleElevationB
Pour le diagnostic.– int positionElevationB– int destinationB
Pour le diagnostic.– double iMoteurB
Pour le diagnostic.– double latitude
Pour le diagnostic.– char orientationLatitude– double longitude– char orientationLongitude– bool automatique– bool movingOutA– bool movingInA– bool movingOutB– bool movingInB– int erreurs
10.17.1 Documentation des donnees membres
10.17.1.1 double InformationsSuiveur : :angleElevationB
Référencé par IhmTournesol : :afficherInformationsSuiveur(), SuiveurSolaire : :decoderTrame(), SuiveurSolaire : :enregistrer-InformationsBdd(), et SuiveurSolaire : :reinitialiserInformationsSuiveur().
10.17.1.2 double InformationsSuiveur : :angleHoraireA
Référencé par IhmTournesol : :afficherInformationsSuiveur(), SuiveurSolaire : :decoderTrame(), SuiveurSolaire : :enregistrer-InformationsBdd(), et SuiveurSolaire : :reinitialiserInformationsSuiveur().
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.17 Référence de la structure InformationsSuiveur 99
10.17.1.3 bool InformationsSuiveur : :automatique
TODO
Référencé par SuiveurSolaire : :decoderTrame().
10.17.1.4 int InformationsSuiveur : :destinationA
Référencé par IhmTournesol : :afficherInformationsSuiveur(), SuiveurSolaire : :decoderTrame(), et SuiveurSolaire : :reinitialiser-InformationsSuiveur().
10.17.1.5 int InformationsSuiveur : :destinationB
Référencé par IhmTournesol : :afficherInformationsSuiveur(), SuiveurSolaire : :decoderTrame(), et SuiveurSolaire : :reinitialiser-InformationsSuiveur().
10.17.1.6 int InformationsSuiveur : :erreurs
TODO
Référencé par IhmTournesol : :afficherInformationsSuiveur(), SuiveurSolaire : :decoderTrame(), et SuiveurSolaire : :reinitialiser-InformationsSuiveur().
10.17.1.7 int InformationsSuiveur : :heure
Référencé par SuiveurSolaire : :decoderTrame(), SuiveurSolaire : :enregistrerInformationsBdd(), et SuiveurSolaire : :reinitialiser-InformationsSuiveur().
10.17.1.8 double InformationsSuiveur : :iMoteurA
Référencé par SuiveurSolaire : :decoderTrame(), et SuiveurSolaire : :reinitialiserInformationsSuiveur().
10.17.1.9 double InformationsSuiveur : :iMoteurB
Référencé par SuiveurSolaire : :decoderTrame(), et SuiveurSolaire : :reinitialiserInformationsSuiveur().
10.17.1.10 int InformationsSuiveur : :jour
Référencé par SuiveurSolaire : :decoderTrame(), et SuiveurSolaire : :enregistrerInformationsBdd().
10.17.1.11 double InformationsSuiveur : :latitude
Référencé par IhmTournesol : :afficherInformationsSuiveur(), SuiveurSolaire : :decoderTrame(), et SuiveurSolaire : :reinitialiser-InformationsSuiveur().
10.17.1.12 double InformationsSuiveur : :longitude
TODO
Référencé par IhmTournesol : :afficherInformationsSuiveur(), et SuiveurSolaire : :decoderTrame().
10.17.1.13 int InformationsSuiveur : :minute
Référencé par SuiveurSolaire : :decoderTrame(), SuiveurSolaire : :enregistrerInformationsBdd(), et SuiveurSolaire : :reinitialiser-InformationsSuiveur().
10.17.1.14 int InformationsSuiveur : :mois
Référencé par SuiveurSolaire : :decoderTrame(), et SuiveurSolaire : :enregistrerInformationsBdd().
10.17.1.15 bool InformationsSuiveur : :movingInA
TODO
Référencé par SuiveurSolaire : :decoderTrame(), et SuiveurSolaire : :reinitialiserInformationsSuiveur().
10.17.1.16 bool InformationsSuiveur : :movingInB
TODO
Référencé par SuiveurSolaire : :decoderTrame(), et SuiveurSolaire : :reinitialiserInformationsSuiveur().
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.18 Référence de la structure JournalisationRegulateur 100
10.17.1.17 bool InformationsSuiveur : :movingOutA
TODO
Référencé par SuiveurSolaire : :decoderTrame(), et SuiveurSolaire : :reinitialiserInformationsSuiveur().
10.17.1.18 bool InformationsSuiveur : :movingOutB
TODO
Référencé par SuiveurSolaire : :decoderTrame(), et SuiveurSolaire : :reinitialiserInformationsSuiveur().
10.17.1.19 char InformationsSuiveur : :orientationLatitude
Référencé par IhmTournesol : :afficherInformationsSuiveur(), et SuiveurSolaire : :decoderTrame().
10.17.1.20 char InformationsSuiveur : :orientationLongitude
TODO
Référencé par IhmTournesol : :afficherInformationsSuiveur(), et SuiveurSolaire : :decoderTrame().
10.17.1.21 int InformationsSuiveur : :positionElevationB
Référencé par IhmTournesol : :afficherInformationsSuiveur(), SuiveurSolaire : :decoderTrame(), SuiveurSolaire : :enregistrer-InformationsBdd(), et SuiveurSolaire : :reinitialiserInformationsSuiveur().
10.17.1.22 int InformationsSuiveur : :positionHoraireA
Référencé par IhmTournesol : :afficherInformationsSuiveur(), SuiveurSolaire : :decoderTrame(), SuiveurSolaire : :enregistrer-InformationsBdd(), et SuiveurSolaire : :reinitialiserInformationsSuiveur().
10.17.1.23 int InformationsSuiveur : :seconde
Référencé par SuiveurSolaire : :decoderTrame(), SuiveurSolaire : :enregistrerInformationsBdd(), et SuiveurSolaire : :reinitialiser-InformationsSuiveur().
La documentation de cette structure a été générée à partir du fichier suivant :– suiveurSolaire.h
10.18 Reference de la structure JournalisationRegulateur
Regroupe les variable contenant les informations relatives a la trame de Journalisation.
#include <regulateur.h>
Attributs publics
– double ampereHeurePVExcedant– double ampereHeurePvConsomme– double niveauChargeMatin– double niveauChargeSoir– double chargeAmpaireHeure– QString nbSemaines– bool BuzzerEtat– int typeBatterie– int mode– bool modeLock– int serialInterface– int modenuit
10.18.1 Documentation des donnees membres
10.18.1.1 double JournalisationRegulateur : :ampereHeurePvConsomme
TODO
Référencé par IhmTournesol : :afficherJournalisationRegulateur(), et Regulateur : :decoderTrameHistorique().
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.18 Référence de la structure JournalisationRegulateur 101
10.18.1.2 double JournalisationRegulateur : :ampereHeurePVExcedant
TODO
Référencé par IhmTournesol : :afficherJournalisationRegulateur(), et Regulateur : :decoderTrameHistorique().
10.18.1.3 bool JournalisationRegulateur : :BuzzerEtat
TODO
Référencé par IhmTournesol : :afficherBuzzer(), Regulateur : :changerEtatBuzzer(), Regulateur : :decoderMenuState(), et Ihm-Tournesol : :IhmTournesol().
10.18.1.4 double JournalisationRegulateur : :chargeAmpaireHeure
TODO
Référencé par IhmTournesol : :afficherJournalisationRegulateur(), et Regulateur : :decoderTrameHistorique().
10.18.1.5 int JournalisationRegulateur : :mode
TODO
Référencé par IhmTournesol : :afficherModeCharge(), Regulateur : :changerModeCharge(), Regulateur : :decoderMenuState(), etIhmTournesol : :IhmTournesol().
10.18.1.6 bool JournalisationRegulateur : :modeLock
TODO
Référencé par IhmTournesol : :afficherCadenas(), Regulateur : :changerEtatCadenas(), Regulateur : :changerTypeBatterie(), -Regulateur : :decoderMenuState2(), et IhmTournesol : :IhmTournesol().
10.18.1.7 int JournalisationRegulateur : :modenuit
TODO
Référencé par IhmTournesol : :afficherModeNuit(), Regulateur : :changerModeNuit(), Regulateur : :decoderMenuState(), et Ihm-Tournesol : :IhmTournesol().
10.18.1.8 QString JournalisationRegulateur : :nbSemaines
TODO
Référencé par IhmTournesol : :afficherJournalisationRegulateur(), et Regulateur : :decoderTrameHistorique().
10.18.1.9 double JournalisationRegulateur : :niveauChargeMatin
TODO
Référencé par IhmTournesol : :afficherJournalisationRegulateur(), et Regulateur : :decoderTrameHistorique().
10.18.1.10 double JournalisationRegulateur : :niveauChargeSoir
TODO
Référencé par IhmTournesol : :afficherJournalisationRegulateur(), et Regulateur : :decoderTrameHistorique().
10.18.1.11 int JournalisationRegulateur : :serialInterface
TODO
10.18.1.12 int JournalisationRegulateur : :typeBatterie
TODO
Référencé par IhmTournesol : :afficherTypeBatteries(), Regulateur : :changerTypeBatterie(), Regulateur : :decoderMenuState(), etIhmTournesol : :IhmTournesol().
La documentation de cette structure a été générée à partir du fichier suivant :– regulateur.h
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.19 Référence de la structure Mesure 102
10.19 Reference de la structure Mesure
Regroupe les différentes informations relatives à une donnée.
#include <stationMeteo.h>
Attributs publics
– double valeur– QString unite– QString horodatage– bool valide
10.19.1 Documentation des donnees membres
10.19.1.1 QString Mesure : :horodatage
TODO
Référencé par StationMeteo : :lireTemperature().
10.19.1.2 QString Mesure : :unite
TODO
Référencé par StationMeteo : :lireTemperature().
10.19.1.3 double Mesure : :valeur
TODO
Référencé par IhmTournesol : :afficherInformationsStationMeteo(), StationMeteo : :enregistrerMesures(), StationMeteo : :lire-Luminosite(), StationMeteo : :lireTemperature(), StationMeteo : :lireVent(), et StationMeteo : :StationMeteo().
10.19.1.4 bool Mesure : :valide
TODO
Référencé par StationMeteo : :lireLuminosite(), StationMeteo : :lireTemperature(), et StationMeteo : :lireVent().
La documentation de cette structure a été générée à partir du fichier suivant :– stationMeteo.h
10.20 Reference de la structure ParametresRegulateur
Regroupe les différents parametres du regulateur.
#include <regulateur.h>
Attributs publics
– int modeNuit– bool buzzerOnOff– int typeBatterie– int modeCoupureChargeFaible– bool modeLock– int serialInterface
10.20.1 Documentation des donnees membres
10.20.1.1 bool ParametresRegulateur : :buzzerOnOff
buzzer : bit 4 de MENU_STATE
Référencé par Regulateur : :changerEtatBuzzer(), Regulateur : :envoyerMenuState(), et Regulateur : :Regulateur().
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.21 Référence de la classe Port 103
10.20.1.2 int ParametresRegulateur : :modeCoupureChargeFaible
coupure charge faible : bits 2,1,0 de MENU_STATE
Référencé par Regulateur : :changerModeCharge(), Regulateur : :envoyerMenuState(), et Regulateur : :Regulateur().
10.20.1.3 bool ParametresRegulateur : :modeLock
Référencé par Regulateur : :changerEtatCadenas(), Regulateur : :envoyerMenuState2(), et Regulateur : :Regulateur().
10.20.1.4 int ParametresRegulateur : :modeNuit
buzzer : bits 7,6,5 de MENU_STATE
Référencé par Regulateur : :changerModeNuit(), Regulateur : :envoyerMenuState(), et Regulateur : :Regulateur().
10.20.1.5 int ParametresRegulateur : :serialInterface
Référencé par Regulateur : :decoderMenuState2(), Regulateur : :envoyerMenuState2(), et Regulateur : :Regulateur().
10.20.1.6 int ParametresRegulateur : :typeBatterie
type batterie : bit 3 de MENU_STATE
Référencé par Regulateur : :changerTypeBatterie(), Regulateur : :envoyerMenuState(), et Regulateur : :Regulateur().
La documentation de cette structure a été générée à partir du fichier suivant :– regulateur.h
10.21 Reference de la classe Port
Classe de gestion d’un port série.
#include <port.h>
Fonctions membres publiques
– Port ()Constructeur par défaut.
– Port (const QString &portName, int debit=9600)Constructeur.
– ∼Port ()Destructeur.
– bool ouvrir (const QString &portName, int debit=9600)Ouvre et configure un port série.
– int transmettre (const QString &message)Transmet un message sur le port série.
– int recevoir (QString &message)Réceptionne un message sur le port série.
– int recevoir (QString &message, int nb)Réceptionne un message de nb caractères sur le port série.
– char lire ()Lit un caractère sur le port série.
– long getNbOctetsDisponibles ()Retourne le nombre d’octets disponible pour une lecture.
– bool estOuvert ()Retourne l’état du port série.
Connecteurs prives
– void onReadyRead ()Slot non utilisé
Attributs prives
– QextSerialPort ∗ port
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.21 Référence de la classe Port 104
10.21.1 Description detaillee
Auteur
Thierry Vaira <[email protected]>
10.21.2 Documentation des constructeurs et destructeur
10.21.2.1 Port : :Port ( )
:port(NULL){}
10.21.2.2 Port : :Port ( const QString & portName, int debit = 9600 )
ParametresportName QString& indiquant le nom et chemin vers le fichier de périphérique
debit entier précisant le débit (9600 bits/s par défaut)
Références ouvrir().
:port(NULL){#ifdef DEBUG_PORT
qDebug() << "<Port::Port()> port : " << portName;#endif
if(!portName.isEmpty()){
ouvrir(portName, debit);}
}
10.21.2.3 Port : :∼Port ( )
Références port.
{if (port != NULL && port->isOpen())
port->close();#ifdef DEBUG_PORT
qDebug() << "<Port::~Port()> port ferme";#endif
}
10.21.3 Documentation des fonctions membres
10.21.3.1 Port : :estOuvert ( )
Renvoie
bool vrai si le port est ouvert sinon faux
Références port.
Référencé par CV7 : :CV7(), SuiveurSolaire : :getEtat(), Regulateur : :Regulateur(), et SuiveurSolaire : :SuiveurSolaire().
{if (port != NULL)
return port->isOpen();else
return false;}
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.21 Référence de la classe Port 105
10.21.3.2 Port : :getNbOctetsDisponibles ( )
Renvoie
long nombre d’octets disponible pour une lecture
Références port.
{return port->bytesAvailable();
}
10.21.3.3 Port : :lire ( )
Renvoie
char le caractère reçu
Références port.
{if (port == NULL || !port->isOpen())
return -1;
char c;int n = port->read(&c, 1);if (n == -1)
c = ’\0’; // fin de chaine
//printf("%c (0x%02X)\n", c, c);
return c;}
10.21.3.4 Port : :onReadyRead ( ) [private, slot]
Références port.
{QByteArray datas;
int a = port->bytesAvailable();datas.resize(a);
port->read(datas.data(), datas.size());#ifdef DEBUG_PORT
qDebug() << "<Port::onReadyRead()> nb octets lus : " << datas.size();qDebug() << "<Port::onReadyRead()> donnees recues :" << datas;
#endif
#ifdef DEBUG_PORT
for(int i=0;i<datas.size();i++)printf("0x%02X ", (unsigned char)datas.data()[i]);
printf("\n\n");#endif
}
10.21.3.5 Port : :ouvrir ( const QString & portName, int debit = 9600 )
ParametresportName QString indiquant le nom et chemin vers le fichier de périphérique
debit entier précisant le débit (9600 bits/s par défaut)
Renvoie
bool vrai si le port est ouvert sinon faux
Références port.
Référencé par Port().
{
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.21 Référence de la classe Port 106
if (port != NULL && port->isOpen())port->close();
// mode synchrone : QextSerialPort::EventDriven (Can only be used withthreads started with QThread)
//port = new QextSerialPort(QLatin1String("/dev/ttyAMA0"),QextSerialPort::EventDriven);
// ou// mode asynchrone : QextSerialPort::Pollingthis->port = new QextSerialPort(portName, QextSerialPort::Polling);switch(debit){case 9600 :
port->setBaudRate(BAUD9600);break;
case 4800 :port->setBaudRate(BAUD4800);break;
}port->setFlowControl(FLOW_OFF);port->setParity(PAR_NONE);port->setDataBits(DATA_8);port->setStopBits(STOP_1);port->setTimeout(500);
//port->open(QIODevice::ReadWrite | QIODevice::Unbuffered);if (port->open(QIODevice::ReadWrite) == true){
//connect(port, SIGNAL(readyRead()), this, SLOT(onReadyRead()));#ifdef DEBUG_PORT
qDebug() << "<Port::ouvrir()> port " << port->portName() << " ouvert";#endif
}else{
qDebug() << "<Port::ouvrir()> Erreur ouverture port " << port->portName();
}
return port->isOpen();}
10.21.3.6 Port : :recevoir ( QString & message )
Parametresmessage le message reçu
Renvoie
int nombre d’octets reçus
Références BUFFERSIZE, et port.
Référencé par SuiveurSolaire : :acquerir(), Regulateur : :acquerirHistorique(), Regulateur : :acquerirInformations(), Regulateur-: :envoyerMenuState(), Regulateur : :envoyerMenuState2(), et CV7 : :recevoirPhrases().
{char buffer[BUFFERSIZE+1]; // + fin de chaineint nbOctets = -1;
memset(buffer, 0x00, BUFFERSIZE+1);
if (port == NULL || !port->isOpen())return -1;
nbOctets = port->bytesAvailable();if(nbOctets > BUFFERSIZE)
nbOctets = BUFFERSIZE;#ifdef DEBUG_PORT
if(nbOctets != 0)qDebug() << Q_FUNC_INFO << "octets recus disponibles :" << nbOctets;
#endif
int n = port->read(buffer, nbOctets);if (n != -1)
buffer[n] = ’\0’; // fin de chaineelse
buffer[0] = ’\0’; // fin de chaine
message = QLatin1String(buffer);
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.21 Référence de la classe Port 107
#ifdef DEBUG_PORT
if(n != 0){
qDebug() << Q_FUNC_INFO << "octets lus :" << n;for(int i=0;i<n;i++)
printf("0x%02X ", (unsigned char)buffer[i]);printf("\n\n");
}#endif
return n;}
10.21.3.7 Port : :recevoir ( QString & message, int nb )
Parametresmessage le message reçu
nb nombre d’octets à recevoir
Renvoie
int nombre d’octets reçus
Références port.
{char buffer[nb+1]; // + fin de chaineint lus, n;int nbTentatives = 0;
if (port == NULL || !port->isOpen())return -1;
memset(buffer, 0x00, nb+1);n = 0;do{
if(port->bytesAvailable()){
lus = port->read(&buffer[n], (nb-n));n += lus;
}else{
::usleep(100000);++nbTentatives;
}}while(n < nb && nbTentatives < 32);
if(n == nb)buffer[nb] = ’\0’; // fin de chaine
elsebuffer[n] = ’\0’; // fin de chaine
message = QLatin1String(buffer);
#ifdef DEBUG_PORT
//qDebug() << Q_FUNC_INFO << "nbTentatives :" << nbTentatives;//qDebug() << Q_FUNC_INFO << "message :" << message;/*for(int i=0;i<n;i++)
printf("0x%02X ", (unsigned char)buffer[i]);
printf("\n\n");*/#endif
return n;}
10.21.3.8 Port : :transmettre ( const QString & message )
Parametresmessage const QString & le message à transmettre
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.22 Référence de la classe ProtectionVent 108
Renvoie
int nombre de caractères transmis
Références port.
Référencé par Regulateur : :acquerirHistorique(), Regulateur : :acquerirInformations(), SuiveurSolaire : :deplacerAngleElevation(),SuiveurSolaire : :deplacerAngleHoraire(), SuiveurSolaire : :deplacerManuel(), Regulateur : :envoyerMenuState(), Regulateur-: :envoyerMenuState2(), SuiveurSolaire : :gererModeAutoProgramme(), et SuiveurSolaire : :stopperCommande().
{int nbOctets = -1;
if (port == NULL || !port->isOpen())return -1;
nbOctets = port->write(message.toLatin1());
#ifdef DEBUG_PORT
//qDebug("<Port::transmettre()> octets transmis : %d", nbOctets);qDebug() << "<Port::transmettre()> message transmis : " << message;/*if(nbOctets != 0)
{
for(int i=0;i<nbOctets;i++)
printf("0x%02X ", (unsigned char)message[i].toAscii());
printf("\n\n");
}*/#endif
return nbOctets;}
10.21.4 Documentation des donnees membres
10.21.4.1 QextSerialPort∗ Port : :port [private]
un pointeur sur un objet QextSerialPort
Référencé par estOuvert(), getNbOctetsDisponibles(), lire(), onReadyRead(), ouvrir(), recevoir(), transmettre(), et ∼Port().
La documentation de cette classe a été générée à partir des fichiers suivants :– port.h– port.cpp
10.22 Reference de la classe ProtectionVent
#include <protectionVent.h>
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.22 Référence de la classe ProtectionVent 109
Graphe de collaboration de ProtectionVent :
ProtectionVent
- baseDeDonnees- horloge- fini- protection- protectionActivee- attente- periode- vitesse- vitesseMax- mutex- waitCondition- configurationProtectionVent
+ ProtectionVent()+ ~ProtectionVent()+ lireModeDeFonctionnement()+ acquerir()+ surveillerVent()+ enregisterAlerte()+ attendrePeriode()+ main()+ finir()+ terminer()+ arreterProtection()+ activerProtectionVent()+ editerVitesseMaxProtectionVent()+ editerFrequenceProtectionVent()- msleep()- annuler()
BaseDeDonnees
- db- mutex- baseDeDonnees- nbAcces
+ connecter()+ executer()+ recuperer()+ recuperer()+ recuperer()+ recuperer()+ getInstance()+ detruireInstance()- BaseDeDonnees()- ~BaseDeDonnees()
baseDeDonnees
baseDeDonnees
ConfigurationProtectionVent
+ etat+ vitesseMax+ periode
configurationProtectionVent
Horloge
- mutex- _tic- _top- simulation- programmation- baseDeTemps- debutSimulation- instance- nbAcces
+ simuler()+ estEnSimulation()+ getBaseDeTemps()+ demarrer()+ arreter()+ programmer()+ getDateEtHeureActuelle()+ getDateActuelle()+ getHeureActuelle()+ getDateEtHeureActuelle()and 5 more...+ getInstance()+ detruireInstance()+ getDateEtHeure()+ getDate()+ getHeure()+ getNbMsec()+ getNbJours()+ getNbJours()+ getNbMinutes()+ getNbMinutes()- Horloge()- ~Horloge()- generer()- tic()- top()
horloge
instance
Connecteurs publics
– void main ()– void finir ()– void terminer ()– void arreterProtection ()– void activerProtectionVent (bool etatProtection)– void editerVitesseMaxProtectionVent (double vitesseMaxDefinie)– void editerFrequenceProtectionVent (int frequence)
Signaux
– void proteger (bool etat)
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.22 Référence de la classe ProtectionVent 110
Signal envoyé au Suiveur pour déclencher ou arreter la protection vent.– void recupererConfigurationProtectionVent ()
Récupère la configuration de la protection contre le vent.– void alerte (bool protectionActivee)
Signal une alerte.
Fonctions membres publiques
– ProtectionVent ()– ∼ProtectionVent ()– void lireModeDeFonctionnement ()– void acquerir ()– void surveillerVent ()– void enregisterAlerte ()– void attendrePeriode ()
Fonctions membres privees
– void msleep (unsigned long sleepMS)– void annuler ()
Attributs prives
– BaseDeDonnees ∗ baseDeDonnees– Horloge ∗ horloge– bool fini– bool protection– bool protectionActivee– int attente– int periode– double vitesse– double vitesseMax– QMutex mutex– QWaitCondition waitCondition– ConfigurationProtectionVent configurationProtectionVent
10.22.1 Documentation des constructeurs et destructeur
10.22.1.1 ProtectionVent : :ProtectionVent ( )
Références arreterProtection(), baseDeDonnees, BaseDeDonnees : :connecter(), fini, Horloge : :getInstance(), BaseDeDonnees-: :getInstance(), et horloge.
: baseDeDonnees(NULL), horloge(NULL), fini(false), protection(false), protectionActivee(false), attente(600), periode(PERIODE_ACQUISITION_METEO), vitesse(0.), vitesseMax(100.)
{#ifdef DEBUG_PROTECTIONVENT
qDebug() << Q_FUNC_INFO << QThread::currentThreadId() << this;#endif
baseDeDonnees = BaseDeDonnees::getInstance();horloge = Horloge::getInstance();baseDeDonnees->connecter();
connect(horloge, SIGNAL(fini(QString)), this, SLOT(arreterProtection()),Qt::DirectConnection);
}
10.22.1.2 ProtectionVent : :∼ProtectionVent ( )
Références baseDeDonnees, Horloge : :detruireInstance(), BaseDeDonnees : :detruireInstance(), et BaseDeDonnees : :execu-ter().
{QString requeteEcritureEtat = "UPDATE ‘Modules‘ SET ‘etat‘= ’0’ WHERE
‘nomModule‘=’surveillance’";QString requeteEcritureAlarme = "UPDATE ‘Modules‘ SET ‘alarme‘= ’0’ WHERE
‘nomModule‘=’surveillance’";QString requeteChangementProtection = "UPDATE ‘Surveillance‘ SET
‘protection‘= ’0’ WHERE ‘idSurveillance‘ =’4’";QString requeteChangementVitesse = "UPDATE ‘Surveillance‘ SET ‘vitesse‘=
’90’ WHERE ‘idSurveillance‘ =’4’";
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.22 Référence de la classe ProtectionVent 111
QString requeteChangementFrequence = "UPDATE ‘Surveillance‘ SET‘periodeSurveillance‘= ’10’ WHERE ‘idSurveillance‘ =’4’";
baseDeDonnees->executer(requeteEcritureEtat);baseDeDonnees->executer(requeteEcritureAlarme);baseDeDonnees->executer(requeteChangementProtection);baseDeDonnees->executer(requeteChangementVitesse);baseDeDonnees->executer(requeteChangementFrequence);
Horloge::detruireInstance();BaseDeDonnees::detruireInstance();
#ifdef DEBUG_PROTECTIONVENTqDebug() << Q_FUNC_INFO << QThread::currentThreadId() << this;
#endif}
10.22.2 Documentation des fonctions membres
10.22.2.1 ProtectionVent : :acquerir ( )
Références baseDeDonnees, lireModeDeFonctionnement(), BaseDeDonnees : :recuperer(), et vitesse.
Référencé par main().
{QString vitesseRecue;QString requete = "SELECT vitesseVent FROM MesuresStationMeteo WHERE
idMesure=(SELECT MAX(idMesure) FROM MesuresStationMeteo)";baseDeDonnees->recuperer(requete,vitesseRecue);vitesse = vitesseRecue.toDouble();
#ifdef DEBUG_PROTECTIONVENTqDebug() << Q_FUNC_INFO << __LINE__ << "vitesse" << vitesse;
#endiflireModeDeFonctionnement();
}
10.22.2.2 void ProtectionVent : :activerProtectionVent ( bool etatProtection ) [slot]
Références alerte(), baseDeDonnees, BaseDeDonnees : :executer(), protectionActivee, et BaseDeDonnees : :recuperer().
{QString requeteChangement;QString requeteLecture = "SELECT ‘protection‘ FROM ‘Surveillance‘ WHERE
‘idSurveillance‘ = ’4’";QString etat;baseDeDonnees->recuperer(requeteLecture,etat);if (etatProtection == true){
QString requeteEcriture = "UPDATE ‘Modules‘ SET ‘etat‘= ’1’ WHERE‘nomModule‘=’surveillance’";requeteChangement = "UPDATE ‘Surveillance‘ SET ‘protection‘= ’1’ WHERE‘idSurveillance‘ =’4’";baseDeDonnees->executer(requeteEcriture);
}else{
QString requete = "UPDATE ‘Modules‘ SET ‘alarme‘= ’0’ WHERE ‘nomModule‘= ’surveillance’";QString requeteEcritureEtat = "UPDATE ‘Modules‘ SET ‘etat‘= ’0’ WHERE‘nomModule‘=’surveillance’";requeteChangement = "UPDATE ‘Surveillance‘ SET ‘protection‘= ’0’ WHERE‘idSurveillance‘ =’4’";protectionActivee = false;emit alerte(protectionActivee);baseDeDonnees->executer(requete);baseDeDonnees->executer(requeteEcritureEtat);
}
baseDeDonnees->executer(requeteChangement);
#ifdef DEBUG_PROTECTIONVENTqDebug() << Q_FUNC_INFO << "changement d’etat";
#endif}
10.22.2.3 ProtectionVent : :alerte ( bool protectionActivee ) [signal]
Référencé par activerProtectionVent(), arreterProtection(), et surveillerVent().
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.22 Référence de la classe ProtectionVent 112
10.22.2.4 ProtectionVent : :annuler ( ) [inline, private]
Références waitCondition.
Référencé par finir().
{waitCondition.wakeAll();
}
10.22.2.5 ProtectionVent : :arreterProtection ( ) [slot]
Références alerte(), attente, baseDeDonnees, BaseDeDonnees : :executer(), horloge, Horloge : :programmer(), protection,protectionActivee, proteger(), BaseDeDonnees : :recuperer(), vitesse, et vitesseMax.
Référencé par ProtectionVent().
{QString vitesseRecue;QString requete = "SELECT vitesseVent FROM MesuresStationMeteo WHERE
idMesure=(SELECT MAX(idMesure) FROM MesuresStationMeteo)";#ifdef DEBUG_PROTECTIONVENT
qDebug() << Q_FUNC_INFO << __LINE__;#endif
if(protection == false){
return;}baseDeDonnees->recuperer(requete,vitesseRecue);vitesse = vitesseRecue.toDouble();if (vitesse < vitesseMax){
#ifdef DEBUG_PROTECTIONVENTqDebug() << Q_FUNC_INFO << __LINE__ << "emit proteger(false)";
#endifemit proteger(false);protectionActivee = false;emit alerte(protectionActivee);QString requete = "UPDATE ‘Modules‘ SET ‘alarme‘= ’0’ WHERE ‘nomModule‘= ’surveillance’";baseDeDonnees->executer(requete);
}else{
horloge->programmer(attente);}
}
10.22.2.6 ProtectionVent : :attendrePeriode ( )
Références msleep(), et periode.
Référencé par main().
{#ifdef DEBUG_PROTECTIONVENT
qDebug() << Q_FUNC_INFO << periode;#endif
this->msleep(periode);}
10.22.2.7 ProtectionVent : :editerFrequenceProtectionVent ( int frequence ) [slot]
Parametresfrequence
Références baseDeDonnees, et BaseDeDonnees : :executer().
{QString requete = "UPDATE ‘Surveillance‘ SET ‘periodeSurveillance‘= ’" +QString::number(frequence) + "’ WHERE ‘idSurveillance‘ =’4’";
baseDeDonnees->executer(requete);#ifdef DEBUG_PROTECTIONVENT
qDebug() << Q_FUNC_INFO << "La frequence a ete modifiee à la valeur :" <<frequence;
#endif}
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.22 Référence de la classe ProtectionVent 113
10.22.2.8 ProtectionVent : :editerVitesseMaxProtectionVent ( double vitesseMaxDefinie ) [slot]
ParametresvitesseMaxDefinie
Références baseDeDonnees, et BaseDeDonnees : :executer().
{QString requete = "UPDATE ‘Surveillance‘ SET ‘vitesse‘= ’" +QString::number(vitesseMaxDefinie) + "’ WHERE ‘idSurveillance‘ =’4’";
baseDeDonnees->executer(requete);#ifdef DEBUG_PROTECTIONVENT
qDebug() << Q_FUNC_INFO << "La vitesse maximum a ete modifiee à la valeur :" << vitesseMaxDefinie;
#endif}
10.22.2.9 ProtectionVent : :enregisterAlerte ( )
Références baseDeDonnees, et BaseDeDonnees : :executer().
Référencé par surveillerVent().
{QDateTime maintenant = QDateTime::currentDateTime();QString horodatage = maintenant.toString("yyyy-MM-dd hh:mm:ss");QString type = "ProtectionVent";QString description = "Vitesse du vent trop elevee";QString requeteAlertes = "INSERT INTO
‘Alertes‘(‘idModule‘,‘type‘,‘horodatage‘,‘description‘) VALUES (’3’,’" + type + "’, ’" + horodatage + "’,’" +description + "’)";
QString requeteModules = "UPDATE ‘Modules‘ SET ‘alarme‘= ’1’ WHERE‘nomModule‘ = ’surveillance’";
baseDeDonnees->executer(requeteAlertes);baseDeDonnees->executer(requeteModules);
}
10.22.2.10 ProtectionVent : :finir ( ) [slot]
Références annuler(), et fini.
Référencé par IhmTournesol : :∼IhmTournesol().
{fini = true;annuler();
}
10.22.2.11 ProtectionVent : :lireModeDeFonctionnement ( )
Références attente, baseDeDonnees, periode, PERIODE_ACQUISITION_METEO, protection, BaseDeDonnees : :recuperer(), etvitesseMax.
Référencé par acquerir().
{QString requeteLecture = "SELECT periodeSurveillance, protection, vitesse,
attente FROM Surveillance";QStringList parametres;
bool retour = baseDeDonnees->recuperer(requeteLecture, parametres);if(retour){
#ifdef DEBUG_PROTECTIONVENTqDebug() << Q_FUNC_INFO << parametres;
#endif
// au moins 1s ?if(parametres.at(0).toInt() > 0){
periode = parametres.at(0).toInt() * 1000;}else{
periode = PERIODE_ACQUISITION_METEO;}
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.22 Référence de la classe ProtectionVent 114
protection = parametres.at(1).toInt();vitesseMax = parametres.at(2).toDouble();attente = parametres.at(3).toInt();
#ifdef DEBUG_PROTECTIONVENTqDebug() << Q_FUNC_INFO << vitesseMax << "vitesse max";
#endif}else{
qDebug() << Q_FUNC_INFO << QString::fromUtf8("Erreur requête !");}
}
10.22.2.12 ProtectionVent : :main ( ) [slot]
Références acquerir(), attendrePeriode(), fini, et surveillerVent().
{
#ifdef DEBUG_PROTECTIONVENTqDebug() << Q_FUNC_INFO << QThread::currentThreadId() << this << "demarrage
";#endif
while(!fini){
acquerir();surveillerVent();attendrePeriode();
}
#ifdef DEBUG_PROTECTIONVENTqDebug() << Q_FUNC_INFO << QThread::currentThreadId() << this << "arret";
#endif
}
10.22.2.13 ProtectionVent : :msleep ( unsigned long sleepMS ) [inline, private]
ParametressleepMS
Références mutex, et waitCondition.
Référencé par attendrePeriode().
{waitCondition.wait(&mutex, sleepMS);
}
10.22.2.14 ProtectionVent : :proteger ( bool etat ) [signal]
Référencé par arreterProtection(), et surveillerVent().
10.22.2.15 ProtectionVent : :recupererConfigurationProtectionVent ( ) [signal]
10.22.2.16 ProtectionVent : :surveillerVent ( )
Références alerte(), attente, enregisterAlerte(), horloge, Horloge : :programmer(), protection, protectionActivee, proteger(), vi-tesse, et vitesseMax.
Référencé par main().
{if(protection == false)
return;
if(vitesse >= vitesseMax && protectionActivee == false){
#ifdef DEBUG_PROTECTIONVENTqDebug() << Q_FUNC_INFO << __LINE__ << "emit proteger(true)";
#endifprotectionActivee = true;emit proteger(true);emit alerte(protectionActivee);horloge->programmer(attente);enregisterAlerte();
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.22 Référence de la classe ProtectionVent 115
#ifdef DEBUG_PROTECTIONVENTqDebug() << Q_FUNC_INFO << __LINE__ << protectionActivee;
#endif}
}
10.22.2.17 ProtectionVent : :terminer ( ) [slot]
{#ifdef DEBUG_PROTECTIONVENT
qDebug() << Q_FUNC_INFO << QThread::currentThreadId() << this;#endif}
10.22.3 Documentation des donnees membres
10.22.3.1 int ProtectionVent : :attente [private]
temps en secondes
Référencé par arreterProtection(), lireModeDeFonctionnement(), et surveillerVent().
10.22.3.2 BaseDeDonnees∗ ProtectionVent : :baseDeDonnees [private]
Référencé par acquerir(), activerProtectionVent(), arreterProtection(), editerFrequenceProtectionVent(), editerVitesseMax-ProtectionVent(), enregisterAlerte(), lireModeDeFonctionnement(), ProtectionVent(), et ∼ProtectionVent().
10.22.3.3 ConfigurationProtectionVent ProtectionVent : :configurationProtectionVent [private]
10.22.3.4 bool ProtectionVent : :fini [private]
etat de la boucle du thread
Référencé par finir(), main(), et ProtectionVent().
10.22.3.5 Horloge∗ ProtectionVent : :horloge [private]
Référencé par arreterProtection(), ProtectionVent(), et surveillerVent().
10.22.3.6 QMutex ProtectionVent : :mutex [private]
pour les temporisations
Référencé par msleep().
10.22.3.7 int ProtectionVent : :periode [private]
période en millisecondes
Référencé par attendrePeriode(), et lireModeDeFonctionnement().
10.22.3.8 bool ProtectionVent : :protection [private]
etat souhaité de la protection
Référencé par arreterProtection(), lireModeDeFonctionnement(), et surveillerVent().
10.22.3.9 bool ProtectionVent : :protectionActivee [private]
etat actuel de la protection
Référencé par activerProtectionVent(), arreterProtection(), et surveillerVent().
10.22.3.10 double ProtectionVent : :vitesse [private]
vitesse du vent en km/h
Référencé par acquerir(), arreterProtection(), et surveillerVent().
10.22.3.11 double ProtectionVent : :vitesseMax [private]
vitesse max du vent en km/h
Référencé par arreterProtection(), lireModeDeFonctionnement(), et surveillerVent().
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.23 Référence de la classe Regulateur 116
10.22.3.12 QWaitCondition ProtectionVent : :waitCondition [private]
pour les temporisations
Référencé par annuler(), et msleep().
La documentation de cette classe a été générée à partir des fichiers suivants :– protectionVent.h– protectionVent.cpp
10.23 Reference de la classe Regulateur
Gestion de l’acquisition et du traitement des données du régulateur de charge phocos CX20.
#include <regulateur.h>
Graphe de collaboration de Regulateur :
Regulateur
- port- informationsRegulateur- journalisationRegulateur- alarmesRegulateur- parametresRegulateur- bdd- mutex
+ Regulateur()+ ~Regulateur()+ acquerir()+ acquerirInformations()+ acquerirHistorique()+ decoderTrameInformations()+ decoderTrameHistorique()+ decoderAlarmes()+ decoderMenuState()+ envoyerMenuState()+ decoderMenuState2()+ envoyerMenuState2()+ changerEtatBuzzer()+ changerTypeBatterie()+ changerModeCharge()+ changerEtatCadenas()+ changerModeNuit()
InformationsRegulateur
+ niveauCharge+ tensionBatterie+ surplusEnergie+ courantPhotovoltaique+ courantCharge+ temperature+ modeChargeBatterie+ onOff
informationsRegulateur
JournalisationRegulateur
+ ampereHeurePVExcedant+ ampereHeurePvConsomme+ niveauChargeMatin+ niveauChargeSoir+ chargeAmpaireHeure+ nbSemaines+ BuzzerEtat+ typeBatterie+ mode+ modeLock+ serialInterface+ modenuit
journalisationRegulateur
BaseDeDonnees
- db- mutex- baseDeDonnees- nbAcces
+ connecter()+ executer()+ recuperer()+ recuperer()+ recuperer()+ recuperer()+ getInstance()+ detruireInstance()- BaseDeDonnees()- ~BaseDeDonnees()
bdd
baseDeDonnees
AlarmesRegulateur
+ alarmeBatterie+ alarmeChargeComplete+ alarmeDebranchementBatterie+ alarmeSurtensionPv+ alarmeSurtensionCharge+ alarmeSurvoltageBatterie+ alarmeSurchauffePv+ alarmeSurchauffeCharge+ trameRecu
alarmesRegulateur
ParametresRegulateur
+ modeNuit+ buzzerOnOff+ typeBatterie+ modeCoupureChargeFaible+ modeLock+ serialInterface
parametresRegulateur
Port
- port
+ Port()+ Port()+ ~Port()+ ouvrir()+ transmettre()+ recevoir()+ recevoir()+ lire()+ getNbOctetsDisponibles()+ estOuvert()- onReadyRead()
port
Connecteurs publics
– void changerEtatBuzzer ()– void changerTypeBatterie (int type)
Slot de changement de type de batterie.– void changerModeCharge (int mode)
Slot de changement de type de batterie.– void changerEtatCadenas ()
Slot de changement d’etat du cadenas.– void changerModeNuit ()
Slot de changement de mode pour la nuit.
Signaux
– void nouvellesInformationsRegulateur (InformationsRegulateur informationsRegulateur)signal envoyant la structure informationsRegulateur
– void nouvellesJournalisationRegulateur (JournalisationRegulateur journalisationRegulateur)signal envoyant la structure journalisationRegulateur
– void nouvellesAlarmesRegulateur (AlarmesRegulateur alarmesRegulateur)signal envoyant la structure alarmesRegulateur
Fonctions membres publiques
– Regulateur ()constructeur par défaut
– ∼Regulateur ()
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.23 Référence de la classe Regulateur 117
destructeur– void acquerir ()
acquisition des trames du régulateur de charge Phocos– bool acquerirInformations ()
acquisition de la trame Informations du régulateur de charge Phocos– bool acquerirHistorique ()
acquisition de la trame Historique du régulateur de charge Phocos– void decoderTrameInformations (QString reponse)
Décode les différents champs de la trame d’information (’ ’ ou 0x20)– bool decoderTrameHistorique (QString reponse)
Décode les différents champs de la trame de journalisation (’ !’ ou 0x21)– void decoderAlarmes (QString reponse)
Décode le champs "état" de la trame de journalisation afin d’en déduire les alertes qui sont déclenchées.– void decoderMenuState (QString reponse)– void envoyerMenuState ()– void decoderMenuState2 (QString reponse)
Décode le champ Menustate 2 qui fournit les paramètressi le boutton est verrouillé ou non.– void envoyerMenuState2 ()
Envoie le menuState 2.
Attributs prives
– Port ∗ port– InformationsRegulateur informationsRegulateur– JournalisationRegulateur journalisationRegulateur– AlarmesRegulateur alarmesRegulateur– ParametresRegulateur parametresRegulateur– BaseDeDonnees ∗ bdd– QMutex mutex
10.23.1 Description detaillee
Auteur
Adrien Thiel <[email protected]>
10.23.2 Documentation des constructeurs et destructeur
10.23.2.1 Regulateur : :Regulateur ( )
Références bdd, ParametresRegulateur : :buzzerOnOff, BaseDeDonnees : :connecter(), Port : :estOuvert(), BaseDeDonnees-: :getInstance(), ParametresRegulateur : :modeCoupureChargeFaible, ParametresRegulateur : :modeLock, Parametres-Regulateur : :modeNuit, parametresRegulateur, port, ParametresRegulateur : :serialInterface, et ParametresRegulateur : :type-Batterie.
{#ifdef DEBUG_REGULATEUR
qDebug() << Q_FUNC_INFO << QThread::currentThreadId() << this;#endif#ifndef SIMULATION_REGULATEUR
port = new Port(QString("/dev/phocos"), 9600);#else
port = new Port(QString("/dev/ttyUSB0"), 9600);#endif
#ifdef DEBUG_REGULATEURqDebug() << Q_FUNC_INFO << "ouverture port phocos :" << port->estOuvert();
#endif
bdd = BaseDeDonnees::getInstance();bdd->connecter();
//informationsRegulateur.ampereHeurePvConsomme = 0.;//informationsRegulateur.onOff = false;// par défautparametresRegulateur.modeNuit = 0;parametresRegulateur.buzzerOnOff = false;parametresRegulateur.typeBatterie = 1; // GEL VRLAparametresRegulateur.modeCoupureChargeFaible = 1; // page 22 doc phocosparametresRegulateur.serialInterface = 2;parametresRegulateur.modeLock = false;
}
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.23 Référence de la classe Regulateur 118
10.23.2.2 Regulateur : :∼Regulateur ( )
Références port.
{#ifdef DEBUG_REGULATEUR
qDebug() << Q_FUNC_INFO << QThread::currentThreadId() << this;#endif
delete port;//BaseDeDonnees::detruireInstance();
}
10.23.3 Documentation des fonctions membres
10.23.3.1 Regulateur : :acquerir ( )
Références acquerirHistorique(), et acquerirInformations().
Référencé par AcquisitionRegulateur : :main().
{acquerirInformations();
acquerirHistorique();}
10.23.3.2 Regulateur : :acquerirHistorique ( )
Renvoie
bool vrai si une trame a été lue
Références decoderAlarmes(), decoderTrameHistorique(), LG_TRAME_HISTORIQUE, mutex, port, Port : :recevoir(), et Port-: :transmettre().
Référencé par acquerir().
{QMutexLocker locker(&mutex);QString requete;QString reponse;int nbTentatives = 0;bool reponseOk = false;
/*Trame de journalisations.
*/#ifndef SIMULATION_REGULATEUR
requete = "!"; // 0x21port->transmettre(requete);
reponseOk = false;nbTentatives = 0;do{
port->recevoir(reponse, 1);++nbTentatives;
}while(reponse.at(0) != ’!’ && nbTentatives < 6);
if(nbTentatives < 6){
port->recevoir(reponse, LG_TRAME_HISTORIQUE-1);reponse.prepend(’!’);reponseOk = true;
}else{
reponseOk = false;qDebug() << QString::fromUtf8("Erreur : impossible de récupérer unetrame 0x21 au bout de 6 essais !");
}#else
requete = "!"; // 0x21port->transmettre(requete);
port->recevoir(reponse, LG_TRAME_HISTORIQUE);// ou :reponse = "!E1 02 1A E6 00 00 FA 90 FF FF 02 02 02 09 6E FF FF FF FF 40 00
00 01 00 00 48 00 00 00 00 00 00 00 08 69 68 10 05 00 20 65 77 07 71 71 00 00 0000 00 BB 01 6E 6D 00 00 00 00 00 9A 02 6D 6C 00 00 00 00 00 99 00 6D 6C 00 00
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.23 Référence de la classe Regulateur 119
00 00 00 99 00 6C 6A 00 00 00 00 00 88 00 6A 69 00 00 00 00 00 77 20 6D 6C 00 0000 00 00 99 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0000 00 00 00 00 00 00 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ";
reponseOk = true;#endif
if(reponseOk == true){
decoderTrameHistorique(reponse);decoderAlarmes(reponse);
}
return reponseOk;}
10.23.3.3 Regulateur : :acquerirInformations ( )
Renvoie
bool vrai si une trame a été lue
A faire assurer la détection du début de trame 0x20
Références alarmesRegulateur, decoderTrameInformations(), LG_TRAME_INFORMATIONS, mutex, port, Port : :recevoir(), -AlarmesRegulateur : :trameRecu, et Port : :transmettre().
Référencé par acquerir().
{QMutexLocker locker(&mutex);QString requete;QString reponse;int nbTentatives = 0;bool reponseOk = false;/*Trames d’informations.
*/#ifndef SIMULATION_REGULATEUR
// dialogue avec le Phocosrequete = " "; // 0x20port->transmettre(requete);
reponseOk = false;nbTentatives = 0;do{
port->recevoir(reponse, 1);++nbTentatives;
}while(reponse.at(0) != ’ ’ && nbTentatives < 3);
if(nbTentatives < 3){
port->recevoir(reponse, LG_TRAME_INFORMATIONS-1);// Risque de confondre de le code de début de trame (’ ’) et leséparateur de champs (’ ’)// vérification du champ version ?if(reponse.startsWith("064")){
reponse.prepend(’ ’);reponseOk = true;
}else{
reponseOk = false;qDebug() << QString::fromUtf8("Erreur : ce n’est pas la version 064
attendu d’une trame 0x20 d’un CX20 !");}
}else{
reponseOk = false;qDebug() << QString::fromUtf8("Erreur : impossible de récupérer unetrame 0x20 au bout de 3 essais !");
}alarmesRegulateur.trameRecu = reponseOk;
#else// dialogue sans le Phocos// avec le simulateur// $ sudo ln -s /dev/ttyUSB1 /dev/phocosrequete = " "; // 0x20port->transmettre(requete);
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.23 Référence de la classe Regulateur 120
port->recevoir(reponse, LG_TRAME_INFORMATIONS);// ou sans :reponse = " 064 014 003 109 169 097 020 000 100 000 134 005 +003 +003 145 ";
reponseOk = true;#endif
if(reponseOk == true)decoderTrameInformations(reponse);
return reponseOk;}
10.23.3.4 void Regulateur : :changerEtatBuzzer ( ) [slot]
Références JournalisationRegulateur : :BuzzerEtat, ParametresRegulateur : :buzzerOnOff, envoyerMenuState(), journalisation-Regulateur, mutex, et parametresRegulateur.
{QMutexLocker locker(&mutex);
#ifdef DEBUG_REGULATEURqDebug() << Q_FUNC_INFO;
#endifif(journalisationRegulateur.BuzzerEtat == true){
parametresRegulateur.buzzerOnOff = false;}else{
parametresRegulateur.buzzerOnOff = true;}
envoyerMenuState();}
10.23.3.5 Regulateur : :changerEtatCadenas ( ) [slot]
Parametres
Références envoyerMenuState2(), journalisationRegulateur, JournalisationRegulateur : :modeLock, ParametresRegulateur-: :modeLock, mutex, et parametresRegulateur.
{QMutexLocker locker(&mutex);
#ifdef DEBUG_REGULATEURqDebug() << Q_FUNC_INFO;
#endif
if(journalisationRegulateur.modeLock == true){
parametresRegulateur.modeLock = false;}else{
parametresRegulateur.modeLock = true;}
envoyerMenuState2();}
10.23.3.6 Regulateur : :changerModeCharge ( int mode ) [slot]
Parametresmode
Références envoyerMenuState(), journalisationRegulateur, JournalisationRegulateur : :mode, ParametresRegulateur : :mode-CoupureChargeFaible, mutex, et parametresRegulateur.
{QMutexLocker locker(&mutex);
#ifdef DEBUG_REGULATEURqDebug() << Q_FUNC_INFO << "nouveau mode" << mode;
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.23 Référence de la classe Regulateur 121
#endifif(journalisationRegulateur.mode != mode){
parametresRegulateur.modeCoupureChargeFaible = mode;}else{
return;}envoyerMenuState();
}
10.23.3.7 Regulateur : :changerModeNuit ( ) [slot]
Parametres
Références envoyerMenuState(), journalisationRegulateur, JournalisationRegulateur : :modenuit, ParametresRegulateur : :mode-Nuit, mutex, et parametresRegulateur.
{QMutexLocker locker(&mutex);
#ifdef DEBUG_REGULATEURqDebug() << Q_FUNC_INFO;
#endifif(journalisationRegulateur.modenuit == 0){
parametresRegulateur.modeNuit = 5;}else{
parametresRegulateur.modeNuit = 0;}
envoyerMenuState();}
10.23.3.8 Regulateur : :changerTypeBatterie ( int type ) [slot]
Parametrestype
Références envoyerMenuState(), journalisationRegulateur, JournalisationRegulateur : :modeLock, mutex, parametresRegulateur,JournalisationRegulateur : :typeBatterie, et ParametresRegulateur : :typeBatterie.
{QMutexLocker locker(&mutex);
#ifdef DEBUG_REGULATEURqDebug() << Q_FUNC_INFO << "nouveau type batterie" << type;
#endifif(journalisationRegulateur.typeBatterie != type){
parametresRegulateur.typeBatterie = type;}else{
return;}QString requete = "UPDATE Regulateur SET verrou=’" + QString::number(
journalisationRegulateur.modeLock) + "’";envoyerMenuState();
}
10.23.3.9 Regulateur : :decoderAlarmes ( QString reponse )
Parametresreponse
Références AlarmesRegulateur : :alarmeChargeComplete, AlarmesRegulateur : :alarmeDebranchementBatterie, alarmes-Regulateur, AlarmesRegulateur : :alarmeSurchauffeCharge, AlarmesRegulateur : :alarmeSurchauffePv, AlarmesRegulateur-: :alarmeSurtensionCharge, AlarmesRegulateur : :alarmeSurtensionPv, AlarmesRegulateur : :alarmeSurvoltageBatterie, LG_TR-AME_HISTORIQUE, et nouvellesAlarmesRegulateur().
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.23 Référence de la classe Regulateur 122
Référencé par acquerirHistorique().
{QString etats;unsigned char x = 0; // sur 8 bits
if(reponse.length() == LG_TRAME_HISTORIQUE && reponse.at(0).toAscii() ==’!’)
{etats = reponse.section(’ ’, 42, 42);
//qDebug() << "Etats : " << etats;
x = (unsigned char)etats.toInt(0, 16);
//qDebug("x = 0x%02X", x);
alarmesRegulateur.alarmeDebranchementBatterie = (x & 0x01);alarmesRegulateur.alarmeChargeComplete = (x & 0x02);alarmesRegulateur.alarmeSurtensionPv = (x & 0x04);alarmesRegulateur.alarmeSurtensionCharge = (x & 0x08);alarmesRegulateur.alarmeSurvoltageBatterie = (x & 0x10);alarmesRegulateur.alarmeSurchauffePv = (x & 0x20);alarmesRegulateur.alarmeSurchauffeCharge = (x & 0x40);
emit nouvellesAlarmesRegulateur (alarmesRegulateur);#ifdef DEBUG_REGULATEUR
qDebug() << Q_FUNC_INFO << alarmesRegulateur.alarmeChargeComplete <<alarmesRegulateur.alarmeDebranchementBatterie << alarmesRegulateur.alarmeSurchauffeCharge << alarmesRegulateur.alarmeSurchauffePv <<alarmesRegulateur.alarmeSurtensionCharge << alarmesRegulateur.alarmeSurtensionPv<< alarmesRegulateur.alarmeSurvoltageBatterie;
#endif}
}
10.23.3.10 void Regulateur : :decoderMenuState ( QString reponse )
Références bdd, JournalisationRegulateur : :BuzzerEtat, BaseDeDonnees : :executer(), journalisationRegulateur, LEVER_COU-CHER, JournalisationRegulateur : :mode, JournalisationRegulateur : :modenuit, SOIR_MATIN, JournalisationRegulateur : :type-Batterie, et VEILLEUSE_ARRET.
Référencé par decoderTrameHistorique().
{QString batterie;bool BuzzerOnOff;QString MenuState;unsigned char x = 0;
MenuState = reponse.section(’ ’, 13, 13);x = (unsigned char)MenuState.toInt(0, 16);#ifdef DEBUG_REGULATEURqDebug() << Q_FUNC_INFO << "menustate : " << MenuState << "x = " << x;#endif
// le buzzerif((x & 0x10) == 0x10){
BuzzerOnOff = true;}else BuzzerOnOff = false;journalisationRegulateur.BuzzerEtat = BuzzerOnOff;
//le mode coupure charge faible
if((x & 0x07) == 0x00){
//mode 1journalisationRegulateur.mode = 0;
}else if ((x & 0x07) == 0x01){
//mode 2journalisationRegulateur.mode = 1;
}else if ((x & 0x07) == 0x02){
//mode 3journalisationRegulateur.mode = 2;
}else if((x & 0x07) == 0x03){
//mode 4journalisationRegulateur.mode = 3;
}
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.23 Référence de la classe Regulateur 123
else if((x & 0x07) == 0x04){
//mode 5journalisationRegulateur.mode = 4;
}else{
#ifdef DEBUG_REGULATEURqDebug() << Q_FUNC_INFO << "mode inconnu !";
#endif}
//Le type de batteriesif((x & 0x08) == 0x08){
//"Batterie type GEL (VRLA)";batterie = "VRLA de type GEL ou AGM";journalisationRegulateur.typeBatterie = 1;
}else{
//"Batterie type liquide electrolyte";batterie = "plomb à liquide électrolyte";journalisationRegulateur.typeBatterie = 0;
}
//Mode nuitif((x & 0xE0) == 0x00){
journalisationRegulateur.modenuit = VEILLEUSE_ARRET;}else if ((x & 0xE0) == 0xA0){
journalisationRegulateur.modenuit = SOIR_MATIN; //}else if ((x & 0xE0) == 0xC0){
journalisationRegulateur.modenuit = LEVER_COUCHER;}else{
#ifdef DEBUG_REGULATEURqDebug() << Q_FUNC_INFO << "mode nuit inconnu !";
#endifjournalisationRegulateur.modenuit = VEILLEUSE_ARRET;
}
QString requete = "UPDATE Regulateur SET buzzer=’" + QString::number(journalisationRegulateur.BuzzerEtat) + "’" + ",modeCoupure=’" + QString::number(journalisationRegulateur.mode) + "’" + ",charge=’" + QString::number(journalisationRegulateur.modenuit) + "’";
//qDebug() << QString::fromUtf8("requête : ") << requete;bool retour = bdd->executer(requete);if(retour == false){
qDebug() << Q_FUNC_INFO << QString::fromUtf8("erreur modification !");}requete = "UPDATE Installation SET typeBatterie=’" + batterie + "’";//qDebug() << QString::fromUtf8("requête : ") << requete;retour = bdd->executer(requete);if(retour == false){
qDebug() << Q_FUNC_INFO << QString::fromUtf8("erreur modification !");}
}
10.23.3.11 Regulateur : :decoderMenuState2 ( QString reponse )
Parametresreponse
Références bdd, BaseDeDonnees : :executer(), journalisationRegulateur, JournalisationRegulateur : :modeLock, parametres-Regulateur, et ParametresRegulateur : :serialInterface.
Référencé par decoderTrameHistorique().
{QString MenuState2;unsigned char x = 0;
MenuState2 = reponse.section(’ ’, 10, 10);x = (unsigned char)MenuState2.toInt(0, 16);
#ifdef DEBUG_REGULATEUR
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.23 Référence de la classe Regulateur 124
qDebug() << Q_FUNC_INFO << "menustate2 : " << MenuState2 << "x = " << x;#endif
if((x & 0x04) == 0x04){
journalisationRegulateur.modeLock = true;}else{
journalisationRegulateur.modeLock = false;}
QString requete = "UPDATE Regulateur SET verrou=’" + QString::number(journalisationRegulateur.modeLock) + "’";
//qDebug() << QString::fromUtf8("requête : ") << requete;bool retour = bdd->executer(requete);if(retour == false){
qDebug() << Q_FUNC_INFO << QString::fromUtf8("erreur modification !");}
parametresRegulateur.serialInterface = (x & 0x03);}
10.23.3.12 Regulateur : :decoderTrameHistorique ( QString reponse )
Parametresreponse
Renvoie
bool
Références JournalisationRegulateur : :ampereHeurePvConsomme, JournalisationRegulateur : :ampereHeurePVExcedant, -JournalisationRegulateur : :chargeAmpaireHeure, decoderMenuState(), decoderMenuState2(), journalisationRegulateur, LG_T-RAME_HISTORIQUE, JournalisationRegulateur : :nbSemaines, JournalisationRegulateur : :niveauChargeMatin, Journalisation-Regulateur : :niveauChargeSoir, et nouvellesJournalisationRegulateur().
Référencé par acquerirHistorique().
{int nombreSemaines;int nombreMois;double niveauMoyenChargeMatin;int debutEnregistrement;double tensionMaxBatterie;double tensionMinBatterie;double ampereHeurePvConsomme;double chargeAmepreHeure;double maxChargePv;double ampereHeurePVExcedant;double maxCourantPV;QString niveauCharge;double niveauChargeMatin, niveauChargeSoir;QString Jour[7];int debut, fin;
if(reponse.length() == LG_TRAME_HISTORIQUE && reponse.at(0).toAscii() ==’!’)
{#ifdef DEBUG_REGULATEUR
qDebug() << "Trame 0x21 : " << reponse << reponse.length();#endif
nombreSemaines = reponse.section(’ ’, 22,22).toInt(0, 16);nombreMois = reponse.section(’ ’, 23,23).toInt(0, 16);niveauMoyenChargeMatin = ((double)reponse.section(’ ’, 24,24).toInt(0,
16) + (double)reponse.section(’ ’, 25,25).toInt(0, 16))/2.;debutEnregistrement = (reponse.section(’ ’, 32,32).toInt(0, 16) +
reponse.section(’ ’, 33,33).toInt(0, 16));
#ifdef DEBUG_REGULATEURqDebug() << "Full cur: " << reponse.section(’ ’,2,2);qDebug() << "Etat menu 2: " << reponse.section(’ ’,10,10).toInt(0, 16);qDebug() << "Etat menu: " << reponse.section(’ ’,13,13).toInt(0, 16);qDebug() << "Nombre semaines: " << nombreSemaines;qDebug() << "Nombre mois: " << nombreMois;qDebug() << "Niveau moyen de le charge le matin: " <<
niveauMoyenChargeMatin << "%";qDebug() << "Debut de l’enregistrement (jours): " <<
debutEnregistrement;
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.23 Référence de la classe Regulateur 125
#endif
debut = 34;fin = 42;
// TODO : comprendre debutEnregistrement dans le décodage !// remplissage de l’historique des 7 jours// pour l’instant on récupère les dernières données de l’historique(JOUR 1)for (int i = 0 ; i < 1 ; i++){
Jour[i] = reponse.section(’ ’, debut,fin);
#ifdef DEBUG_REGULATEURqDebug() << "Trame jour " << i << ": " << Jour[i];
#endif
tensionMaxBatterie = ((Jour[i].section(’ ’,0,0).toInt(0, 16) * 0.032) + 9) * 2.;
tensionMinBatterie = ((Jour[i].section(’ ’,1,1).toInt(0, 16) * 0.032) + 9) * 2.;
ampereHeurePvConsomme = Jour[i].section(’ ’,2,2).toInt(0, 16);ampereHeurePVExcedant = Jour[i].section(’ ’,5,5).toInt(0, 16);chargeAmepreHeure = Jour[i].section(’ ’,3,3).toInt(0, 16) * 3.847;
maxChargePv = Jour[i].section(’ ’,4,4).toInt(0, 16) * 3.23;maxCourantPV = Jour[i].section(’ ’,6,6).toInt(0, 16) * 3.847;niveauCharge = Jour[i].section(’ ’, 7, 7);niveauChargeSoir = niveauCharge.mid(0, 1).toInt(0, 16) * 3.23;niveauChargeMatin = niveauCharge.mid(1, 2).toInt(0, 16) * 3.23;
#ifdef DEBUG_REGULATEURqDebug() << "Tension max Batterie: " << tensionMaxBatterie << "V";qDebug() << "Tension min Batterie: " << tensionMinBatterie << "V";
qDebug() << "Max Charge: " << maxChargePv << "%";qDebug() << "Max courant Pv: " << maxCourantPV << "%";qDebug() << "Niveau charge: " << niveauCharge;qDebug() << "Niveau de charge le soir: " << niveauChargeSoir << "%"
;qDebug() << "Niveau de charge le matin: " << niveauChargeMatin << "
%";
qDebug() << "# i : " << i;//qDebug() << "-> Consomation du PV : " << Jour[i].section(’ ’,2,2)
<< "Ampere/heure";qDebug() << "Consomation du PV: " << ampereHeurePvConsomme << "
Ampere/heure";//qDebug() << "-> Excedent PV: " << Jour[i].section(’ ’,5,5) <<
"A/h";qDebug() << "Excedent PV: " << ampereHeurePVExcedant << "A/h";//qDebug() << "-> Charge: " << Jour[i].section(’ ’,3,3) <<
"Ampere/heure";qDebug() << "Charge: " << chargeAmepreHeure << "Ampere/heure";
#endif
debut = debut + 9;fin = fin + 9;
}
decoderMenuState(reponse);decoderMenuState2(reponse);
journalisationRegulateur.ampereHeurePvConsomme = ampereHeurePvConsomme;journalisationRegulateur.ampereHeurePVExcedant = ampereHeurePVExcedant;journalisationRegulateur.niveauChargeMatin = niveauChargeMatin;journalisationRegulateur.niveauChargeSoir = niveauChargeSoir;journalisationRegulateur.chargeAmpaireHeure = chargeAmepreHeure;journalisationRegulateur.nbSemaines = reponse.section(’ ’, 22,22);
emit nouvellesJournalisationRegulateur(journalisationRegulateur);#ifdef DEBUG_REGULATEUR
qDebug() << QString::fromUtf8("Trame 0x21 : décodée");#endif
return true; // décodage ok}else{
#ifdef DEBUG_REGULATEURqDebug() << "Trame 0x21 invalide !";
#endif}return false; // pas de décodage !
}
10.23.3.13 Regulateur : :decoderTrameInformations ( QString reponse )
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.23 Référence de la classe Regulateur 126
Parametresreponse
A faire décoder l’ensemble des valeurs de la trame 0x20
Références bdd, InformationsRegulateur : :courantCharge, InformationsRegulateur : :courantPhotovoltaique, BaseDeDonnees-: :executer(), informationsRegulateur, LG_TRAME_INFORMATIONS, InformationsRegulateur : :modeChargeBatterie, -InformationsRegulateur : :niveauCharge, nouvellesInformationsRegulateur(), InformationsRegulateur : :onOff, Informations-Regulateur : :surplusEnergie, InformationsRegulateur : :temperature, et InformationsRegulateur : :tensionBatterie.
Référencé par acquerirInformations().
{int cx = 20; // 20 Aint fullcur_cx = 0x1A;double version;double niveauCharge;double tensionBatterie;double endCharge;int modeCharge;QString modeChargeBatterie;double courantCharge;double surplusEnergie;double heureDepuisDebutNuit;double dureeNuit;QString jourNuit, onOff;int chargeJourNuitOnOff;double temperature;double courantPhotovoltaique;
if(reponse.length() == LG_TRAME_INFORMATIONS && reponse.at(0).toAscii() ==’ ’)
{#ifdef DEBUG_REGULATEUR
qDebug() << "Trame 0x20 : " << reponse << reponse.length();#endif
// Version correcte ?if(!reponse.startsWith(" 064")){
#ifdef DEBUG_REGULATEURqDebug() << "Trame 0x20 : version incorrecte !";
#endifreturn;
}
version = reponse.section(’ ’, 1,1).toDouble();niveauCharge = (reponse.section(’ ’,2,2).toDouble()/35.)*100.; // 35voir doc page 9 du PDFtensionBatterie = ((reponse.section(’ ’,4,4).toDouble() * 0.032) + 9.)
* 2.;endCharge = ((reponse.section(’ ’,5,5).toDouble() * 0.032) + 9.) * 2.;modeCharge = reponse.section(’ ’,6,6).toInt();courantCharge = (reponse.section(’ ’,7,7).toDouble() * (double)
fullcur_cx) * (double)cx;surplusEnergie= (reponse.section(’ ’,9,9).toDouble() / 255.) * 100.;heureDepuisDebutNuit = reponse.section(’ ’,10,10).toDouble() / 10.;dureeNuit = reponse.section(’ ’,11,11).toDouble() / 10.;chargeJourNuitOnOff = reponse.section(’ ’,12,12).toInt();temperature = 25 + reponse.section(’ ’,14,14).toDouble();courantPhotovoltaique = (reponse.section(’ ’,15,15).toDouble()/(double)
fullcur_cx) * (double)cx;
if(modeCharge % 4 == 0){
modeChargeBatterie = "NORMAL";}else if (modeCharge % 4 == 1){
modeChargeBatterie = "BOOST";}else if (modeCharge % 4 == 2){
modeChargeBatterie = "EQUAL";}else modeChargeBatterie = "EQUAL";
if (((chargeJourNuitOnOff/4) % 2) == 0){
onOff = "Charge On";}else onOff = "Charge Off";
if (((chargeJourNuitOnOff/16) % 2) == 0){
jourNuit = "Jour";}
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.23 Référence de la classe Regulateur 127
else jourNuit = "Nuit";
#ifdef DEBUG_REGULATEURqDebug() << "Version: " << version; // okqDebug() << "Etat de la charge: " << reponse.section(’ ’,2,2).toInt();qDebug() << "Niveau de charge: " << niveauCharge << "%"; // okqDebug() << "Tension de le batterie: " << tensionBatterie << "V"; // okqDebug() << "Tension de fin de charge: " << endCharge << "V";qDebug("Mode de charge: %d (0x%02X)", modeCharge, modeCharge);qDebug() << "Mode de charge: " << modeChargeBatterie; // okqDebug() << "Courant de la charge: " << courantCharge << "Ah"; //qDebug() << "Surplus d’energie: " << surplusEnergie << "%"; // ?qDebug() << QString::fromUtf8("Heures depuis le début de le nuit: ") <<heureDepuisDebutNuit<< "H"; //qDebug() << "Duree de le nuit: " << dureeNuit<< "H";qDebug() << "Jour/Nuit et Charge ON/Off: " << jourNuit << "charge " <<
onOff;qDebug() << QString::fromUtf8("Température: ") << temperature << "
degres Celsius"; // okqDebug() << "Courant Photovoltaique: " << courantPhotovoltaique << "%";
#endif
informationsRegulateur.tensionBatterie = tensionBatterie;//okinformationsRegulateur.niveauCharge = niveauCharge;//okinformationsRegulateur.modeChargeBatterie = modeChargeBatterie;
if (onOff == "Charge On"){
informationsRegulateur.onOff = true;}else informationsRegulateur.onOff = false;
informationsRegulateur.temperature = temperature;informationsRegulateur.surplusEnergie = surplusEnergie;//okinformationsRegulateur.courantCharge = courantCharge;//okinformationsRegulateur.courantPhotovoltaique = courantPhotovoltaique;//
ok
emit nouvellesInformationsRegulateur(informationsRegulateur);#ifdef DEBUG_REGULATEUR
qDebug() << QString::fromUtf8("Trame 0x20 : décodée");#endif
}else{
#ifdef DEBUG_REGULATEURqDebug() << "Trame 0x20 invalide !";
#endif}
QString requete = "UPDATE Regulateur SET temperature=’" + QString::number(informationsRegulateur.temperature) + "’";
bool retour = bdd->executer(requete);if(retour == false){
qDebug() << Q_FUNC_INFO << QString::fromUtf8("erreur modification !");}
requete = "UPDATE Regulateur SET modeCharge=’" + informationsRegulateur.modeChargeBatterie + "’";
retour = bdd->executer(requete);if(retour == false){
qDebug() << Q_FUNC_INFO << QString::fromUtf8("erreur modification !");}
}
10.23.3.14 void Regulateur : :envoyerMenuState ( )
Références ParametresRegulateur : :buzzerOnOff, ParametresRegulateur : :modeCoupureChargeFaible, ParametresRegulateur-: :modeNuit, parametresRegulateur, port, Port : :recevoir(), Port : :transmettre(), et ParametresRegulateur : :typeBatterie.
Référencé par changerEtatBuzzer(), changerModeCharge(), changerModeNuit(), et changerTypeBatterie().
{QString MenuState;int menustate;QString trameAEnvoyer;QString reponse;bool reussi = true;
#ifdef DEBUG_REGULATEURqDebug() << Q_FUNC_INFO << "ccf" << parametresRegulateur.
modeCoupureChargeFaible << "type batterie" << parametresRegulateur.typeBatterie<< "buzzerOnOff" << parametresRegulateur.buzzerOnOff << "modenuit" <<
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.23 Référence de la classe Regulateur 128
parametresRegulateur.modeNuit;#endif
menustate = parametresRegulateur.modeCoupureChargeFaible | (parametresRegulateur.typeBatterie << 3) | (parametresRegulateur.buzzerOnOff <<4) | (parametresRegulateur.modeNuit << 5);
MenuState = QString("%1").arg(menustate, 2, 16, QLatin1Char(’0’)); // enhexa
trameAEnvoyer = "%,c,x,P,H,O,G," + QString(MenuState.at(0)) + "," + QString(MenuState.at(1));
#ifdef DEBUG_REGULATEURqDebug() << Q_FUNC_INFO << "menustate (int)" << menustate << "MenuState
(string)" << MenuState << "trameAEnvoyer" << trameAEnvoyer;#endif
QStringList trame = trameAEnvoyer.split(’,’);
// un caractère à la fois avec un contrôle d’échofor(int i = 0; i < trame.size(); i++){
port->transmettre(trame.at(i)); // un caractère
port->recevoir(reponse, 1); // pour l’écho
if(reponse.at(0) == trame.at(i).at(0)){
#ifdef DEBUG_REGULATEURqDebug() << Q_FUNC_INFO << trame.at(i).at(0) << "ok";#endif
}else{
qDebug() << Q_FUNC_INFO << trame.at(i).at(0) << "erreur";reussi = false;break; // voir documentation phocos en cas d’erreur
}}
}
10.23.3.15 Regulateur : :envoyerMenuState2 ( )
Parametres
Références ParametresRegulateur : :modeLock, parametresRegulateur, port, Port : :recevoir(), ParametresRegulateur : :serial-Interface, et Port : :transmettre().
Référencé par changerEtatCadenas().
{QString MenuState2;int menustate2;QString trameAEnvoyer;QString reponse;bool reussi = true;
menustate2 = parametresRegulateur.serialInterface | (parametresRegulateur.modeLock << 2);
MenuState2 = QString("%1").arg(menustate2, 2, 16, QLatin1Char(’0’)); // enhexa
trameAEnvoyer = "%,c,x,P,H,O,H," + QString(MenuState2.at(0)) + "," +QString(MenuState2.at(1));
#ifdef DEBUG_REGULATEURqDebug() << Q_FUNC_INFO << "menustate 2 (int)" << menustate2 << "MenuState
2 (string)" << MenuState2 << "trameAEnvoyer" << trameAEnvoyer;#endif
QStringList trame = trameAEnvoyer.split(’,’);
// un caractère à la fois avec un contrôle d’échofor(int i = 0; i < trame.size(); i++){
port->transmettre(trame.at(i)); // un caractère
port->recevoir(reponse, 1); // pour l’écho
if(reponse.at(0) == trame.at(i).at(0)){
#ifdef DEBUG_REGULATEURqDebug() << Q_FUNC_INFO << trame.at(i).at(0) << "ok";#endif
}else
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.23 Référence de la classe Regulateur 129
{qDebug() << Q_FUNC_INFO << trame.at(i).at(0) << "erreur";reussi = false;break; // voir documentation phocos en cas d’erreur
}}
}
10.23.3.16 Regulateur : :nouvellesAlarmesRegulateur ( AlarmesRegulateur alarmesRegulateur ) [signal]
ParametresalarmesRegulateur
Référencé par decoderAlarmes().
10.23.3.17 Regulateur : :nouvellesInformationsRegulateur ( InformationsRegulateur informationsRegulateur ) [signal]
Parametresinformations-
Regulateur
Référencé par decoderTrameInformations().
10.23.3.18 Regulateur : :nouvellesJournalisationRegulateur ( JournalisationRegulateur journalisationRegulateur )[signal]
Parametresjournalisation-
Regulateur
Référencé par decoderTrameHistorique().
10.23.4 Documentation des donnees membres
10.23.4.1 AlarmesRegulateur Regulateur : :alarmesRegulateur [private]
les alertes du Phocos
Référencé par acquerirInformations(), et decoderAlarmes().
10.23.4.2 BaseDeDonnees∗ Regulateur : :bdd [private]
un pointeur sur un objet BaseDeDonnees
Référencé par decoderMenuState(), decoderMenuState2(), decoderTrameInformations(), et Regulateur().
10.23.4.3 InformationsRegulateur Regulateur : :informationsRegulateur [private]
les informations du Phocos
Référencé par decoderTrameInformations().
10.23.4.4 JournalisationRegulateur Regulateur : :journalisationRegulateur [private]
les données de journalisation du Phocos
Référencé par changerEtatBuzzer(), changerEtatCadenas(), changerModeCharge(), changerModeNuit(), changerTypeBatterie(),decoderMenuState(), decoderMenuState2(), et decoderTrameHistorique().
10.23.4.5 QMutex Regulateur : :mutex [private]
Référencé par acquerirHistorique(), acquerirInformations(), changerEtatBuzzer(), changerEtatCadenas(), changerModeCharge(),changerModeNuit(), et changerTypeBatterie().
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.24 Référence de la classe StationMeteo 130
10.23.4.6 ParametresRegulateur Regulateur : :parametresRegulateur [private]
les parametres du Phocos
Référencé par changerEtatBuzzer(), changerEtatCadenas(), changerModeCharge(), changerModeNuit(), changerTypeBatterie(),decoderMenuState2(), envoyerMenuState(), envoyerMenuState2(), et Regulateur().
10.23.4.7 Port∗ Regulateur : :port [private]
un pointeur sur un objet Port
Référencé par acquerirHistorique(), acquerirInformations(), envoyerMenuState(), envoyerMenuState2(), Regulateur(), et ∼-Regulateur().
La documentation de cette classe a été générée à partir des fichiers suivants :– regulateur.h– regulateur.cpp
10.24 Reference de la classe StationMeteo
Gestion de la récupération des informations sur la CV7 et le capteur lumineux, affichage dans l’IHM e tstockage dans la base dedonnées.
#include <stationMeteo.h>
Graphe de collaboration de StationMeteo :
StationMeteo
- cv7- capteurLumineux- _vitesse- _direction- _temperature- vitesse- direction- temperature- informationStationMeteo- bdd
+ StationMeteo()+ ~StationMeteo()+ acquerir()+ lireLuminosite()+ lireVent()+ lireVitesse()+ lireVitesse()+ lireDirection()+ lireTemperature()+ enregistrerMesures()
CV7
- port- phrases
+ CV7()+ ~CV7()+ recupererPhrase()+ recevoirPhrases()+ decouperTrames()+ setMap()
cv7
Port
- port
+ Port()+ Port()+ ~Port()+ ouvrir()+ transmettre()+ recevoir()+ recevoir()+ lire()+ getNbOctetsDisponibles()+ estOuvert()- onReadyRead()
port
CapteurLuminosite
- luminosite
+ CapteurLuminosite()+ ~CapteurLuminosite()+ lire()
capteurLumineux
BaseDeDonnees
- db- mutex- baseDeDonnees- nbAcces
+ connecter()+ executer()+ recuperer()+ recuperer()+ recuperer()+ recuperer()+ getInstance()+ detruireInstance()- BaseDeDonnees()- ~BaseDeDonnees()
bdd
baseDeDonnees
Mesure
+ valeur+ unite+ horodatage+ valide
_temperature_direction_vitesse
InformationsStationMeteo
+ vitesseVent+ directionVent+ luminosite+ temperature+ valide
directionVentluminosite
vitesseVenttemperature
informationStationMeteo
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.24 Référence de la classe StationMeteo 131
Signaux
– void nouvellesInformationsStationMeteo (InformationsStationMeteo informationStationMeteo)
Fonctions membres publiques
– StationMeteo ()Constructeur par défaut.
– ∼StationMeteo ()Destructeur.
– void acquerir ()Lance les différentes lectures attendues : luminosité, vent (vitesse/direction), temperature.
– void lireLuminosite ()Récupère une phrase de capteurLuminosite et extrait la valeur.
– void lireVent ()Récupère une trame "$IIMWV" et l’envoie successivement à lireVitesse et lireDirection pour extraire les données.
– double lireVitesse (QString reponse)– double lireVitesse ()
Reçoit une trame "$IIMWV", extrait la vitesse et la renvoie sous forme d’un double.– double lireDirection (QString reponse)
Reçoit une trame "$IIMWV", extrait l’angle en degré de la direction, et le renvoie sous forme d’un double.– void lireTemperature ()
Recupère une trame "$WIXDR" et extrait la température.– void enregistrerMesures ()
Stocke les valeurs des données de la structure d’informations dans la base de données.
Attributs prives
– CV7 ∗ cv7– CapteurLuminosite ∗ capteurLumineux– Mesure _vitesse– Mesure _direction– Mesure _temperature– double vitesse– double direction– double temperature– InformationsStationMeteo informationStationMeteo– BaseDeDonnees ∗ bdd
10.24.1 Description detaillee
Auteur
Nicolas Detilleux <[email protected]>
10.24.2 Documentation des constructeurs et destructeur
10.24.2.1 StationMeteo : :StationMeteo ( )
Références bdd, capteurLumineux, BaseDeDonnees : :connecter(), cv7, InformationsStationMeteo : :directionVent, BaseDe-Donnees : :getInstance(), informationStationMeteo, InformationsStationMeteo : :luminosite, InformationsStationMeteo : :tempe-rature, Mesure : :valeur, InformationsStationMeteo : :valide, et InformationsStationMeteo : :vitesseVent.
{#ifdef DEBUG_STATIONMETEO
qDebug() << Q_FUNC_INFO << __LINE__<< QThread::currentThreadId() << this;#endif
informationStationMeteo.directionVent.valeur = 0.;informationStationMeteo.vitesseVent.valeur = 0.;informationStationMeteo.temperature.valeur = 0.;informationStationMeteo.luminosite.valeur = 0.;informationStationMeteo.valide = false;
cv7 = new CV7();capteurLumineux = new CapteurLuminosite();bdd = BaseDeDonnees::getInstance();bdd->connecter();
}
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.24 Référence de la classe StationMeteo 132
10.24.2.2 StationMeteo : :∼StationMeteo ( )
Références bdd, capteurLumineux, cv7, BaseDeDonnees : :detruireInstance(), et BaseDeDonnees : :executer().
{QString requeteEcriture = "UPDATE ‘Modules‘ SET ‘etat‘= ’0’ WHERE
‘nomModule‘=’meteo’";bdd->executer(requeteEcriture);
BaseDeDonnees::detruireInstance();delete capteurLumineux;delete cv7;
#ifdef DEBUG_STATIONMETEOqDebug() << Q_FUNC_INFO << QThread::currentThreadId() << this;
#endif}
10.24.3 Documentation des fonctions membres
10.24.3.1 StationMeteo : :acquerir ( )
Références bdd, cv7, enregistrerMesures(), BaseDeDonnees : :executer(), informationStationMeteo, lireLuminosite(), lire-Temperature(), lireVent(), nouvellesInformationsStationMeteo(), CV7 : :recevoirPhrases(), BaseDeDonnees : :recuperer(), etInformationsStationMeteo : :valide.
Référencé par AcquisitionMeteo : :main().
{#ifdef DEBUG_STATIONMETEO
qDebug() << Q_FUNC_INFO << QThread::currentThreadId() << this;#endif
bool retour;QString etat;QString requete = "SELECT ‘etat‘ FROM ‘Modules‘ WHERE ‘nomModule‘= ’meteo’"
;
lireLuminosite();
retour = cv7->recevoirPhrases();
// au moins une phrase a été reçue ?if(retour == true){
QString requeteEcriture = "UPDATE ‘Modules‘ SET ‘etat‘= ’1’ WHERE‘nomModule‘=’meteo’";bdd->executer(requeteEcriture);
lireVent();lireTemperature();
}bdd->recuperer(requete,etat);if (etat.toInt() == 1){
informationStationMeteo.valide = true;}emit nouvellesInformationsStationMeteo(informationStationMeteo);
enregistrerMesures();}
10.24.3.2 StationMeteo : :enregistrerMesures ( )
A faire ajouter enregistrerMesures() dans le diagramme de séquence Acquérir les données météos
Références bdd, InformationsStationMeteo : :directionVent, BaseDeDonnees : :executer(), informationStationMeteo, Informations-StationMeteo : :luminosite, InformationsStationMeteo : :temperature, Mesure : :valeur, et InformationsStationMeteo : :vitesseVent.
Référencé par acquerir().
{QDateTime maintenant = QDateTime::currentDateTime();QString horodatage = maintenant.toString("yyyy-MM-dd hh:mm:ss");
QString requete = "INSERT INTO MesuresStationMeteo (‘idStationMeteo‘ ,‘vitesseVent‘ , ‘directionVent‘ , ‘temperatureAir‘ , ‘luminosite‘ , ‘horodatage‘)VALUES (’3’, ’" + QString::number(informationStationMeteo.vitesseVent.valeur) + "’, ’" + QString::number(informationStationMeteo.directionVent.valeur) + "’, ’" +QString::number(informationStationMeteo.temperature.valeur) + "’, ’" +QString::number(informationStationMeteo.luminosite.valeur) + "’, ’" + horodatage + "’)";
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.24 Référence de la classe StationMeteo 133
#ifdef DEBUG_STATIONMETEOqDebug() << Q_FUNC_INFO << requete;#endif
bool retour = bdd->executer(requete);if(retour){
#ifdef DEBUG_STATIONMETEOqDebug() << Q_FUNC_INFO << QString::fromUtf8("Mesures enregistrées avecsucces");#endif
}else{
qDebug() << Q_FUNC_INFO << QString::fromUtf8("Erreur requête !");}
}
10.24.3.3 StationMeteo : :lireDirection ( QString reponse )
Parametresreponse
Renvoie
double
Références direction.
Référencé par lireVent().
{QString direction = "";direction = phrase.section(’,’,1,1);
#ifdef DEBUG_STATIONMETEOqDebug() << Q_FUNC_INFO << __LINE__ << direction << "Degres";
#endif
return direction.toDouble();}
10.24.3.4 StationMeteo : :lireLuminosite ( )
Références capteurLumineux, informationStationMeteo, CapteurLuminosite : :lire(), InformationsStationMeteo : :luminosite, -Mesure : :valeur, et Mesure : :valide.
Référencé par acquerir().
{QString luminosite = 0;
luminosite = capteurLumineux->lire();informationStationMeteo.luminosite.valeur = capteurLumineux->lire();if (!luminosite.isEmpty()){
informationStationMeteo.luminosite.valide = true;}
#ifdef DEBUG_STATIONMETEOqDebug() << Q_FUNC_INFO << __LINE__ << informationStationMeteo.luminosite.
valeur << "lux";qDebug() << Q_FUNC_INFO << __LINE__ << informationStationMeteo.luminosite.valide;
#endif}
10.24.3.5 StationMeteo : :lireTemperature ( )
Références _temperature, cv7, Mesure : :horodatage, informationStationMeteo, InformationsStationMeteo : :luminosite, CV7-: :recupererPhrase(), InformationsStationMeteo : :temperature, temperature, Mesure : :unite, Mesure : :valeur, et Mesure : :valide.
Référencé par acquerir().
{QString phrase;QDateTime horodatage = QDateTime::currentDateTime();
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.24 Référence de la classe StationMeteo 134
#ifndef SIMULATION_METEOphrase = cv7->recupererPhrase("XDR");
#elsephrase = "$WIXDR,c,022.0,c,,52";
#endif
if(!phrase.isEmpty()){
temperature = phrase.section(’,’,2,2).toDouble();informationStationMeteo.temperature.valeur = temperature;_temperature.valeur = temperature;_temperature.unite = "C";_temperature.valide = true;_temperature.horodatage = horodatage.toString("dd/MM/yyyy hh:mm:ss");
#ifdef DEBUG_STATIONMETEOqDebug() << Q_FUNC_INFO << __LINE__ << temperature << "Degres Celcius";qDebug() << Q_FUNC_INFO << __LINE__ << _temperature.horodatage;qDebug() << Q_FUNC_INFO << __LINE__ << informationStationMeteo.
luminosite.valide;#endif
}else{
_temperature.valide = false;}
}
10.24.3.6 StationMeteo : :lireVent ( )
Références cv7, direction, InformationsStationMeteo : :directionVent, informationStationMeteo, lireDirection(), lireVitesse(), CV7-: :recupererPhrase(), Mesure : :valeur, Mesure : :valide, vitesse, et InformationsStationMeteo : :vitesseVent.
Référencé par acquerir().
{QString phrase;
#ifndef SIMULATION_METEOphrase = cv7->recupererPhrase("MWV");
#elsephrase = "$IIMWV,10.,R,65.2,N,A*3D";
#endif
if(!phrase.isEmpty()){
#ifdef DEBUG_STATIONMETEOqDebug() << Q_FUNC_INFO << __LINE__<< phrase;
#endifvitesse = lireVitesse(phrase);informationStationMeteo.vitesseVent.valeur = vitesse;
#ifdef DEBUG_STATIONMETEOqDebug() << Q_FUNC_INFO << __LINE__<< vitesse;qDebug() << Q_FUNC_INFO << __LINE__ << informationStationMeteo.
vitesseVent.valide;#endif
direction = lireDirection(phrase);informationStationMeteo.directionVent.valeur = direction;
#ifdef DEBUG_STATIONMETEOqDebug() << Q_FUNC_INFO << __LINE__<< direction;qDebug() << Q_FUNC_INFO << __LINE__ << informationStationMeteo.
directionVent.valide;#endif
}}
10.24.3.7 double StationMeteo : :lireVitesse ( QString reponse )
Références vitesse.
{QString vitesse = "";vitesse = phrase.section(’,’,3,3);
#ifdef DEBUG_STATIONMETEOqDebug() << Q_FUNC_INFO << __LINE__<< vitesse << "Noeuds";
#endif
return vitesse.toDouble()*1.852;// conversion noeuds km/h}
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.24 Référence de la classe StationMeteo 135
10.24.3.8 StationMeteo : :lireVitesse ( )
Récupère une phrase "vent" dans la map de CV7, en extrait le vent et le renvoit sous forme de double.
Parametresreponse
Renvoie
doubledouble
Références cv7, et CV7 : :recupererPhrase().
Référencé par lireVent().
{return lireVitesse(cv7->recupererPhrase("MWV"));
}
10.24.3.9 StationMeteo : :nouvellesInformationsStationMeteo ( InformationsStationMeteo informationStationMeteo )[signal]
ParametresinformationStation-
Meteo
Référencé par acquerir().
10.24.4 Documentation des donnees membres
10.24.4.1 Mesure StationMeteo : :_direction [private]
TODO
10.24.4.2 Mesure StationMeteo : :_temperature [private]
TODO
Référencé par lireTemperature().
10.24.4.3 Mesure StationMeteo : :_vitesse [private]
TODO
10.24.4.4 BaseDeDonnees∗ StationMeteo : :bdd [private]
TODO
Référencé par acquerir(), enregistrerMesures(), StationMeteo(), et ∼StationMeteo().
10.24.4.5 CapteurLuminosite∗ StationMeteo : :capteurLumineux [private]
TODO
Référencé par lireLuminosite(), StationMeteo(), et ∼StationMeteo().
10.24.4.6 CV7∗ StationMeteo : :cv7 [private]
TODO
Référencé par acquerir(), lireTemperature(), lireVent(), lireVitesse(), StationMeteo(), et ∼StationMeteo().
10.24.4.7 double StationMeteo : :direction [private]
TODO
Référencé par lireDirection(), et lireVent().
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.25 Référence de la classe SuiveurSolaire 136
10.24.4.8 InformationsStationMeteo StationMeteo : :informationStationMeteo [private]
TODO
Référencé par acquerir(), enregistrerMesures(), lireLuminosite(), lireTemperature(), lireVent(), et StationMeteo().
10.24.4.9 double StationMeteo : :temperature [private]
TODO
Référencé par lireTemperature().
10.24.4.10 double StationMeteo : :vitesse [private]
Référencé par lireVent(), et lireVitesse().
La documentation de cette classe a été générée à partir des fichiers suivants :– stationMeteo.h– stationMeteo.cpp
10.25 Reference de la classe SuiveurSolaire
Communication avec le système de positionnement.
#include <suiveurSolaire.h>
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.25 Référence de la classe SuiveurSolaire 137
Graphe de collaboration de SuiveurSolaire :
SuiveurSolaire
- informationsSuiveur- port- mutexPort- protectionVent- bdd- date
+ SuiveurSolaire()+ ~SuiveurSolaire()+ acquerir()+ getEtat()+ deplacerPanneauGauche()+ deplacerPanneauDroite()+ deplacerPanneauHaut()+ deplacerPanneauBas()+ deplacerManuel()+ deplacerAngleHoraire()+ deplacerAngleElevation()+ deplacer()+ proteger()+ enregistrerInformationsBdd()+ gererModeAutoProgramme()+ stopperCommande()- decoderTrame()- reinitialiserInformationsSuiveur()- calculerChecksum()
InformationsSuiveur
+ heure+ minute+ seconde+ jour+ mois+ angleHoraireA+ positionHoraireA+ destinationA+ iMoteurA+ angleElevationB
and 12 more...
informationsSuiveur
BaseDeDonnees
- db- mutex- baseDeDonnees- nbAcces
+ connecter()+ executer()+ recuperer()+ recuperer()+ recuperer()+ recuperer()+ getInstance()+ detruireInstance()- BaseDeDonnees()- ~BaseDeDonnees()
bdd
baseDeDonnees
Port
- port
+ Port()+ Port()+ ~Port()+ ouvrir()+ transmettre()+ recevoir()+ recevoir()+ lire()+ getNbOctetsDisponibles()+ estOuvert()- onReadyRead()
port
Connecteurs publics
– void deplacerPanneauGauche ()– void deplacerPanneauDroite ()– void deplacerPanneauHaut ()– void deplacerPanneauBas ()– void deplacerManuel (char direction)– void deplacerAngleHoraire (double angleHoraire)– void deplacerAngleElevation (double angleElevation)– void deplacer (double angleHoraire, double angleElevation)– void proteger (bool etat)– void enregistrerInformationsBdd ()– void gererModeAutoProgramme (bool modeAuto)– void stopperCommande ()
Signaux
– void signalerInformationsSuiveur (InformationsSuiveur informationsSuiveur)
Fonctions membres publiques
– SuiveurSolaire ()
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.25 Référence de la classe SuiveurSolaire 138
– ∼SuiveurSolaire ()– void acquerir ()– bool getEtat ()
Fonctions membres privees
– void decoderTrame (QString reponseSuiveur)– void reinitialiserInformationsSuiveur ()– unsigned char calculerChecksum (QString commandeSuiveur)
Attributs prives
– InformationsSuiveur informationsSuiveur– Port ∗ port– QMutex mutexPort– bool protectionVent– BaseDeDonnees ∗ bdd– QDate ∗ date
10.25.1 Description detaillee
Auteur
Rémy Gonzalves <[email protected]>
10.25.2 Documentation des constructeurs et destructeur
10.25.2.1 SuiveurSolaire : :SuiveurSolaire ( )
Références bdd, BaseDeDonnees : :connecter(), Port : :estOuvert(), BaseDeDonnees : :getInstance(), port, PORT_SUIVEUR_-SOLAIRE, protectionVent, et reinitialiserInformationsSuiveur().
{#ifdef DEBUG_SUIVEUR
qDebug() << Q_FUNC_INFO << QThread::currentThreadId() << this;#endif
port = new Port(QString(PORT_SUIVEUR_SOLAIRE));#ifdef DEBUG_SUIVEUR
qDebug() << Q_FUNC_INFO << "ouverture port helios :" << port->estOuvert();#endif
reinitialiserInformationsSuiveur();protectionVent = false;
bdd = BaseDeDonnees::getInstance();bdd->connecter();
}
10.25.2.2 SuiveurSolaire : :∼SuiveurSolaire ( )
Références BaseDeDonnees : :detruireInstance(), et port.
{BaseDeDonnees::detruireInstance();delete port;
#ifdef DEBUG_SUIVEURqDebug() << Q_FUNC_INFO << QThread::currentThreadId() << this;
#endif}
10.25.3 Documentation des fonctions membres
10.25.3.1 SuiveurSolaire : :acquerir ( )
<todo decommenter une fois les tests fini
Références decoderTrame(), mutexPort, port, et Port : :recevoir().
Référencé par AcquisitionSuiveur : :main().
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.25 Référence de la classe SuiveurSolaire 139
{QString reponseSuiveur;
#ifndef SIMULATION_SUIVEUR_SOLAIRE
mutexPort.lock();port->recevoir(reponseSuiveur);mutexPort.unlock();
#else
// trame simulée :// format 1 en hexa ://reponseSuiveur =
"\x24\x28\x31\x33\x24\x29\x30\x24\x2A\x32\x38\x31\x24\x2C\x2D\x34\x39\x2E\x31\x24\x2D\x32\x35\x32\x31\x24\x2E\x32\x35\x32\x32\x24\x2F\x30\x2E\x30\x30\x24\x30\x38\x35\x2E\x36\x24\x31\x31\x31\x35\x34\x37\x24\x32\x31\x31\x35\x34\x37\x24\x33\x30\x2E\x30\x30";
// format 2 en ascii ://reponseSuiveur =
"$(09$)37$*01$\\0x800000$\\0x810001$,-0.2$-112387$.112379$/0.00$045.6$1115840$2115849$30.00";reponseSuiveur = "
$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$+10$;06$W107413333$X1431406408$Y-2027742942$(09$)13$*40$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$:Ea=0,Eb=0,Wi=0,Si=0$\0x880000$8tracking disabled$(09$)13$*40$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$^0.0$\0x89-nan$_0.0$\0x8a-nan$S2$t0$u7$v7$(09$)13$*40$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$F355.0$G335.0$H39.6$I40.4$J0.0$K0.0$(09$)13$*40$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$L31.2$M0.0$N380.8$O195500.0$P3$443.9$(09$)13$*40$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$\0x846$R22$T115.0$U80.0$V0000$54.8$r80.0$(09$)13$*40$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$Z1$%36A1$s77$=0.0$>0.0$(09$)13$*40$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$[0000$6300$]0$Q0$\0$(09$)13$*40$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$‘40.3$a430.0$b388.9$c95.4$d39.6$e0.0$(09$)13$*41$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$f0.0$g0.0$h380.8$i195500.0$j4$k3$(09$)13$*41$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$l0$m45$n0$o0$p1.00$q1.00$(09$)13$*41$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$w0.0$x40.0$y40$\0x8530$z0$(09$)13$*41$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$~0$\0x7f20${90$|1.600$}20$(09$)13$*41$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$&6.36 (B1)$’26.18$\0x821180$\0x831180$\0x860.0$\0x870.0$(09$)13$*41$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$+10$;06$W107413333$X1431406408$Y-2027742942$(09$)13$*41$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$:Ea=0,Eb=0,Wi=0,Si=0$\0x880000$8trackingdisabled$(09$)13$*41$\0x800000$\0
x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$^0.0$\0x89-nan$_0.0$\0x8a-nan$S2$t0$u7$v7$(09$)13$*41$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$F355.0$G335.0$H39.6$I40.4$J0.0$K0.0$(09$)13$*41$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$L31.2$M0.0$N380.8$O195500.0$P3$443.9$(09$)13$*41$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$\0x846$R22$T115.0$U80.0$V0000$54.8$r80.0$(09$)13$*41$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$Z1$%36A1$s78$=0.0$>0.0$(09$)13$*41$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$[0000$6300$]0$Q0$\0$(09$)13$*42$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$‘40.3$a430.0$b388.9$c95.4$d39.6$e0.0$(09$)13$*42$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$f0.0$g0.0$h380.8$i195500.0$j4$k3$(09$)13$*42$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$l0$m45$n0$o0$p1.00$q1.00$(09$)13$*42$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$w0.0$x40.0$y40$\0x8530$z0$(09$)13$*42$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$~0$\0x7f20${90$|1.600$}20$(09$)13$*42$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$&6.36 (B1)$’26.18$\0x821180$\0x831180$\0x860.0$\0x870.0$(09$)13$*42$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$+10$;06$W107413333$X1431406408$Y-2027742942$(09$)13$*42$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$:Ea=0,Eb=0,Wi=0,Si=0$\0x880000$8trackingdisabled$(09$)13$*42$\0x800000$\0
x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$^0.0$\0x89-nan$_0.0$\0x8a-nan$S2$t0$u7$v7$(09$)13$*42$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$F355.0$G335.0$H39.6$I40.4$J0.0$K0.0$(09$)13$*42$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$L31.2$M0.0$N380.8$O195500.0$P3$443.9$(09$)13$*42$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$\0x846$R22$T115.0$U80.0$V0000$54.8$r80.0$(09$)13$*43$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$Z1$%36A1$s79$=0.0$>0.0$(09$)13$*43$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$[0000$6300$]0$Q0$\0$(09$)13$*43$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$‘40.3$a430.0$b388.9$c95.4$d39.6$e0.0$(09$)13$*43$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$f0.0$g0.0$h380.8$i195500.0$j4$k3$(09$)13$*43$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$l0$m45$n0$o0$p1.00$q1.00$(09$)13$*43$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$w0.0$x40.0$y40$\0x8530$z0$(09$)13$*43$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$~0$\0x7f20${90$|1.600$}20$(09$)13$*43$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$&6.36(B1)$’26.18$\0x821180$\0x831180$\0x860.0$\0x870.0$(09$)13$*43$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$+10$;06$W107413333$X1431406408$Y-2027742942$(09$)13$*43$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$:Ea=0,Eb=0,Wi=0,Si=0$\0x880000$8trackingdisabled$(09$)13$*43$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$^0.0$\0x89-nan$_0.0$\0x8a-nan$S2$t0$u7$v7$(09$)13$*43$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$F355.0$G335.0$H39.6$I40.4$J0.0$K0.0$(09$)13$*43$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$L31.2$M0.0$N380.8$O195500.0$P3$443.9$(09$)13$*44$\0x800000$\0
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.25 Référence de la classe SuiveurSolaire 140
x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$\0x846$R22$T115.0$U80.0$V0000$54.8$r80.0$(09$)13$*44$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$Z1$%36A1$s80$=0.0$>0.0$(09$)13$*44$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$[0000$6300$]0$Q0$\0$(09$)13$*44$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$‘40.3$a430.0$b388.9$c95.4$d39.6$e0.0$(09$)13$*44$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$f0.0$g0.0$h380.8$i195500.0$j4$k3$(09$)13$*44$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$l0$m45$n0$o0$p1.00$q1.00$(09$)13$*44$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$w0.0$x40.0$y40$\0x8530$z0$(09$)13$*44$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$~0$\0x7f20${90$|1.600$}20$(09$)13$*44$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$&6.36(B1)$’26.18$\0x821180$\0x831180$\0x860.0$\0x870.0$(09$)13$*44$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$+10$;06$W107413333$X1431406408$Y-2027742942$(09$)13$*44$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$:Ea=0,Eb=0,Wi=0,Si=0$\0x880000$8tracking disabled$(09$)13$*44$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$^0.0$\0x89-nan$_0.0$\0x8a-nan$S2$t0$u7$v7$(09$)13$*45$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$F355.0$G335.0$H39.6$I40.4$J0.0$K0.0$(09$)13$*45$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$L31.2$M0.0$N380.8$O195500.0$P3$443.9$(09$)13$*45$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$\0x846$R22$T115.0$U80.0$V0000$54.8$r80.0$(09$)13$*45$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$Z1$%36A1$s81$=0.0$>0.0$(09$)13$*45$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$[0000$6300$]0$Q0$\0$(09$)13$*45$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$‘40.3$a430.0$b388.9$c95.4$d39.6$e0.0$(09$)13$*45$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$f0.0$g0.0$h380.8$i195500.0$j4$k3$(09$)13$*45$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$l0$m45$n0$o0$p1.00$q1.00$(09$)13$*45$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$w0.0$x40.0$y40$\0x8530$z0$(09$)13$*45$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$~0$\0x7f20${90$|1.600$}20$(09$)13$*45$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$&6.36 (B1)$’26.18$\0x821180$\0x831180$\0x860.0$\0x870.0$(09$)13$*45$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$+10$;06$W107413333$X1431406408$Y-2027742942$(09$)13$*45$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$:Ea=0,Eb=0,Wi=0,Si=0$\0x880000$8tracking disabled$(09$)13$*46$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$^0.0$\0x89-nan$_0.0$\0x8a-nan$S2$t0$u7$v7$(09$)13$*46$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$F355.0$G335.0$H39.6$I40.4$J0.0$K0.0$(09$)13$*46$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$L31.2$M0.0$N380.8$O195500.0$P3$443.9$(09$)13$*46$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$\0x846$R22$T115.0$U80.0$V0000$54.8$r80.0$(09$)13$*46$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$Z1$%36A1$s82$=0.0$>0.0$(09$)13$*46$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$[0000$6300$]0$Q0$\0$(09$)13$*46$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$‘40.3$a430.0$b388.9$c95.4$d39.6$e0.0$(09$)13$*46$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$f0.0$g0.0$h380.8$i195500.0$j4$k3$(09$)13$*46$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$l0$m45$n0$o0$p1.00$q1.00$(09$)13$*46$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$w0.0$x40.0$y40$\0x8530$z0$(09$)13$*46$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$~0$\0x7f20${90$|1.600$}20$(09$)13$*46$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$&6.36 (B1)$’26.18$\0x821180$\0x831180$\0x860.0$\0x870.0$(09$)13$*47$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$+10$;06$W107413333$X1431406408$Y-2027742942$(09$)13$*47$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$:Ea=0,Eb=0,Wi=0,Si=0$\0x880000$8tracking disabled$(09$)13$*47$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$^0.0$\0x89-nan$_0.0$\0x8a-nan$S2$t0$u7$v7$(09$)13$*47$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$F355.0$G335.0$H39.6$I40.4$J0.0$K0.0$(09$)13$*47$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$L31.2$M0.0$N380.8$O195500.0$P3$443.9$(09$)13$*47$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$\0x846$R22$T115.0$U80.0$V0000$54.8$r80.0$(09$)13$*47$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$Z1$%36A1$s83$=0.0$>0.0$(09$)13$*47$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$[0000$6300$]0$Q0$\0$(09$)13$*47$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$‘40.3$a430.0$b388.9$c95.4$d39.6$e0.0$(09$)13$*47$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$f0.0$g0.0$h380.8$i195500.0$j4$k3$(09$)13$*47$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$l0$m45$n0$o0$p1.00$q1.00$(09$)13$*47$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$w0.0$x40.0$y40$\0x8530$z0$(09$)13$*47$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$~0$\0x7f20${90$|1.600$}20$(09$)13$*48$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$&6.36 (B1)$’26.18$\0x821180$\0x831180$\0x860.0$\0x870.0$(09$)13$*48$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$+10$;06$W107413333$X1431406408$Y-2027742942$(09$)13$*48$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$:Ea=0,Eb=0,Wi=0,Si=0$\0x880000$8tracking disabled$(09$)13$*48$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$^0.0$\0x89-nan$_0.0$\0x8a-nan$S2$t0$u7$v7$(09$)13$*48$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$F355.0$G335.0$H39.6$I40.4$J0.0$K0.0$(09$)13$*48$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$L31.2$M0.0$N380.8$O195500.0$P3$443.9$(09$)13$*48$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$\0x846$R22$T115.0$U80.0$V0000$54.8$r80.0$(09$)13$*48$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$Z1$%36A1$s84$=0.0$>0.0$(09$)13$*48$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$[0000$6300$]0$Q0$\0$(09$)13$*48$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$‘40.3$a430.0$b388.9$c95.4$d39.6$e0.0$(09$)13$*48$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$f0.0$g0.0$h380.8$i195500.0$j4$k3$(09$)13$*48$\0x800000$\0
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.25 Référence de la classe SuiveurSolaire 141
x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$l0$m45$n0$o0$p1.00$q1.00$(09$)13$*49$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$w0.0$x40.0$y40$\0x8530$z0$(09$)13$*49$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$~0$\0x7f20${90$|1.600$}20$(09$)13$*49$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$&6.36 (B1)$’26.19$\0x821180$\0x831180$\0x860.0$\0x870.0$(09$)13$*49$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$+10$;06$W107413333$X1431406408$Y-2027742942$(09$)13$*49$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$:Ea=0,Eb=0,Wi=0,Si=0$\0x880000$8tracking disabled$(09$)13$*49$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$^0.0$\0x89-nan$_0.0$\0x8a-nan$S2$t0$u7$v7$(09$)13$*49$\0x800000$\0x810001$,17.9$-147036$.147028$/0.00$089.6$10982$20991$30.00$F355.0$G335.0$H39.6";
#ifdef DEBUG_SUIVEURqDebug() << Q_FUNC_INFO << "SIMULATION SUIVEUR SOLAIRE";
#endif
#endif
#ifdef DEBUG_SUIVEUR//qDebug() << Q_FUNC_INFO << reponseSuiveur;
#endif
if(reponseSuiveur.length() != 0)decoderTrame(reponseSuiveur);
//enregistrerInformationsBdd();}
10.25.3.2 SuiveurSolaire : :calculerChecksum ( QString commandeSuiveur ) [private]
ParametrescommandeSuiveur
Renvoie
unsigned char
Référencé par deplacerAngleElevation(), deplacerAngleHoraire(), deplacerManuel(), gererModeAutoProgramme(), et stopper-Commande().
{/*
Toute les donnee dans le string sont additionnée en 1 octet.Puis on fait le complement a deux.Exemple: On veut envoyer : 1234.Le string serait donc ainsi $&1234 -(en hexa) 0x24 0x26 0x31 0x32 0x330x34(somme) 0x114(overflow est ignore) 0x14(complement a deux) 0x100-0x14=0xEC.checksum = 0xEC.
*/unsigned char checksum = 0;
for(int i=0; i < commandeSuiveur.size(); i++){
checksum += (unsigned char)commandeSuiveur.at(i).toAscii();}
checksum = 0x100 - checksum;
#ifdef DEBUG_SUIVEUR//qDebug("checksum = 0x%02X", checksum);
#endif
return checksum;}
10.25.3.3 SuiveurSolaire : :decoderTrame ( QString reponseSuiveur ) [private]
ParametresreponseSuiveur
A faire décoder l’ensemble des valeurs demandées de la trame suiveur
Références InformationsSuiveur : :angleElevationB, InformationsSuiveur : :angleHoraireA, InformationsSuiveur : :automatique,InformationsSuiveur : :destinationA, InformationsSuiveur : :destinationB, InformationsSuiveur : :erreurs, InformationsSuiveur-
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.25 Référence de la classe SuiveurSolaire 142
: :heure, InformationsSuiveur : :iMoteurA, InformationsSuiveur : :iMoteurB, INDEX_ANGLE_ELEVATION, INDEX_ANGLE_HOR-AIRE, INDEX_AUTOMATIQUE, INDEX_DEST_ELEVATION, INDEX_DEST_HORAIRE, INDEX_ERREUR, INDEX_HEURE, IN-DEX_JOUR, INDEX_LATITUDE, INDEX_LONGITUDE, INDEX_MINUTE, INDEX_MOIS, INDEX_MOTEUR_A, INDEX_MOTEU-R_B, INDEX_POS_ELEVATION, INDEX_POS_HORAIRE, INDEX_SECONDE, informationsSuiveur, InformationsSuiveur : :jour,InformationsSuiveur : :latitude, LG_HEURE, LG_MINUTE, LG_SECONDE, InformationsSuiveur : :longitude, InformationsSuiveur-: :minute, InformationsSuiveur : :mois, InformationsSuiveur : :movingInA, InformationsSuiveur : :movingInB, InformationsSuiveur-: :movingOutA, InformationsSuiveur : :movingOutB, InformationsSuiveur : :orientationLatitude, InformationsSuiveur : :orientation-Longitude, InformationsSuiveur : :positionElevationB, InformationsSuiveur : :positionHoraireA, InformationsSuiveur : :seconde, etsignalerInformationsSuiveur().
Référencé par acquerir().
{// découper la reponse en champsQStringList champs;QChar delimiteur = ’$’;
#ifdef DEBUG_SUIVEUR//qDebug() << Q_FUNC_INFO << reponseSuiveur;
#endifchamps = reponseSuiveur.split(delimiteur);
#ifdef DEBUG_SUIVEUR//qDebug() << Q_FUNC_INFO << champs;
#endif
QString champ;QChar index;QString donnee;QString modeAuto;
for(int i = 1; i < champs.size()-1; i++){
champ = champs.at(i);index = champ.at(0);// quel index ?switch(index.toAscii()){case INDEX_HEURE :
// extrait l’heuredonnee = champ.mid(1, LG_HEURE);informationsSuiveur.heure = donnee.toInt();break;
case INDEX_MINUTE :// extrait les minutesdonnee = champ.mid(1, LG_MINUTE);informationsSuiveur.minute = donnee.toInt();break;
case INDEX_SECONDE :// extrait les secondesdonnee = champ.mid(1, LG_SECONDE);informationsSuiveur.seconde = donnee.toInt();break;
case INDEX_ANGLE_HORAIRE :// extrait l’angle horaire (moteur A)donnee = champ.mid(1, champ.size()-1);informationsSuiveur.angleHoraireA = donnee.toDouble();break;
case INDEX_ANGLE_ELEVATION :// extrait l’angle élévation (moteur B)donnee = champ.mid(1, champ.size()-1);informationsSuiveur.angleElevationB = donnee.toDouble();break;
case INDEX_POS_HORAIRE :// extrait la position horaire (moteur A)donnee = champ.mid(1, champ.size()-1);informationsSuiveur.positionHoraireA = donnee.toInt();break;
case INDEX_POS_ELEVATION :// extrait la position élévation (moteur B)donnee = champ.mid(1, champ.size()-1);informationsSuiveur.positionElevationB = donnee.toInt();break;
case INDEX_DEST_HORAIRE :// extrait la position horaire (moteur A)donnee = champ.mid(1, champ.size()-1);informationsSuiveur.destinationA = donnee.toInt();break;
case INDEX_DEST_ELEVATION :// extrait la position élévation (moteur B)donnee = champ.mid(1, champ.size()-1);informationsSuiveur.destinationB = donnee.toInt();break;
case INDEX_JOUR ://extrait le jourdonnee = champ.mid(1, champ.size()-1);
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.25 Référence de la classe SuiveurSolaire 143
informationsSuiveur.jour = donnee.toInt();break;
case INDEX_MOIS ://extrait le moisdonnee = champ.mid(1, champ.size()-1);informationsSuiveur.mois = donnee.toInt();break;
case INDEX_LATITUDE ://extrait la latitudedonnee = champ.mid(1, champ.size()-1);informationsSuiveur.latitude = donnee.toDouble();// temporairement :informationsSuiveur.orientationLatitude = ’N’;break;
case INDEX_LONGITUDE ://extrait la longitudedonnee = champ.mid(1, champ.size()-1);informationsSuiveur.longitude = donnee.toDouble();// temporairement :informationsSuiveur.orientationLongitude = ’E’;break;
/*case INDEX_HEMISPHERE ://extrait l’hemispheredonnee = champ.mid(1, champ.size()-1);//informationsSuiveur.hemisphere = donnee.toAscii();break;*/
case INDEX_AUTOMATIQUE ://extrait le mode automatiquedonnee = champ.mid(1, champ.size()-1);if (donnee == "tracking disabled"){
informationsSuiveur.automatique = false;modeAuto = "Inactif";
}else{
informationsSuiveur.automatique = true;modeAuto = "Actif";
}break;
case INDEX_MOTEUR_A :// extrait le courant du moteur Adonnee = champ.mid(1, champ.size()-1);informationsSuiveur.iMoteurA = donnee.toDouble();break;
case INDEX_MOTEUR_B :// extrait le courant du moteur Bdonnee = champ.mid(1, champ.size()-1);informationsSuiveur.iMoteurB = donnee.toDouble();break;
}// pour les index étendus ?if(index == QChar(INDEX_ERREUR)){
donnee = champ.mid(1, champ.size()-1);//qDebug() << Q_FUNC_INFO << "INDEX_ERREUR : " << donnee;informationsSuiveur.movingOutA = (donnee.toInt() & 0x000800) >> 11;informationsSuiveur.movingInA = (donnee.toInt() & 0x001000) >> 12;informationsSuiveur.movingOutB = (donnee.toInt() & 0x008000) >> 15;informationsSuiveur.movingInB = (donnee.toInt() & 0x010000) >> 16;informationsSuiveur.erreurs = (donnee.toInt() & 0x0000FF);
}/*if(index > QChar(0x80)){
donnee = champ.mid(1, champ.size()-1);qDebug() << Q_FUNC_INFO << "Index étendu : " << index << donnee;
}*/}
#ifdef DEBUG_SUIVEUR/*qDebug() << "heure :" << informationsSuiveur.heure <<
informationsSuiveur.minute << informationsSuiveur.seconde;qDebug() << "angle horaire (A) :" << informationsSuiveur.angleHoraireA;qDebug() << "angle elevation (B) :" << informationsSuiveur.angleElevationB;qDebug() << "position horaire (A) :" <<
informationsSuiveur.positionHoraireA;qDebug() << "position elevation (B) :" <<
informationsSuiveur.positionElevationB;qDebug() << "date :" << informationsSuiveur.jour << "/" <<
informationsSuiveur.mois;qDebug() << "mode automatique :" << modeAuto << "(" <<
informationsSuiveur.automatique << ")";qDebug() << "latitude (orientation):" << informationsSuiveur.latitude <<
"(" << informationsSuiveur.orientationLatitude << ")";qDebug() << "longitude (orientation):" << informationsSuiveur.longitude <<
"(" << informationsSuiveur.orientationLongitude << ")";*/qDebug() << "movingOutA :" << informationsSuiveur.movingOutA;qDebug() << "movingInA :" << informationsSuiveur.movingInA;qDebug() << "movingOutB :" << informationsSuiveur.movingOutB;qDebug() << "movingInB :" << informationsSuiveur.movingInB;qDebug() << "erreurs :" << informationsSuiveur.erreurs;
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.25 Référence de la classe SuiveurSolaire 144
qDebug() << "iMoteurA :" << informationsSuiveur.iMoteurA;qDebug() << "iMoteurB :" << informationsSuiveur.iMoteurB;
#endif
emit signalerInformationsSuiveur(informationsSuiveur);}
10.25.3.4 SuiveurSolaire : :deplacer ( double angleHoraire, double angleElevation ) [slot]
ParametresangleHoraire
angleElevation
Références deplacerAngleElevation(), et deplacerAngleHoraire().
Référencé par proteger().
{#ifdef DEBUG_SUIVEUR
qDebug() << Q_FUNC_INFO << "angleHoraire" << angleHoraire << "angleElevation" << angleElevation;
#endifdeplacerAngleHoraire(angleHoraire);// TODO this->msleep(5000);sleep(5);deplacerAngleElevation(angleElevation);
}
10.25.3.5 SuiveurSolaire : :deplacerAngleElevation ( double angleElevation ) [slot]
ParametresangleElevation
Références calculerChecksum(), mutexPort, port, et Port : :transmettre().
Référencé par deplacer().
{/*Elevation :
- Angle vertical entre le plan horizontal et le soleil.- index: 0x30- Le format de la donnee est XXX.x ou XX.x ou X.x (angle en degrees)
*/
QString commandeSuiveur;char delimiteur = ’$’;char index = ’0’;unsigned char checksum = 0;
commandeSuiveur += QChar(delimiteur);commandeSuiveur += QChar(index);commandeSuiveur += QString::number(angleElevation,’f’, 1);
checksum = calculerChecksum(commandeSuiveur);
commandeSuiveur += QChar(checksum);
#ifdef DEBUG_SUIVEURqDebug() << Q_FUNC_INFO << commandeSuiveur;
#endif
mutexPort.lock();port->transmettre(commandeSuiveur);mutexPort.unlock();
}
10.25.3.6 SuiveurSolaire : :deplacerAngleHoraire ( double angleHoraire ) [slot]
ParametresangleHoraire
Références calculerChecksum(), mutexPort, port, et Port : :transmettre().
Référencé par deplacer().
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.25 Référence de la classe SuiveurSolaire 145
{/*
Angle horaire :- Angle entre le soleil et le sud- index : 0x2C- Le format de la donnée est XX.x or -XX.x or X.x (angle en degrees)
*/QString commandeSuiveur;char delimiteur = ’$’;char index = ’,’;unsigned char checksum = 0;
commandeSuiveur += QChar(delimiteur);commandeSuiveur += QChar(index);commandeSuiveur += QString::number(angleHoraire, ’f’, 1);
checksum = calculerChecksum(commandeSuiveur);
commandeSuiveur += QChar(checksum);
#ifdef DEBUG_SUIVEURqDebug() << Q_FUNC_INFO << commandeSuiveur;
#endif
mutexPort.lock();port->transmettre(commandeSuiveur);mutexPort.unlock();
}
10.25.3.7 SuiveurSolaire : :deplacerManuel ( char direction ) [slot]
Parametresdirection
Références calculerChecksum(), mutexPort, port, et Port : :transmettre().
Référencé par deplacerPanneauBas(), deplacerPanneauDroite(), deplacerPanneauGauche(), et deplacerPanneauHaut().
{/*Extrait de la documentation protocole :Manuel :- axe H : 50 impulsions; axe V : 100 impulsions.- index : 0x39- Format des données : 0x32 = gauche, 0x34 = droite, 0x31 = haut et0x33 = bas.
Donc :
Monter (moteur B) $91rDescendre (moteur B) $93pA gauche (moteur A vers est) $94oA droite (moteur A vers ouest)$92q
*/QString commandeSuiveur;char delimiteur = ’$’;char index = ’9’;unsigned char checksum = 0;
commandeSuiveur += QChar(delimiteur);commandeSuiveur += QChar(index);commandeSuiveur += QChar(direction);
checksum = calculerChecksum(commandeSuiveur);
commandeSuiveur += checksum;
#ifdef DEBUG_SUIVEURqDebug() << Q_FUNC_INFO << commandeSuiveur;
#endif
mutexPort.lock();port->transmettre(commandeSuiveur);mutexPort.unlock();
}
10.25.3.8 SuiveurSolaire : :deplacerPanneauBas ( ) [slot]
Références deplacerManuel(), et DOWN.
{deplacerManuel(DOWN);
}
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.25 Référence de la classe SuiveurSolaire 146
10.25.3.9 SuiveurSolaire : :deplacerPanneauDroite ( ) [slot]
Références deplacerManuel(), et RIGHT.
{deplacerManuel(RIGHT);
}
10.25.3.10 SuiveurSolaire : :deplacerPanneauGauche ( ) [slot]
Références deplacerManuel(), et LEFT.
{deplacerManuel(LEFT);
}
10.25.3.11 SuiveurSolaire : :deplacerPanneauHaut ( ) [slot]
Références deplacerManuel(), et UP.
{deplacerManuel(UP);
}
10.25.3.12 SuiveurSolaire : :enregistrerInformationsBdd ( ) [slot]
Parametres
Références InformationsSuiveur : :angleElevationB, InformationsSuiveur : :angleHoraireA, bdd, BaseDeDonnees : :executer(), -InformationsSuiveur : :heure, informationsSuiveur, InformationsSuiveur : :jour, InformationsSuiveur : :minute, InformationsSuiveur-: :mois, InformationsSuiveur : :positionElevationB, InformationsSuiveur : :positionHoraireA, et InformationsSuiveur : :seconde.
{QString requete = "INSERT INTO MesuresSuiveur (‘idSuiveur‘ , ‘angleAzimut‘
, ‘angleElevation‘ , ‘positionMoteurA‘ , ‘positionMoteurB‘, ‘horodatage‘) VALUES(’1’, ’" + QString::number(informationsSuiveur.angleHoraireA) + "’ , ’" +QString::number(informationsSuiveur.angleElevationB) + "’ , ’" + QString::number(informationsSuiveur.positionHoraireA) + "’ , ’" + QString::number(informationsSuiveur.positionElevationB) + "’ , ’2016-" + QString::number(informationsSuiveur.mois) + "-" + QString::number(informationsSuiveur.jour) + "" + QString::number(informationsSuiveur.heure) + ":" + QString::number(informationsSuiveur.minute) + ":" + QString::number(informationsSuiveur.seconde) + "’)";
#ifdef DEBUG_SUIVEURqDebug() << Q_FUNC_INFO << requete;#endif
bool verif = bdd->executer(requete);#ifdef DEBUG_SUIVEUR
if (verif)qDebug() << Q_FUNC_INFO << "Enregistrement reussi.";
#endifif(!verif)
qDebug() << Q_FUNC_INFO << "Erreur d’enregistrement.";
}
10.25.3.13 void SuiveurSolaire : :gererModeAutoProgramme ( bool modeAuto ) [slot]
Références calculerChecksum(), mutexPort, port, et Port : :transmettre().
{QString commandeSuiveur;char delimiteur = ’$’;char index = ’8’;unsigned char checksum = 0;
commandeSuiveur += QChar(delimiteur);commandeSuiveur += QChar(index);
if(modeAuto)
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.25 Référence de la classe SuiveurSolaire 147
{commandeSuiveur += "y"; //mode Auto actif
}else{
commandeSuiveur += "n";//mode Manuel actif
}
checksum = calculerChecksum(commandeSuiveur);
commandeSuiveur += QChar(checksum);
#ifdef DEBUG_SUIVEURqDebug() << Q_FUNC_INFO << commandeSuiveur;
#endif
mutexPort.lock();port->transmettre(commandeSuiveur);mutexPort.unlock();
}
10.25.3.14 SuiveurSolaire : :getEtat ( )
Références Port : :estOuvert(), et port.
Référencé par AcquisitionSuiveur : :enregistrerEtatSuiveur().
{return port->estOuvert();
}
10.25.3.15 SuiveurSolaire : :proteger ( bool etat ) [slot]
Parametresetat
Références deplacer(), PROTECTION_VENT_A, PROTECTION_VENT_B, et protectionVent.
{#ifdef DEBUG_SUIVEUR
qDebug() << Q_FUNC_INFO << "protectionVent" << protectionVent << "nouveletat" << etat;
#endif
if(etat != protectionVent){
protectionVent = etat;}if(etat == true){
#ifdef DEBUG_SUIVEURqDebug() << Q_FUNC_INFO << "angle A" << PROTECTION_VENT_A << "angle B"
<< PROTECTION_VENT_B;#endif
deplacer(PROTECTION_VENT_A, PROTECTION_VENT_B);}
}
10.25.3.16 SuiveurSolaire : :reinitialiserInformationsSuiveur ( ) [private]
Références InformationsSuiveur : :angleElevationB, InformationsSuiveur : :angleHoraireA, InformationsSuiveur : :destinationA, -InformationsSuiveur : :destinationB, InformationsSuiveur : :erreurs, InformationsSuiveur : :heure, InformationsSuiveur : :iMoteurA,InformationsSuiveur : :iMoteurB, informationsSuiveur, InformationsSuiveur : :latitude, InformationsSuiveur : :minute, Informations-Suiveur : :movingInA, InformationsSuiveur : :movingInB, InformationsSuiveur : :movingOutA, InformationsSuiveur : :movingOutB,InformationsSuiveur : :positionElevationB, InformationsSuiveur : :positionHoraireA, et InformationsSuiveur : :seconde.
Référencé par SuiveurSolaire().
{informationsSuiveur.heure = 0;informationsSuiveur.minute = 0;informationsSuiveur.seconde = 0;informationsSuiveur.angleHoraireA = 0.;informationsSuiveur.positionHoraireA = 0;informationsSuiveur.destinationA = 0;
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
10.25 Référence de la classe SuiveurSolaire 148
informationsSuiveur.iMoteurA = 0.;informationsSuiveur.angleElevationB = 0.;informationsSuiveur.positionElevationB = 0;informationsSuiveur.destinationB = 0;informationsSuiveur.iMoteurB = 0.;informationsSuiveur.latitude = 0.;informationsSuiveur.movingOutA = false;informationsSuiveur.movingInA = false;informationsSuiveur.movingOutB = false;informationsSuiveur.movingInB = false;informationsSuiveur.erreurs = 0;
}
10.25.3.17 SuiveurSolaire : :signalerInformationsSuiveur ( InformationsSuiveur informationsSuiveur ) [signal]
Parametresinformations-
Suiveur
Référencé par decoderTrame().
10.25.3.18 SuiveurSolaire : :stopperCommande ( ) [slot]
Références calculerChecksum(), INDEX_ACQUITTEMENT, mutexPort, port, et Port : :transmettre().
{QString commandeSuiveur;char delimiteur = ’$’;char index = INDEX_ACQUITTEMENT;unsigned char checksum = 0;
commandeSuiveur += QChar(delimiteur);commandeSuiveur += QChar(index);
commandeSuiveur += "clear";
checksum = calculerChecksum(commandeSuiveur);
commandeSuiveur += QChar(checksum);
#ifdef DEBUG_SUIVEURqDebug() << Q_FUNC_INFO << commandeSuiveur;
#endif
mutexPort.lock();port->transmettre(commandeSuiveur);mutexPort.unlock();
}
10.25.4 Documentation des donnees membres
10.25.4.1 BaseDeDonnees∗ SuiveurSolaire : :bdd [private]
Référencé par enregistrerInformationsBdd(), et SuiveurSolaire().
10.25.4.2 QDate∗ SuiveurSolaire : :date [private]
10.25.4.3 InformationsSuiveur SuiveurSolaire : :informationsSuiveur [private]
TODO
Référencé par decoderTrame(), enregistrerInformationsBdd(), et reinitialiserInformationsSuiveur().
10.25.4.4 QMutex SuiveurSolaire : :mutexPort [private]
TODO
Référencé par acquerir(), deplacerAngleElevation(), deplacerAngleHoraire(), deplacerManuel(), gererModeAutoProgramme(), etstopperCommande().
10.25.4.5 Port∗ SuiveurSolaire : :port [private]
TODO
Référencé par acquerir(), deplacerAngleElevation(), deplacerAngleHoraire(), deplacerManuel(), gererModeAutoProgramme(), get-Etat(), stopperCommande(), SuiveurSolaire(), et ∼SuiveurSolaire().
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
11 Documentation des fichiers 149
10.25.4.6 bool SuiveurSolaire : :protectionVent [private]
Référencé par proteger(), et SuiveurSolaire().
La documentation de cette classe a été générée à partir des fichiers suivants :– suiveurSolaire.h– suiveurSolaire.cpp
11 Documentation des fichiers
11.1 Reference du fichier acquisitionMeteo.cpp
#include "acquisitionMeteo.h" #include "stationMeteo.h" #include "tournesol.h" #include"basededonnees.h" Graphe des dépendances par inclusion de acquisitionMeteo.cpp :
acquisitionMeteo.cpp
acquisitionMeteo.h
stationMeteo.h tournesol.h
basededonnees.h
QtCore
QtSql/QtSql QSqlDatabase QMutex
11.2 Reference du fichier acquisitionMeteo.h
#include <QtCore> #include "stationMeteo.h" Graphe des dépendances par inclusion de acquisitionMeteo.h :
acquisitionMeteo.h
QtCore
stationMeteo.h
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
11.3 Référence du fichier acquisitionRegulateur.cpp 150
Ce graphe montre quels fichiers incluent directement ou indirectement ce fichier :
acquisitionMeteo.h
acquisitionMeteo.cpp ihmTournesol.h
ihmTournesol.cpp main.cpp
Classes
– class AcquisitionMeteoClasse qui assure la gestion de la station météo.
Macros
– #define PERIODE_ACQUISITION_METEO 1000
11.2.1 Documentation des macros
11.2.1.1 #define PERIODE_ACQUISITION_METEO 1000
Référencé par AcquisitionMeteo : :lireConfiguration(), et ProtectionVent : :lireModeDeFonctionnement().
11.3 Reference du fichier acquisitionRegulateur.cpp
#include "acquisitionRegulateur.h" #include "basededonnees.h" Graphe des dépendances par inclu-sion de acquisitionRegulateur.cpp :
acquisitionRegulateur.cpp
acquisitionRegulateur.h basededonnees.h
QtCore
regulateur.h QtSql/QtSql QSqlDatabase QMutex tournesol.h
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
11.4 Référence du fichier acquisitionRegulateur.h 151
11.4 Reference du fichier acquisitionRegulateur.h
#include <QtCore> #include "regulateur.h" Graphe des dépendances par inclusion de acquisitionRegulateur.-h :
acquisitionRegulateur.h
QtCore
regulateur.h
Ce graphe montre quels fichiers incluent directement ou indirectement ce fichier :
acquisitionRegulateur.h
acquisitionRegulateur.cpp ihmTournesol.h
ihmTournesol.cpp main.cpp
Classes
– class AcquisitionRegulateurThread contenant toutes les données relatives au régulateur de charge.
Macros
– #define PERIODE_ACQUISITION_REGULATEUR 5000
11.4.1 Documentation des macros
11.4.1.1 #define PERIODE_ACQUISITION_REGULATEUR 5000
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
11.5 Référence du fichier acquisitionSuiveur.cpp 152
11.5 Reference du fichier acquisitionSuiveur.cpp
#include "acquisitionSuiveur.h" #include "suiveurSolaire.h" #include "basededonnees.-h" #include "tournesol.h" Graphe des dépendances par inclusion de acquisitionSuiveur.cpp :
acquisitionSuiveur.cpp
acquisitionSuiveur.h
suiveurSolaire.h
basededonnees.h
tournesol.h
QtCore
QtSql/QtSql QSqlDatabase QMutex
11.6 Reference du fichier acquisitionSuiveur.h
#include <QtCore> #include "suiveurSolaire.h" Graphe des dépendances par inclusion de acquisition-Suiveur.h :
acquisitionSuiveur.h
QtCore
suiveurSolaire.h
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
11.7 Référence du fichier asservissementSuiveur.cpp 153
Ce graphe montre quels fichiers incluent directement ou indirectement ce fichier :
acquisitionSuiveur.h
acquisitionSuiveur.cpp ihmTournesol.h
ihmTournesol.cpp main.cpp
Classes
– class AcquisitionSuiveurGestion du suiveur solaire.
11.7 Reference du fichier asservissementSuiveur.cpp
#include "asservissementSuiveur.h" #include "tournesol.h" #include "basededonnees.h"Graphe des dépendances par inclusion de asservissementSuiveur.cpp :
asservissementSuiveur.cpp
asservissementSuiveur.h
tournesol.h
basededonnees.h
QtCore capteurSolaire.h
QObject
QtSql/QtSql QSqlDatabase QMutex
11.8 Reference du fichier asservissementSuiveur.h
#include <QtCore> #include "capteurSolaire.h" Graphe des dépendances par inclusion de asservissement-
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
11.8 Référence du fichier asservissementSuiveur.h 154
Suiveur.h :
asservissementSuiveur.h
QtCore capteurSolaire.h
QObject
Ce graphe montre quels fichiers incluent directement ou indirectement ce fichier :
asservissementSuiveur.h
asservissementSuiveur.cpp ihmTournesol.h
ihmTournesol.cpp main.cpp
Classes
– class AsservissementSuiveurGestion du capteur solaire pour le suivi.
Macros
– #define PERIODE 5000
11.8.1 Documentation des macros
11.8.1.1 #define PERIODE 5000
Référencé par AsservissementSuiveur : :main().
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
11.9 Référence du fichier basededonnees.cpp 155
11.9 Reference du fichier basededonnees.cpp
#include "basededonnees.h" #include <QDebug> #include <QMessageBox> Graphe des dépendancespar inclusion de basededonnees.cpp :
basededonnees.cpp
basededonnees.h QDebug QMessageBox
QtSql/QtSql QSqlDatabase QMutex tournesol.h
11.10 Reference du fichier basededonnees.h
#include <QtSql/QtSql> #include <QSqlDatabase> #include <QMutex> #include "tournesol.-h" Graphe des dépendances par inclusion de basededonnees.h :
basededonnees.h
QtSql/QtSql QSqlDatabase QMutex tournesol.h
Ce graphe montre quels fichiers incluent directement ou indirectement ce fichier :
basededonnees.h
acquisitionMeteo.cpp acquisitionRegulateur.cpp acquisitionSuiveur.cpp asservissementSuiveur.cpp basededonnees.cpp capteurSolaire.cpp protectionVent.cpp regulateur.cpp stationMeteo.cpp suiveurSolaire.cpp
Classes
– class BaseDeDonneesClasse de gestion de base de données MySQL.
Macros
– #define HOSTNAME "localhost"– #define USERNAME "root"– #define PASSWORD "password"– #define DATABASENAME "Tournesol"
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
11.11 Référence du fichier busi2c.cpp 156
11.10.1 Documentation des macros
11.10.1.1 #define DATABASENAME ”Tournesol”
11.10.1.2 #define HOSTNAME ”localhost”
Référencé par BaseDeDonnees : :connecter().
11.10.1.3 #define PASSWORD ”password”
Référencé par BaseDeDonnees : :connecter().
11.10.1.4 #define USERNAME ”root”
Référencé par BaseDeDonnees : :connecter().
11.11 Reference du fichier busi2c.cpp
#include <stdio.h> #include <time.h> #include <sys/time.h> #include <errno.h>×#include <string.h> #include <unistd.h> #include <stdint.h> #include <sys/ioctl.-h> #include <sys/types.h> #include <fcntl.h> #include <linux/i2c-dev.h> #include"busi2c.h" Graphe des dépendances par inclusion de busi2c.cpp :
busi2c.cpp
stdio.h time.h sys/time.h errno.h string.h unistd.h stdint.h sys/ioctl.h sys/types.h fcntl.h linux/i2c-dev.h busi2c.h
QMutex
11.12 Reference du fichier busi2c.h
#include <QMutex> Graphe des dépendances par inclusion de busi2c.h :
busi2c.h
QMutex
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
11.12 Référence du fichier busi2c.h 157
Ce graphe montre quels fichiers incluent directement ou indirectement ce fichier :
busi2c.h
busi2c.cpp
Classes
– class BusI2CGestion du bus I2C pour les circuits LTC2309 et BH1750.
Macros
– #define MIN_I2C_BUS 0– #define MAX_I2C_BUS 7– #define MAX_WRITE_LEN 511– #define LTC2309_I2C_ADDRESS 0x08– #define BH1750_I2C_ADDRESS 0x23– #define BH1750_CONTINUOUS_HIGH_RES_MODE 0x10– #define BH1750_CONTINUOUS_HIGH_RES_MODE_2 0x11– #define BH1750_CONTINUOUS_LOW_RES_MODE 0x13– #define BH1750_ONE_TIME_HIGH_RES_MODE 0x20– #define BH1750_ONE_TIME_HIGH_RES_MODE_2 0x21– #define BH1750_ONE_TIME_LOW_RES_MODE 0x23
11.12.1 Description detaillee
11.12.2 Documentation des macros
11.12.2.1 #define BH1750_CONTINUOUS_HIGH_RES_MODE 0x10
11.12.2.2 #define BH1750_CONTINUOUS_HIGH_RES_MODE_2 0x11
11.12.2.3 #define BH1750_CONTINUOUS_LOW_RES_MODE 0x13
11.12.2.4 #define BH1750_I2C_ADDRESS 0x23
Référencé par BusI2C : :luxRawRead().
11.12.2.5 #define BH1750_ONE_TIME_HIGH_RES_MODE 0x20
11.12.2.6 #define BH1750_ONE_TIME_HIGH_RES_MODE_2 0x21
11.12.2.7 #define BH1750_ONE_TIME_LOW_RES_MODE 0x23
11.12.2.8 #define LTC2309_I2C_ADDRESS 0x08
Référencé par BusI2C : :analogRawRead().
11.12.2.9 #define MAX_I2C_BUS 7
11.12.2.10 #define MAX_WRITE_LEN 511
Référencé par BusI2C : :write().
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
11.13 Référence du fichier capteurLuminosite.cpp 158
11.12.2.11 #define MIN_I2C_BUS 0
11.13 Reference du fichier capteurLuminosite.cpp
#include "capteurLuminosite.h" #include "tournesol.h" #include <unistd.h> #include<stdlib.h> #include <time.h> #include <QDebug> Graphe des dépendances par inclusion de capteur-Luminosite.cpp :
capteurLuminosite.cpp
capteurLuminosite.h tournesol.h unistd.h stdlib.h time.h QDebug
QtCore
11.14 Reference du fichier capteurLuminosite.h
#include <QtCore> Graphe des dépendances par inclusion de capteurLuminosite.h :
capteurLuminosite.h
QtCore
Ce graphe montre quels fichiers incluent directement ou indirectement ce fichier :
capteurLuminosite.h
capteurLuminosite.cpp stationMeteo.cpp
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
11.15 Référence du fichier capteurSolaire.cpp 159
Classes
– class CapteurLuminositeClasse de gestion du capteur de luminosité
Macros
– #define Continuously_H_Resolution_Mode 0x10– #define One_Time_H_Resolution_Mode 0x20– #define MIN 0.– #define MAX 78600.
11.14.1 Documentation des macros
11.14.1.1 #define Continuously_H_Resolution_Mode 0x10
11.14.1.2 #define MAX 78600.
Référencé par CapteurLuminosite : :lire(), et CapteurSolaire : :lireTension().
11.14.1.3 #define MIN 0.
Référencé par CapteurLuminosite : :lire(), et CapteurSolaire : :lireTension().
11.14.1.4 #define One_Time_H_Resolution_Mode 0x20
Référencé par CapteurLuminosite : :lire().
11.15 Reference du fichier capteurSolaire.cpp
#include "capteurSolaire.h" #include "tournesol.h" #include <unistd.h> #include <stdlib.-h> #include <time.h> #include "basededonnees.h" #include <QDebug> Graphe des dépendances parinclusion de capteurSolaire.cpp :
capteurSolaire.cpp
capteurSolaire.h
tournesol.h
unistd.h stdlib.h time.h basededonnees.h QDebug
QObject QtSql/QtSql QSqlDatabase QMutex
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
11.16 Référence du fichier capteurSolaire.h 160
11.16 Reference du fichier capteurSolaire.h
#include <QObject> Graphe des dépendances par inclusion de capteurSolaire.h :
capteurSolaire.h
QObject
Ce graphe montre quels fichiers incluent directement ou indirectement ce fichier :
capteurSolaire.h
asservissementSuiveur.h
ihmTournesol.h
capteurSolaire.cpp
asservissementSuiveur.cpp
ihmTournesol.cpp main.cpp
Classes
– class CapteurSolaireClasse qui assure la détection de la position du soleil.
Macros
– #define MIN 1.0– #define MAX 3.0– #define TENSION_ALIM 5.0– #define SEUIL_DETECTION 2.1– #define DELTA 0.2– #define INIT -1– #define ETEINTE 0– #define ECLAIREE 1– #define TOUTE 2– #define CANAL_A1_IN1 1– #define CANAL_A0_IN2 0– #define NB_MESURES 11
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
11.17 Référence du fichier Changelog.dox 161
11.16.1 Documentation des macros
11.16.1.1 #define CANAL_A0_IN2 0
Référencé par CapteurSolaire : :acquerir().
11.16.1.2 #define CANAL_A1_IN1 1
Référencé par CapteurSolaire : :acquerir().
11.16.1.3 #define DELTA 0.2
Référencé par CapteurSolaire : :detecter().
11.16.1.4 #define ECLAIREE 1
Référencé par CapteurSolaire : :detecter().
11.16.1.5 #define ETEINTE 0
Référencé par CapteurSolaire : :CapteurSolaire(), et CapteurSolaire : :reinitialiser().
11.16.1.6 #define INIT -1
11.16.1.7 #define MAX 3.0
11.16.1.8 #define MIN 1.0
11.16.1.9 #define NB_MESURES 11
Référencé par CapteurSolaire : :acquerir(), CapteurSolaire : :mediane(), et CapteurSolaire : :trier().
11.16.1.10 #define SEUIL_DETECTION 2.1
Référencé par CapteurSolaire : :detecter().
11.16.1.11 #define TENSION_ALIM 5.0
Référencé par CapteurSolaire : :lireTension().
11.16.1.12 #define TOUTE 2
Référencé par CapteurSolaire : :detecter().
11.17 Reference du fichier Changelog.dox
11.18 Reference du fichier CV7.cpp
#include "CV7.h" #include "port.h" #include "tournesol.h" Graphe des dépendances par inclusion deCV7.cpp :
CV7.cpp
CV7.h port.h tournesol.h
QtCore QObject QList qextserialenumerator.h qextserialport.h
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
11.19 Référence du fichier CV7.h 162
11.19 Reference du fichier CV7.h
#include <QtCore> Graphe des dépendances par inclusion de CV7.h :
CV7.h
QtCore
Ce graphe montre quels fichiers incluent directement ou indirectement ce fichier :
CV7.h
CV7.cpp stationMeteo.cpp
Classes
– class CV7Gestion de la récupération des phrases, découpe et stockage à partir de la station météo.
Macros
– #define PORT_CV7 "/dev/cv7"
11.19.1 Documentation des macros
11.19.1.1 #define PORT_CV7 ”/dev/cv7”
Référencé par CV7 : :CV7().
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
11.20 Référence du fichier horloge.cpp 163
11.20 Reference du fichier horloge.cpp
#include "horloge.h" Graphe des dépendances par inclusion de horloge.cpp :
horloge.cpp
horloge.h
QtGui QMutex
11.21 Reference du fichier horloge.h
#include <QtGui> #include <QMutex> Graphe des dépendances par inclusion de horloge.h :
horloge.h
QtGui QMutex
Ce graphe montre quels fichiers incluent directement ou indirectement ce fichier :
horloge.h
horloge.cpp protectionVent.cpp
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
11.22 Référence du fichier ihmTournesol.cpp 164
Classes
– class Horloge
Macros
– #define DEBUG_HORLOGE– #define BASE_DE_TEMPS 120
11.21.1 Documentation des macros
11.21.1.1 #define BASE_DE_TEMPS 120
11.21.1.2 #define DEBUG_HORLOGE
11.22 Reference du fichier ihmTournesol.cpp
#include "ihmTournesol.h" #include "ui_ihm.h" #include <qwt_compass.h> #include <qwt-_compass_rose.h> #include <qwt_dial_needle.h> #include "asservissementSuiveur.h"×#include "acquisitionMeteo.h" #include "protectionVent.h" Graphe des dépendances par inclusionde ihmTournesol.cpp :
ihmTournesol.cpp
ihmTournesol.h
acquisitionMeteo.h protectionVent.h asservissementSuiveur.h
ui_ihm.h qwt_compass.h qwt_compass_rose.h qwt_dial_needle.h
QtGui acquisitionSuiveur.hacquisitionRegulateur.h
capteurSolaire.h
QtCore
suiveurSolaire.hregulateur.h stationMeteo.h
QObject
11.23 Reference du fichier ihmTournesol.h
#include <QtGui> #include "acquisitionSuiveur.h" #include "acquisitionRegulateur.h"×#include "acquisitionMeteo.h" #include "protectionVent.h" #include "capteurSolaire.h"#include "asservissementSuiveur.h" Graphe des dépendances par inclusion de ihmTournesol.h :
ihmTournesol.h
QtGui acquisitionSuiveur.hacquisitionRegulateur.h acquisitionMeteo.h
protectionVent.h capteurSolaire.h
asservissementSuiveur.h
QtCore
suiveurSolaire.hregulateur.h stationMeteo.h
QObject
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
11.24 Référence du fichier main.cpp 165
Ce graphe montre quels fichiers incluent directement ou indirectement ce fichier :
ihmTournesol.h
ihmTournesol.cpp main.cpp
Classes
– class IhmTournesolGestion de l’interface graphique.
11.24 Reference du fichier main.cpp
Programme principal.
#include <QApplication> #include "ihmTournesol.h" Graphe des dépendances par inclusion de main.cpp :
main.cpp
QApplication ihmTournesol.h
QtGui acquisitionSuiveur.hacquisitionRegulateur.h acquisitionMeteo.h
protectionVent.h capteurSolaire.h
asservissementSuiveur.h
QtCore
suiveurSolaire.hregulateur.h stationMeteo.h
QObject
Fonctions
– int main (int argc, char ∗argv[ ])Programme principal.
11.24.1 Description detaillee
crée et affiche la fenêtre principale de l’application
11.24.2 Documentation des fonctions
11.24.2.1 main ( int argc, char ∗ argv[ ] )
Parametresargc
argv[ ]
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
11.25 Référence du fichier port.cpp 166
Renvoie
int
Référencé par IhmTournesol : :IhmTournesol().
{QApplication a(argc, argv);
a.setApplicationName("Tournesol");
qDebug() << "\n" << Q_FUNC_INFO << a.applicationName() << "PID :" << (int)a.applicationPid();
qDebug() << "" << Q_FUNC_INFO << a.applicationName() << "TID :" <<QApplication::instance()->thread()->currentThreadId() << a.thread();
IhmTournesol ihm;ihm.show();
int ret = a.exec();
qDebug() << "" << Q_FUNC_INFO << a.applicationName() << "FIN :" << ret;
return ret;}
11.25 Reference du fichier port.cpp
#include "port.h" #include "tournesol.h" #include <unistd.h> #include <QDebug> Graphe desdépendances par inclusion de port.cpp :
port.cpp
port.h tournesol.h unistd.h QDebug
QObject QList qextserialenumerator.h qextserialport.h
11.26 Reference du fichier port.h
#include <QObject> #include <QList> #include "qextserialenumerator.h" #include "qextserialport.-h" Graphe des dépendances par inclusion de port.h :
port.h
QObject QList qextserialenumerator.h qextserialport.h
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
11.27 Référence du fichier protectionVent.cpp 167
Ce graphe montre quels fichiers incluent directement ou indirectement ce fichier :
port.h
CV7.cpp port.cpp regulateur.cpp suiveurSolaire.cpp
Classes
– class PortClasse de gestion d’un port série.
Macros
– #define BUFFERSIZE 1024
11.26.1 Documentation des macros
11.26.1.1 #define BUFFERSIZE 1024
Référencé par Port : :recevoir().
11.27 Reference du fichier protectionVent.cpp
#include "protectionVent.h" #include "basededonnees.h" #include "stationMeteo.h"×#include "horloge.h" #include "tournesol.h" Graphe des dépendances par inclusion de protectionVent.cpp :
protectionVent.cpp
protectionVent.h basededonnees.h
tournesol.h
stationMeteo.h horloge.h
QtCore QtSql/QtSql QSqlDatabase QMutex QtGui
Macros
– #define TEMPSATTENTE 60000
11.27.1 Documentation des macros
11.27.1.1 #define TEMPSATTENTE 60000
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
11.28 Référence du fichier protectionVent.h 168
11.28 Reference du fichier protectionVent.h
#include <QtCore> Graphe des dépendances par inclusion de protectionVent.h :
protectionVent.h
QtCore
Ce graphe montre quels fichiers incluent directement ou indirectement ce fichier :
protectionVent.h
ihmTournesol.h
ihmTournesol.cpp
protectionVent.cpp
main.cpp
Classes
– struct ConfigurationProtectionVent– class ProtectionVent
Macros
– #define PERIODE_ACQUISITION_METEO 1000
11.28.1 Documentation des macros
11.28.1.1 #define PERIODE_ACQUISITION_METEO 1000
11.29 Reference du fichier README.dox
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
11.30 Référence du fichier regulateur.cpp 169
11.30 Reference du fichier regulateur.cpp
#include "regulateur.h" #include "port.h" #include "basededonnees.h" #include "tournesol.-h" Graphe des dépendances par inclusion de regulateur.cpp :
regulateur.cpp
regulateur.h port.h basededonnees.h
tournesol.hQtCore QObject QList qextserialenumerator.h qextserialport.h QtSql/QtSql QSqlDatabase QMutex
11.31 Reference du fichier regulateur.h
#include <QtCore> Graphe des dépendances par inclusion de regulateur.h :
regulateur.h
QtCore
Ce graphe montre quels fichiers incluent directement ou indirectement ce fichier :
regulateur.h
acquisitionRegulateur.h regulateur.cpp
acquisitionRegulateur.cpp ihmTournesol.h
ihmTournesol.cpp main.cpp
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
11.32 Référence du fichier stationMeteo.cpp 170
Classes
– struct InformationsRegulateurRegroupe les variable contenant les informations relatives a la trame d’Informations.
– struct JournalisationRegulateurRegroupe les variable contenant les informations relatives a la trame de Journalisation.
– struct AlarmesRegulateurRegroupe les différents etats du regulateur.
– struct ParametresRegulateurRegroupe les différents parametres du regulateur.
– class RegulateurGestion de l’acquisition et du traitement des données du régulateur de charge phocos CX20.
Macros
– #define LG_TRAME_INFORMATIONS 63– #define LG_TRAME_HISTORIQUE 769– #define VEILLEUSE_ARRET 0– #define LEVER_COUCHER 6– #define SOIR_MATIN 5
11.31.1 Documentation des macros
11.31.1.1 #define LEVER_COUCHER 6
Référencé par Regulateur : :decoderMenuState().
11.31.1.2 #define LG_TRAME_HISTORIQUE 769
Référencé par Regulateur : :acquerirHistorique(), Regulateur : :decoderAlarmes(), et Regulateur : :decoderTrameHistorique().
11.31.1.3 #define LG_TRAME_INFORMATIONS 63
Référencé par Regulateur : :acquerirInformations(), et Regulateur : :decoderTrameInformations().
11.31.1.4 #define SOIR_MATIN 5
Référencé par Regulateur : :decoderMenuState().
11.31.1.5 #define VEILLEUSE_ARRET 0
Référencé par Regulateur : :decoderMenuState().
11.32 Reference du fichier stationMeteo.cpp
#include "stationMeteo.h" #include "CV7.h" #include "capteurLuminosite.h" #include"tournesol.h" #include "basededonnees.h" Graphe des dépendances par inclusion de stationMeteo.cpp :
stationMeteo.cpp
stationMeteo.h CV7.h capteurLuminosite.h
tournesol.h
basededonnees.h
QtCore QtSql/QtSql QSqlDatabase QMutex
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
11.33 Référence du fichier stationMeteo.h 171
11.33 Reference du fichier stationMeteo.h
#include <QtCore> Graphe des dépendances par inclusion de stationMeteo.h :
stationMeteo.h
QtCore
Ce graphe montre quels fichiers incluent directement ou indirectement ce fichier :
stationMeteo.h
acquisitionMeteo.h
acquisitionMeteo.cpp
protectionVent.cpp stationMeteo.cpp
ihmTournesol.h
ihmTournesol.cpp main.cpp
Classes
– struct MesureRegroupe les différentes informations relatives à une donnée.
– struct InformationsStationMeteoRegroupe les variables contenant les informations relatives à la trame d’information.
– class StationMeteoGestion de la récupération des informations sur la CV7 et le capteur lumineux, affichage dans l’IHM e tstockage dans la base de données.
11.34 Reference du fichier suiveurSolaire.cpp
#include "suiveurSolaire.h" #include "port.h" #include "basededonnees.h" #include
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
11.35 Référence du fichier suiveurSolaire.h 172
"tournesol.h" Graphe des dépendances par inclusion de suiveurSolaire.cpp :
suiveurSolaire.cpp
suiveurSolaire.h port.h basededonnees.h
tournesol.hQtCore QObject QList qextserialenumerator.h qextserialport.h QtSql/QtSql QSqlDatabase QMutex
11.35 Reference du fichier suiveurSolaire.h
#include <QtCore> Graphe des dépendances par inclusion de suiveurSolaire.h :
suiveurSolaire.h
QtCore
Ce graphe montre quels fichiers incluent directement ou indirectement ce fichier :
suiveurSolaire.h
acquisitionSuiveur.h
acquisitionSuiveur.cpp
suiveurSolaire.cpp
ihmTournesol.h
ihmTournesol.cpp main.cpp
Classes
– struct InformationsSuiveur
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
11.35 Référence du fichier suiveurSolaire.h 173
Regroupe les données envoyées par le suiveur solaire.– class SuiveurSolaire
Communication avec le système de positionnement.
Macros
– #define PORT_SUIVEUR_SOLAIRE "/dev/helios"– #define INDEX_HEURE 0x28– #define INDEX_MINUTE 0x29– #define INDEX_SECONDE 0x2A– #define INDEX_JOUR 0x2B– #define INDEX_MOIS 0x3B– #define INDEX_ANGLE_HORAIRE 0x2C– #define INDEX_POS_HORAIRE 0x2D– #define INDEX_DEST_HORAIRE 0x2E– #define INDEX_MOTEUR_A 0x2F– #define INDEX_ANGLE_ELEVATION 0x30– #define INDEX_POS_ELEVATION 0x31– #define INDEX_DEST_ELEVATION 0x32– #define INDEX_MOTEUR_B 0x33– #define INDEX_LATITUDE 0x34– #define INDEX_LONGITUDE 0x35– #define INDEX_AUTOMATIQUE 0x38– #define INDEX_ACQUITTEMENT 0x88– #define INDEX_ERREUR 0x88– #define LG_HEURE 2– #define LG_MINUTE 2– #define LG_SECONDE 2– #define UP ’1’– #define LEFT ’2’– #define DOWN ’3’– #define RIGHT ’4’– #define PROTECTION_VENT_A 0.– #define PROTECTION_VENT_B 90.
11.35.1 Documentation des macros
11.35.1.1 #define DOWN ’3’
Référencé par SuiveurSolaire : :deplacerPanneauBas().
11.35.1.2 #define INDEX_ACQUITTEMENT 0x88
Référencé par SuiveurSolaire : :stopperCommande().
11.35.1.3 #define INDEX_ANGLE_ELEVATION 0x30
Référencé par SuiveurSolaire : :decoderTrame().
11.35.1.4 #define INDEX_ANGLE_HORAIRE 0x2C
Référencé par SuiveurSolaire : :decoderTrame().
11.35.1.5 #define INDEX_AUTOMATIQUE 0x38
Référencé par SuiveurSolaire : :decoderTrame().
11.35.1.6 #define INDEX_DEST_ELEVATION 0x32
Référencé par SuiveurSolaire : :decoderTrame().
11.35.1.7 #define INDEX_DEST_HORAIRE 0x2E
Référencé par SuiveurSolaire : :decoderTrame().
11.35.1.8 #define INDEX_ERREUR 0x88
Référencé par SuiveurSolaire : :decoderTrame().
11.35.1.9 #define INDEX_HEURE 0x28
Référencé par SuiveurSolaire : :decoderTrame().
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
11.35 Référence du fichier suiveurSolaire.h 174
11.35.1.10 #define INDEX_JOUR 0x2B
Référencé par SuiveurSolaire : :decoderTrame().
11.35.1.11 #define INDEX_LATITUDE 0x34
Référencé par SuiveurSolaire : :decoderTrame().
11.35.1.12 #define INDEX_LONGITUDE 0x35
Référencé par SuiveurSolaire : :decoderTrame().
11.35.1.13 #define INDEX_MINUTE 0x29
Référencé par SuiveurSolaire : :decoderTrame().
11.35.1.14 #define INDEX_MOIS 0x3B
Référencé par SuiveurSolaire : :decoderTrame().
11.35.1.15 #define INDEX_MOTEUR_A 0x2F
Référencé par SuiveurSolaire : :decoderTrame().
11.35.1.16 #define INDEX_MOTEUR_B 0x33
Référencé par SuiveurSolaire : :decoderTrame().
11.35.1.17 #define INDEX_POS_ELEVATION 0x31
Référencé par SuiveurSolaire : :decoderTrame().
11.35.1.18 #define INDEX_POS_HORAIRE 0x2D
Référencé par SuiveurSolaire : :decoderTrame().
11.35.1.19 #define INDEX_SECONDE 0x2A
Référencé par SuiveurSolaire : :decoderTrame().
11.35.1.20 #define LEFT ’2’
Référencé par SuiveurSolaire : :deplacerPanneauGauche().
11.35.1.21 #define LG_HEURE 2
Référencé par SuiveurSolaire : :decoderTrame().
11.35.1.22 #define LG_MINUTE 2
Référencé par SuiveurSolaire : :decoderTrame().
11.35.1.23 #define LG_SECONDE 2
Référencé par SuiveurSolaire : :decoderTrame().
11.35.1.24 #define PORT_SUIVEUR_SOLAIRE ”/dev/helios”
Référencé par SuiveurSolaire : :SuiveurSolaire().
11.35.1.25 #define PROTECTION_VENT_A 0.
Référencé par SuiveurSolaire : :proteger().
11.35.1.26 #define PROTECTION_VENT_B 90.
Référencé par SuiveurSolaire : :proteger().
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
11.36 Référence du fichier tournesol.h 175
11.35.1.27 #define RIGHT ’4’
Référencé par SuiveurSolaire : :deplacerPanneauDroite().
11.35.1.28 #define UP ’1’
Référencé par SuiveurSolaire : :deplacerPanneauHaut().
11.36 Reference du fichier tournesol.h
Constantes globales à l’application Tournesol.
Ce graphe montre quels fichiers incluent directement ou indirectement ce fichier :
tournesol.h
acquisitionMeteo.cpp
basededonnees.h
acquisitionSuiveur.cpp asservissementSuiveur.cpp capteurSolaire.cpp protectionVent.cpp regulateur.cpp stationMeteo.cpp suiveurSolaire.cpp
capteurLuminosite.cpp CV7.cpp port.cpp
acquisitionRegulateur.cpp basededonnees.cpp
11.36.1 Description detaillee
gestion DEBUG des différentes classes
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
Index
∼AcquisitionMeteoAcquisitionMeteo, 18
∼AcquisitionRegulateurAcquisitionRegulateur, 22
∼AcquisitionSuiveurAcquisitionSuiveur, 28
∼AsservissementSuiveurAsservissementSuiveur, 35
∼BaseDeDonneesBaseDeDonnees, 40
∼BusI2CBusI2C, 48
∼CV7CV7, 63
∼CapteurLuminositeCapteurLuminosite, 54
∼CapteurSolaireCapteurSolaire, 56
∼HorlogeHorloge, 67
∼IhmTournesolIhmTournesol, 80
∼PortPort, 104
∼ProtectionVentProtectionVent, 110
∼RegulateurRegulateur, 117
∼StationMeteoStationMeteo, 131
∼SuiveurSolaireSuiveurSolaire, 138
AcquisitionMeteo, 16∼AcquisitionMeteo, 18AcquisitionMeteo, 18AcquisitionMeteo, 18annuler, 18attendrePeriode, 18fini, 20finir, 19lireConfiguration, 19main, 19msleep, 20mutex, 20nouvellesInformationsStationMeteo, 20periode, 20stationMeteo, 20terminer, 20waitCondition, 20
AcquisitionRegulateur, 21∼AcquisitionRegulateur, 22AcquisitionRegulateur, 22AcquisitionRegulateur, 22annuler, 23attendrePeriode, 23changerEtatBuzzer, 23changerEtatCadenas, 23changerModeCharge, 23
changerModeNuit, 23changerTypeBatterie, 23fini, 25finir, 24lireConfiguration, 24main, 24msleep, 24mutex, 25nouvellesAlarmesRegulateur, 25nouvellesInformationsRegulateur, 25nouvellesJournalisationRegulateur, 25periode, 25regulateur, 25terminer, 25waitCondition, 25
AcquisitionSuiveur, 26∼AcquisitionSuiveur, 28AcquisitionSuiveur, 27AcquisitionSuiveur, 27annuler, 28bdd, 31deplacer, 28deplacerAngleAzimut, 28deplacerAngleElevation, 28deplacerPanneauBas, 28deplacerPanneauDroite, 29deplacerPanneauEst, 29deplacerPanneauGauche, 29deplacerPanneauHaut, 29deplacerPanneauNord, 29deplacerPanneauOuest, 29deplacerPanneauSud, 29enregistrerEtatSuiveur, 29fini, 31finir, 29gererModeAutoProgramme, 29lirePeriode, 30main, 30modeAuto, 31msleep, 30mutex, 31periode, 31proteger, 30signalerInformationsSuiveur, 30stopperCommande, 31suiveur, 31terminer, 31waitCondition, 31
AlarmesRegulateur, 32alarmeBatterie, 32alarmeChargeComplete, 32alarmeDebranchementBatterie, 32alarmeSurchauffeCharge, 32alarmeSurchauffePv, 32alarmeSurtensionCharge, 32alarmeSurtensionPv, 32alarmeSurvoltageBatterie, 32trameRecu, 32
INDEX 177
AsservissementSuiveur, 33∼AsservissementSuiveur, 35AsservissementSuiveur, 35afficherEtatSuiveur, 36afficherEtatsLDR, 35afficherLabelAsservissementSuiveur, 36annuler, 36AsservissementSuiveur, 35bdd, 38capteurSolaire, 38deplacerEst, 36deplacerNord, 36deplacerOuest, 36deplacerSud, 36etatLDR1, 38etatLDR2, 38etatLDR3, 38etatLDR4, 38fini, 38finir, 36lireEtatSuiveur, 36main, 36msleep, 37mutex, 39suivreSoleil, 37terminer, 38waitCondition, 39
BASE_DE_TEMPShorloge.h, 164
BH1750_I2C_ADDRESSbusi2c.h, 157
BUFFERSIZEport.h, 167
BaseDeDonnees, 39∼BaseDeDonnees, 40BaseDeDonnees, 40baseDeDonnees, 46BaseDeDonnees, 40connecter, 41db, 46detruireInstance, 41executer, 41getInstance, 42mutex, 46nbAcces, 46recuperer, 42d
BusI2C, 46∼BusI2C, 48BusI2C, 48analogRawRead, 48busI2C, 53BusI2C, 48createInstance, 49current_slave, 53delay_ms, 49get_ms, 49i2c_bus, 53i2c_fd, 53is_open, 50luxRawRead, 50mutex, 53
read, 50releaseInstance, 51select_slave, 51txBuff, 53write, 51, 52
BuzzerEtatJournalisationRegulateur, 101
CANAL_A0_IN2capteurSolaire.h, 161
CANAL_A1_IN1capteurSolaire.h, 161
CV7, 61∼CV7, 63CV7, 63CV7, 63decouperTrames, 63phrases, 65port, 65recevoirPhrases, 63recupererPhrase, 64setMap, 64
CV7.cpp, 161CV7.h, 162
PORT_CV7, 162CapteurLuminosite, 53∼CapteurLuminosite, 54CapteurLuminosite, 54CapteurLuminosite, 54lire, 54luminosite, 54
CapteurSolaire, 55∼CapteurSolaire, 56CapteurSolaire, 56acquerir, 57afficherEtatSuiveur, 57bdd, 60CapteurSolaire, 56detecter, 57etatLDR1, 60etatLDR2, 60etatLDR3, 60etatLDR4, 60getEtatLDR1, 58getEtatLDR2, 58getEtatLDR3, 58getEtatLDR4, 58lireTension, 58mediane, 59reinitialiser, 59trier, 60
Changelog.dox, 161ConfigurationProtectionVent, 61
etat, 61periode, 61vitesseMax, 61
Continuously_H_Resolution_ModecapteurLuminosite.h, 159
DATABASENAMEbasededonnees.h, 156
DEBUG_HORLOGEhorloge.h, 164
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
INDEX 178
DELTAcapteurSolaire.h, 161
DOWNsuiveurSolaire.h, 173
ECLAIREEcapteurSolaire.h, 161
ETEINTEcapteurSolaire.h, 161
HOSTNAMEbasededonnees.h, 156
Horloge, 65∼Horloge, 67Horloge, 67_tic, 74_top, 74arreter, 68baseDeTemps, 75debutSimulation, 75demarrer, 68detruireInstance, 68estEnSimulation, 68fini, 69generer, 69getBaseDeTemps, 69getDate, 69getDateActuelle, 69getDateEtHeure, 70getDateEtHeureActuelle, 70getHeure, 70getHeureActuelle, 70, 71getInstance, 71getNbJours, 71, 72getNbMinutes, 72, 73getNbMsec, 73Horloge, 67instance, 75mutex, 75nbAcces, 75programmation, 75programmer, 73simulation, 75simuler, 74tic, 74top, 74
INDEX_ACQUITTEMENTsuiveurSolaire.h, 173
INDEX_AUTOMATIQUEsuiveurSolaire.h, 173
INDEX_DEST_HORAIREsuiveurSolaire.h, 173
INDEX_ERREURsuiveurSolaire.h, 173
INDEX_HEUREsuiveurSolaire.h, 173
INDEX_JOURsuiveurSolaire.h, 173
INDEX_LATITUDEsuiveurSolaire.h, 174
INDEX_LONGITUDEsuiveurSolaire.h, 174
INDEX_MINUTE
suiveurSolaire.h, 174INDEX_MOIS
suiveurSolaire.h, 174INDEX_MOTEUR_A
suiveurSolaire.h, 174INDEX_MOTEUR_B
suiveurSolaire.h, 174INDEX_POS_HORAIRE
suiveurSolaire.h, 174INDEX_SECONDE
suiveurSolaire.h, 174INIT
capteurSolaire.h, 161IhmTournesol, 75∼IhmTournesol, 80IhmTournesol, 77acquisitionMeteo, 94acquisitionRegulateur, 94acquisitionSuiveur, 94activerProtectionVent, 81afficherAlarmeRegulateur, 81afficherBuzzer, 82afficherCadenas, 82afficherDateHeure, 82afficherEtatSuiveur, 87afficherEtatsLDR, 83afficherInformationsRegulateur, 87afficherInformationsStationMeteo, 87afficherInformationsSuiveur, 88afficherJournalisationRegulateur, 89afficherModeCharge, 89afficherModeNuit, 90afficherTypeBatteries, 90alerterProtectionVent, 90asservissementSuiveur, 94deplacer, 90deplacerAngleAzimut, 91deplacerAngleElevation, 91deplacerAzimut, 91deplacerElevation, 91deplacerPositionMaintenance, 91deplacerPositionPluie, 91deplacerPositionVent, 91editerFrequenceProtectionVent, 92editerVitesseMaxProtectionVent, 92etatModeProgramme, 92ihm, 94IhmTournesol, 77initialiserModesDeCharges, 92initialiserQwt, 92initialiserTypeBatteries, 93nouvelEtatProtectionVent, 94protectionVent, 94threadAcquisitionMeteo, 94threadAcquisitionRegulateur, 95threadAcquisitionSuiveur, 95threadAsservissementSuiveur, 95threadProtectionVent, 95timer, 95verfierEtatMode, 94
InformationsRegulateur, 95
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
INDEX 179
courantCharge, 95courantPhotovoltaique, 95modeChargeBatterie, 95niveauCharge, 96onOff, 96surplusEnergie, 96temperature, 96tensionBatterie, 96
InformationsStationMeteo, 96directionVent, 97luminosite, 97temperature, 97valide, 98vitesseVent, 98
InformationsSuiveur, 98angleElevationB, 98angleHoraireA, 98automatique, 98destinationA, 99destinationB, 99erreurs, 99heure, 99iMoteurA, 99iMoteurB, 99jour, 99latitude, 99longitude, 99minute, 99mois, 99movingInA, 99movingInB, 99movingOutA, 99movingOutB, 100orientationLatitude, 100orientationLongitude, 100positionElevationB, 100positionHoraireA, 100seconde, 100
JournalisationRegulateur, 100BuzzerEtat, 101ampereHeurePVExcedant, 100ampereHeurePvConsomme, 100chargeAmpaireHeure, 101mode, 101modeLock, 101modenuit, 101nbSemaines, 101niveauChargeMatin, 101niveauChargeSoir, 101serialInterface, 101typeBatterie, 101
LEFTsuiveurSolaire.h, 174
LEVER_COUCHERregulateur.h, 170
LG_HEUREsuiveurSolaire.h, 174
LG_MINUTEsuiveurSolaire.h, 174
LG_SECONDEsuiveurSolaire.h, 174
LTC2309_I2C_ADDRESSbusi2c.h, 157
MAXcapteurLuminosite.h, 159capteurSolaire.h, 161
MAX_I2C_BUSbusi2c.h, 157
MAX_WRITE_LENbusi2c.h, 157
MINcapteurLuminosite.h, 159capteurSolaire.h, 161
MIN_I2C_BUSbusi2c.h, 157
Mesure, 102horodatage, 102unite, 102valeur, 102valide, 102
NB_MESUREScapteurSolaire.h, 161
One_Time_H_Resolution_ModecapteurLuminosite.h, 159
PASSWORDbasededonnees.h, 156
PERIODEasservissementSuiveur.h, 154
PORT_CV7CV7.h, 162
PROTECTION_VENT_AsuiveurSolaire.h, 174
PROTECTION_VENT_BsuiveurSolaire.h, 174
ParametresRegulateur, 102buzzerOnOff, 102modeCoupureChargeFaible, 102modeLock, 103modeNuit, 103serialInterface, 103typeBatterie, 103
Port, 103∼Port, 104Port, 104estOuvert, 104getNbOctetsDisponibles, 104lire, 105onReadyRead, 105ouvrir, 105Port, 104port, 108recevoir, 106, 107transmettre, 107
ProtectionVent, 108∼ProtectionVent, 110ProtectionVent, 110acquerir, 111activerProtectionVent, 111alerte, 111annuler, 111arreterProtection, 112attendrePeriode, 112
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
INDEX 180
attente, 115baseDeDonnees, 115configurationProtectionVent, 115editerFrequenceProtectionVent, 112editerVitesseMaxProtectionVent, 113enregisterAlerte, 113fini, 115finir, 113horloge, 115lireModeDeFonctionnement, 113main, 114msleep, 114mutex, 115periode, 115protection, 115protectionActivee, 115ProtectionVent, 110proteger, 114recupererConfigurationProtectionVent, 114surveillerVent, 114terminer, 115vitesse, 115vitesseMax, 115waitCondition, 115
README.dox, 168RIGHT
suiveurSolaire.h, 174Regulateur, 116∼Regulateur, 117Regulateur, 117acquerir, 118acquerirHistorique, 118acquerirInformations, 119alarmesRegulateur, 129bdd, 129changerEtatBuzzer, 120changerEtatCadenas, 120changerModeCharge, 120changerModeNuit, 121changerTypeBatterie, 121decoderAlarmes, 121decoderMenuState, 122decoderMenuState2, 123decoderTrameHistorique, 124decoderTrameInformations, 125envoyerMenuState, 127envoyerMenuState2, 128informationsRegulateur, 129journalisationRegulateur, 129mutex, 129nouvellesAlarmesRegulateur, 129nouvellesInformationsRegulateur, 129nouvellesJournalisationRegulateur, 129parametresRegulateur, 129port, 130Regulateur, 117
SEUIL_DETECTIONcapteurSolaire.h, 161
SOIR_MATINregulateur.h, 170
StationMeteo, 130
∼StationMeteo, 131StationMeteo, 131_direction, 135_temperature, 135_vitesse, 135acquerir, 132bdd, 135capteurLumineux, 135cv7, 135direction, 135enregistrerMesures, 132informationStationMeteo, 135lireDirection, 133lireLuminosite, 133lireTemperature, 133lireVent, 134lireVitesse, 134nouvellesInformationsStationMeteo, 135StationMeteo, 131temperature, 136vitesse, 136
SuiveurSolaire, 136∼SuiveurSolaire, 138SuiveurSolaire, 138acquerir, 138bdd, 148calculerChecksum, 141date, 148decoderTrame, 141deplacer, 144deplacerAngleElevation, 144deplacerAngleHoraire, 144deplacerManuel, 145deplacerPanneauBas, 145deplacerPanneauDroite, 145deplacerPanneauGauche, 146deplacerPanneauHaut, 146enregistrerInformationsBdd, 146gererModeAutoProgramme, 146getEtat, 147informationsSuiveur, 148mutexPort, 148port, 148protectionVent, 148proteger, 147reinitialiserInformationsSuiveur, 147signalerInformationsSuiveur, 148stopperCommande, 148SuiveurSolaire, 138
TEMPSATTENTEprotectionVent.cpp, 167
TENSION_ALIMcapteurSolaire.h, 161
TOUTEcapteurSolaire.h, 161
UPsuiveurSolaire.h, 175
USERNAMEbasededonnees.h, 156
VEILLEUSE_ARRETregulateur.h, 170
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
INDEX 181
_directionStationMeteo, 135
_temperatureStationMeteo, 135
_ticHorloge, 74
_topHorloge, 74
_vitesseStationMeteo, 135
acquerirCapteurSolaire, 57ProtectionVent, 111Regulateur, 118StationMeteo, 132SuiveurSolaire, 138
acquerirHistoriqueRegulateur, 118
acquerirInformationsRegulateur, 119
acquisitionMeteoIhmTournesol, 94
acquisitionMeteo.cpp, 149acquisitionMeteo.h, 149acquisitionRegulateur
IhmTournesol, 94acquisitionRegulateur.cpp, 150acquisitionRegulateur.h, 151acquisitionSuiveur
IhmTournesol, 94acquisitionSuiveur.cpp, 152acquisitionSuiveur.h, 152activerProtectionVent
IhmTournesol, 81ProtectionVent, 111
afficherAlarmeRegulateurIhmTournesol, 81
afficherBuzzerIhmTournesol, 82
afficherCadenasIhmTournesol, 82
afficherDateHeureIhmTournesol, 82
afficherEtatSuiveurAsservissementSuiveur, 36CapteurSolaire, 57IhmTournesol, 87
afficherEtatsLDRAsservissementSuiveur, 35IhmTournesol, 83
afficherInformationsRegulateurIhmTournesol, 87
afficherInformationsStationMeteoIhmTournesol, 87
afficherInformationsSuiveurIhmTournesol, 88
afficherJournalisationRegulateurIhmTournesol, 89
afficherLabelAsservissementSuiveurAsservissementSuiveur, 36
afficherModeChargeIhmTournesol, 89
afficherModeNuitIhmTournesol, 90
afficherTypeBatteriesIhmTournesol, 90
alarmeBatterieAlarmesRegulateur, 32
alarmeChargeCompleteAlarmesRegulateur, 32
alarmeDebranchementBatterieAlarmesRegulateur, 32
alarmeSurchauffeChargeAlarmesRegulateur, 32
alarmeSurchauffePvAlarmesRegulateur, 32
alarmeSurtensionChargeAlarmesRegulateur, 32
alarmeSurtensionPvAlarmesRegulateur, 32
alarmeSurvoltageBatterieAlarmesRegulateur, 32
alarmesRegulateurRegulateur, 129
alerteProtectionVent, 111
alerterProtectionVentIhmTournesol, 90
ampereHeurePVExcedantJournalisationRegulateur, 100
ampereHeurePvConsommeJournalisationRegulateur, 100
analogRawReadBusI2C, 48
angleElevationBInformationsSuiveur, 98
angleHoraireAInformationsSuiveur, 98
annulerAcquisitionMeteo, 18AcquisitionRegulateur, 23AcquisitionSuiveur, 28AsservissementSuiveur, 36ProtectionVent, 111
arreterHorloge, 68
arreterProtectionProtectionVent, 112
asservissementSuiveurIhmTournesol, 94
asservissementSuiveur.cpp, 153asservissementSuiveur.h, 153
PERIODE, 154attendrePeriode
AcquisitionMeteo, 18AcquisitionRegulateur, 23ProtectionVent, 112
attenteProtectionVent, 115
automatiqueInformationsSuiveur, 98
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
INDEX 182
baseDeDonneesBaseDeDonnees, 46ProtectionVent, 115
baseDeTempsHorloge, 75
basededonnees.cpp, 155basededonnees.h, 155
DATABASENAME, 156HOSTNAME, 156PASSWORD, 156USERNAME, 156
bddAcquisitionSuiveur, 31AsservissementSuiveur, 38CapteurSolaire, 60Regulateur, 129StationMeteo, 135SuiveurSolaire, 148
busI2CBusI2C, 53
busi2c.cpp, 156busi2c.h, 156
BH1750_I2C_ADDRESS, 157LTC2309_I2C_ADDRESS, 157MAX_I2C_BUS, 157MAX_WRITE_LEN, 157MIN_I2C_BUS, 157
buzzerOnOffParametresRegulateur, 102
calculerChecksumSuiveurSolaire, 141
capteurLumineuxStationMeteo, 135
capteurLuminosite.cpp, 158capteurLuminosite.h, 158
Continuously_H_Resolution_Mode, 159MAX, 159MIN, 159One_Time_H_Resolution_Mode, 159
capteurSolaireAsservissementSuiveur, 38
capteurSolaire.cpp, 159capteurSolaire.h, 160
CANAL_A0_IN2, 161CANAL_A1_IN1, 161DELTA, 161ECLAIREE, 161ETEINTE, 161INIT, 161MAX, 161MIN, 161NB_MESURES, 161SEUIL_DETECTION, 161TENSION_ALIM, 161TOUTE, 161
changerEtatBuzzerAcquisitionRegulateur, 23Regulateur, 120
changerEtatCadenasAcquisitionRegulateur, 23
Regulateur, 120changerModeCharge
AcquisitionRegulateur, 23Regulateur, 120
changerModeNuitAcquisitionRegulateur, 23Regulateur, 121
changerTypeBatterieAcquisitionRegulateur, 23Regulateur, 121
chargeAmpaireHeureJournalisationRegulateur, 101
configurationProtectionVent, 61ProtectionVent, 115
connecterBaseDeDonnees, 41
courantChargeInformationsRegulateur, 95
courantPhotovoltaiqueInformationsRegulateur, 95
createInstanceBusI2C, 49
current_slaveBusI2C, 53
cv7StationMeteo, 135
dateSuiveurSolaire, 148
dbBaseDeDonnees, 46
debutSimulationHorloge, 75
decoderAlarmesRegulateur, 121
decoderMenuStateRegulateur, 122
decoderMenuState2Regulateur, 123
decoderTrameSuiveurSolaire, 141
decoderTrameHistoriqueRegulateur, 124
decoderTrameInformationsRegulateur, 125
decouperTramesCV7, 63
delay_msBusI2C, 49
demarrerHorloge, 68
deplacerAcquisitionSuiveur, 28IhmTournesol, 90SuiveurSolaire, 144
deplacerAngleAzimutAcquisitionSuiveur, 28IhmTournesol, 91
deplacerAngleElevationAcquisitionSuiveur, 28IhmTournesol, 91
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
INDEX 183
SuiveurSolaire, 144deplacerAngleHoraire
SuiveurSolaire, 144deplacerAzimut
IhmTournesol, 91deplacerElevation
IhmTournesol, 91deplacerEst
AsservissementSuiveur, 36deplacerManuel
SuiveurSolaire, 145deplacerNord
AsservissementSuiveur, 36deplacerOuest
AsservissementSuiveur, 36deplacerPanneauBas
AcquisitionSuiveur, 28SuiveurSolaire, 145
deplacerPanneauDroiteAcquisitionSuiveur, 29SuiveurSolaire, 145
deplacerPanneauEstAcquisitionSuiveur, 29
deplacerPanneauGaucheAcquisitionSuiveur, 29SuiveurSolaire, 146
deplacerPanneauHautAcquisitionSuiveur, 29SuiveurSolaire, 146
deplacerPanneauNordAcquisitionSuiveur, 29
deplacerPanneauOuestAcquisitionSuiveur, 29
deplacerPanneauSudAcquisitionSuiveur, 29
deplacerPositionMaintenanceIhmTournesol, 91
deplacerPositionPluieIhmTournesol, 91
deplacerPositionVentIhmTournesol, 91
deplacerSudAsservissementSuiveur, 36
destinationAInformationsSuiveur, 99
destinationBInformationsSuiveur, 99
detecterCapteurSolaire, 57
detruireInstanceBaseDeDonnees, 41Horloge, 68
directionStationMeteo, 135
directionVentInformationsStationMeteo, 97
editerFrequenceProtectionVentIhmTournesol, 92ProtectionVent, 112
editerVitesseMaxProtectionVent
IhmTournesol, 92ProtectionVent, 113
enregisterAlerteProtectionVent, 113
enregistrerEtatSuiveurAcquisitionSuiveur, 29
enregistrerInformationsBddSuiveurSolaire, 146
enregistrerMesuresStationMeteo, 132
envoyerMenuStateRegulateur, 127
envoyerMenuState2Regulateur, 128
erreursInformationsSuiveur, 99
estEnSimulationHorloge, 68
estOuvertPort, 104
etatConfigurationProtectionVent, 61
etatLDR1AsservissementSuiveur, 38CapteurSolaire, 60
etatLDR2AsservissementSuiveur, 38CapteurSolaire, 60
etatLDR3AsservissementSuiveur, 38CapteurSolaire, 60
etatLDR4AsservissementSuiveur, 38CapteurSolaire, 60
etatModeProgrammeIhmTournesol, 92
executerBaseDeDonnees, 41
finiAcquisitionMeteo, 20AcquisitionRegulateur, 25AcquisitionSuiveur, 31AsservissementSuiveur, 38Horloge, 69ProtectionVent, 115
finirAcquisitionMeteo, 19AcquisitionRegulateur, 24AcquisitionSuiveur, 29AsservissementSuiveur, 36ProtectionVent, 113
genererHorloge, 69
gererModeAutoProgrammeAcquisitionSuiveur, 29SuiveurSolaire, 146
get_msBusI2C, 49
getBaseDeTemps
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
INDEX 184
Horloge, 69getDate
Horloge, 69getDateActuelle
Horloge, 69getDateEtHeure
Horloge, 70getDateEtHeureActuelle
Horloge, 70getEtat
SuiveurSolaire, 147getEtatLDR1
CapteurSolaire, 58getEtatLDR2
CapteurSolaire, 58getEtatLDR3
CapteurSolaire, 58getEtatLDR4
CapteurSolaire, 58getHeure
Horloge, 70getHeureActuelle
Horloge, 70, 71getInstance
BaseDeDonnees, 42Horloge, 71
getNbJoursHorloge, 71, 72
getNbMinutesHorloge, 72, 73
getNbMsecHorloge, 73
getNbOctetsDisponiblesPort, 104
heureInformationsSuiveur, 99
horlogeProtectionVent, 115
horloge.cpp, 163horloge.h, 163
BASE_DE_TEMPS, 164DEBUG_HORLOGE, 164
horodatageMesure, 102
i2c_busBusI2C, 53
i2c_fdBusI2C, 53
iMoteurAInformationsSuiveur, 99
iMoteurBInformationsSuiveur, 99
ihmIhmTournesol, 94
ihmTournesol.cpp, 164ihmTournesol.h, 164informationStationMeteo
StationMeteo, 135informationsRegulateur
Regulateur, 129informationsSuiveur
SuiveurSolaire, 148initialiserModesDeCharges
IhmTournesol, 92initialiserQwt
IhmTournesol, 92initialiserTypeBatteries
IhmTournesol, 93instance
Horloge, 75is_open
BusI2C, 50
jourInformationsSuiveur, 99
journalisationRegulateurRegulateur, 129
latitudeInformationsSuiveur, 99
lireCapteurLuminosite, 54Port, 105
lireConfigurationAcquisitionMeteo, 19AcquisitionRegulateur, 24
lireDirectionStationMeteo, 133
lireEtatSuiveurAsservissementSuiveur, 36
lireLuminositeStationMeteo, 133
lireModeDeFonctionnementProtectionVent, 113
lirePeriodeAcquisitionSuiveur, 30
lireTemperatureStationMeteo, 133
lireTensionCapteurSolaire, 58
lireVentStationMeteo, 134
lireVitesseStationMeteo, 134
longitudeInformationsSuiveur, 99
luminositeCapteurLuminosite, 54InformationsStationMeteo, 97
luxRawReadBusI2C, 50
mainAcquisitionMeteo, 19AcquisitionRegulateur, 24AcquisitionSuiveur, 30AsservissementSuiveur, 36main.cpp, 165ProtectionVent, 114
main.cpp, 165
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
INDEX 185
main, 165mediane
CapteurSolaire, 59minute
InformationsSuiveur, 99mode
JournalisationRegulateur, 101modeAuto
AcquisitionSuiveur, 31modeChargeBatterie
InformationsRegulateur, 95modeCoupureChargeFaible
ParametresRegulateur, 102modeLock
JournalisationRegulateur, 101ParametresRegulateur, 103
modeNuitParametresRegulateur, 103
modenuitJournalisationRegulateur, 101
moisInformationsSuiveur, 99
movingInAInformationsSuiveur, 99
movingInBInformationsSuiveur, 99
movingOutAInformationsSuiveur, 99
movingOutBInformationsSuiveur, 100
msleepAcquisitionMeteo, 20AcquisitionRegulateur, 24AcquisitionSuiveur, 30AsservissementSuiveur, 37ProtectionVent, 114
mutexAcquisitionMeteo, 20AcquisitionRegulateur, 25AcquisitionSuiveur, 31AsservissementSuiveur, 39BaseDeDonnees, 46BusI2C, 53Horloge, 75ProtectionVent, 115Regulateur, 129
mutexPortSuiveurSolaire, 148
nbAccesBaseDeDonnees, 46Horloge, 75
nbSemainesJournalisationRegulateur, 101
niveauChargeInformationsRegulateur, 96
niveauChargeMatinJournalisationRegulateur, 101
niveauChargeSoirJournalisationRegulateur, 101
nouvelEtatProtectionVent
IhmTournesol, 94nouvellesAlarmesRegulateur
AcquisitionRegulateur, 25Regulateur, 129
nouvellesInformationsRegulateurAcquisitionRegulateur, 25Regulateur, 129
nouvellesInformationsStationMeteoAcquisitionMeteo, 20StationMeteo, 135
nouvellesJournalisationRegulateurAcquisitionRegulateur, 25Regulateur, 129
onOffInformationsRegulateur, 96
onReadyReadPort, 105
orientationLatitudeInformationsSuiveur, 100
orientationLongitudeInformationsSuiveur, 100
ouvrirPort, 105
parametresRegulateurRegulateur, 129
periodeAcquisitionMeteo, 20AcquisitionRegulateur, 25AcquisitionSuiveur, 31ConfigurationProtectionVent, 61ProtectionVent, 115
phrasesCV7, 65
portCV7, 65Port, 108Regulateur, 130SuiveurSolaire, 148
port.cpp, 166port.h, 166
BUFFERSIZE, 167positionElevationB
InformationsSuiveur, 100positionHoraireA
InformationsSuiveur, 100programmation
Horloge, 75programmer
Horloge, 73protection
ProtectionVent, 115protectionActivee
ProtectionVent, 115protectionVent
IhmTournesol, 94SuiveurSolaire, 148
protectionVent.cpp, 167TEMPSATTENTE, 167
protectionVent.h, 168
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
INDEX 186
protegerAcquisitionSuiveur, 30ProtectionVent, 114SuiveurSolaire, 147
readBusI2C, 50
recevoirPort, 106, 107
recevoirPhrasesCV7, 63
recupererBaseDeDonnees, 42d
recupererConfigurationProtectionVentProtectionVent, 114
recupererPhraseCV7, 64
regulateurAcquisitionRegulateur, 25
regulateur.cpp, 169regulateur.h, 169
LEVER_COUCHER, 170SOIR_MATIN, 170VEILLEUSE_ARRET, 170
reinitialiserCapteurSolaire, 59
reinitialiserInformationsSuiveurSuiveurSolaire, 147
releaseInstanceBusI2C, 51
secondeInformationsSuiveur, 100
select_slaveBusI2C, 51
serialInterfaceJournalisationRegulateur, 101ParametresRegulateur, 103
setMapCV7, 64
signalerInformationsSuiveurAcquisitionSuiveur, 30SuiveurSolaire, 148
simulationHorloge, 75
simulerHorloge, 74
stationMeteoAcquisitionMeteo, 20
stationMeteo.cpp, 170stationMeteo.h, 171stopperCommande
AcquisitionSuiveur, 31SuiveurSolaire, 148
suiveurAcquisitionSuiveur, 31
suiveurSolaire.cpp, 171suiveurSolaire.h, 172
DOWN, 173INDEX_ACQUITTEMENT, 173INDEX_AUTOMATIQUE, 173
INDEX_ERREUR, 173INDEX_HEURE, 173INDEX_JOUR, 173INDEX_LATITUDE, 174INDEX_LONGITUDE, 174INDEX_MINUTE, 174INDEX_MOIS, 174INDEX_MOTEUR_A, 174INDEX_MOTEUR_B, 174INDEX_POS_HORAIRE, 174INDEX_SECONDE, 174LEFT, 174LG_HEURE, 174LG_MINUTE, 174LG_SECONDE, 174PROTECTION_VENT_A, 174PROTECTION_VENT_B, 174RIGHT, 174UP, 175
suivreSoleilAsservissementSuiveur, 37
surplusEnergieInformationsRegulateur, 96
surveillerVentProtectionVent, 114
temperatureInformationsRegulateur, 96InformationsStationMeteo, 97StationMeteo, 136
tensionBatterieInformationsRegulateur, 96
terminerAcquisitionMeteo, 20AcquisitionRegulateur, 25AcquisitionSuiveur, 31AsservissementSuiveur, 38ProtectionVent, 115
threadAcquisitionMeteoIhmTournesol, 94
threadAcquisitionRegulateurIhmTournesol, 95
threadAcquisitionSuiveurIhmTournesol, 95
threadAsservissementSuiveurIhmTournesol, 95
threadProtectionVentIhmTournesol, 95
ticHorloge, 74
timerIhmTournesol, 95
topHorloge, 74
tournesol.h, 175trameRecu
AlarmesRegulateur, 32transmettre
Port, 107trier
CapteurSolaire, 60
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen
INDEX 187
txBuffBusI2C, 53
typeBatterieJournalisationRegulateur, 101ParametresRegulateur, 103
uniteMesure, 102
valeurMesure, 102
valideInformationsStationMeteo, 98Mesure, 102
verfierEtatModeIhmTournesol, 94
vitesseProtectionVent, 115StationMeteo, 136
vitesseMaxConfigurationProtectionVent, 61ProtectionVent, 115
vitesseVentInformationsStationMeteo, 98
waitConditionAcquisitionMeteo, 20AcquisitionRegulateur, 25AcquisitionSuiveur, 31AsservissementSuiveur, 39ProtectionVent, 115
writeBusI2C, 51, 52
Généré le Jeudi Juin 9 2016 21:46:01 pour Tournesol par Doxygen