//********************************************************************************************************************************************************************************** // Fichier CAPTEURS.H // // Contient tous les define liés aux capteurs //**********************************************************************************************************************************************************************************/ // Maximums : #define MAX_NOMBRE_CAPTEURS 100 // Ne concerne que les capteurs valides de la BDD (la table peut en contenir autant qu'on veut mais pas plus que ce MAX valides simultanément => sinon une erreur est levée à l'init de l'appli et le démarrage est arrêté) #define MAX_NOMBRE_ENTREES_PAR_CAPTEUR 4 // Indique le nombre max d'entrées physiques pour un même capteur. A priori, Ok jusqu'à 32 car utilisation d'uint32_t pour l'analyse dans 'capteurs.c'. #define MAX_NOMBRE_VARIABLES_CAPTEURS 25 #define MAX_NOMBRE_VARIABLES_PAR_CAPTEUR 1 #define MAX_NOMBRE_CONDITIONS_PAR_CAPTEUR 50 // Nombre maxi de conditions pour un capteur de type calculé. Cf équivalent dans 'main.qml'. Note : les conditions de début et de fin de groupe compte dans ce total // Valeurs extrêmes (NB : ces valeurs sont dupliquées dans 'archivage.php'... Penser à les mettre à jour si modification ici). #define TEMPERATURE_VALEUR_MINI (-40.00) // En °C Plage mini du DS18B20 = -55°C mais jugé trop faible pour l'application #define TEMPERATURE_VALEUR_MAXI 125.00 // En °C Plage maxi du DS18B20 #define TEMPERATURE_DELTA_ZERO_MAXI 2.00 // En °C Delta maxi (en valeur absolue) avec la valeur précédente pour qu'une nouvelle valeur = 0 soit prise en compte #define PRESSION_ATM_VALEUR_MINI 900.00 // En hPa Pression Niveau de la Mer minimale (mondiale, toute période) : 870 hPa, au large des Philippines, près du centre du typhon Tip, le 12 octobre 1979. = #define PRESSION_ATM_VALEUR_MAXI 1080.00 // En hPa Pression Niveau de la Mer maximum (mondiale, toute période) : 1086,8 hPa, à Tosontsengel (Mongolie), le 20 janvier 2010. #define HUMIDITE_VALEUR_MINI 0.00 // En %HR #define HUMIDITE_VALEUR_MAXI 100.00 // En %HR #define ACCELERATION_VALEUR_MINI -16.00 // En 'g' #define ACCELERATION_VALEUR_MAXI +16.00 // En 'g' // Valeurs d'erreur : #define POSITION_VALEUR_ERRONNEE 200000000 // Valeur hors limite de latitude (-90 000 000 à +90 000 000) et longitude (-180 000 000 à +180 000 000) #define TEMPERATURE_VALEUR_ERRONEE 20000 // Soit 200°C qui hors du domaine possible // Timings : #define CAPTEURS_TEMPO_INIT 100 // En x 10ms #define CAPTEURS_PERIODE_INTEGRATION_VALEUR 10 // En x 10ms // Variables du capteur : #define CAPTEUR_VARIABLE_VALEUR 0 // NB : ces valeurs doivent rester strictement inférieures à MAX_NOMBRE_VARIABLES_PAR_RESERVOIR // Conditions d'un capteur calculé booléen : #define CAPTEUR_CONDITION_GROUPE_NORMAL 0 #define CAPTEUR_CONDITION_GROUPE_OU 1 #define CAPTEUR_CONDITION_GROUPE_ET 2 #define CAPTEUR_CONDITION_GROUPE_OU_EXCLUSIF 3 #define CAPTEUR_CONDITION_GROUPE_PLUS 10 #define CAPTEUR_CONDITION_GROUPE_MOINS 11 #define CAPTEUR_CONDITION_GROUPE_MULTIPLIE 12 #define CAPTEUR_CONDITION_GROUPE_DIVISE 13 // Etat d'un capteur #define CAPTEUR_ETAT_NORMAL 0 #define CAPTEUR_ETAT_ALERTE 1 #define CAPTEUR_ETAT_ALARME 2 // Variables du capteur : #define CAPTEUR_VARIABLE_SANS_UNITE 0 #define CAPTEUR_VARIABLE_TENSION_V 1 #define CAPTEUR_VARIABLE_TENSION_MV 2 #define CAPTEUR_VARIABLE_COURANT_A 3 #define CAPTEUR_VARIABLE_COURANT_MA 4 #define CAPTEUR_VARIABLE_PUISSANCE_W 5 #define CAPTEUR_VARIABLE_PUISSANCE_VA 6 #define CAPTEUR_VARIABLE_PUISSANCE_DB 7 #define CAPTEUR_VARIABLE_FREQUENCE 8 #define CAPTEUR_VARIABLE_RESISTANCE 9 #define CAPTEUR_VARIABLE_TEMPERATURE 10 #define CAPTEUR_VARIABLE_PRESSION_ATM 11 #define CAPTEUR_VARIABLE_HUMIDITE 12 #define CAPTEUR_VARIABLE_ACCELERATION 13 #define CAPTEUR_VARIABLE_POSITION 14 #define CAPTEUR_VARIABLE_POURCENTAGE 15 #define CAPTEUR_VARIABLE_DISTANCE_M 16 #define CAPTEUR_VARIABLE_DISTANCE_KM 17 #define CAPTEUR_VARIABLE_DISTANCE_NQ 18 #define CAPTEUR_VARIABLE_VITESSE_KTS 19 #define CAPTEUR_VARIABLE_VITESSE_KMH 20 #define CAPTEUR_VARIABLE_ANGLE_DEGRES 21 #define CAPTEUR_VARIABLE_LATITUDE 22 #define CAPTEUR_VARIABLE_LONGITUDE 23 #define CAPTEUR_VARIABLE_VOLUME 24 // ATTENTION : ces valeurs doivent rester strictement inférieures à MAX_NOMBRE_VARIABLES_CAPTEURS (augmenter la valeur en haut de ce fichier ci besoin...) // Etats des séquenceur : #define ETAT_SEQUENCEUR_CAPTEURS_INIT 0 #define ETAT_SEQUENCEUR_CAPTEURS_REPOS 1