//********************************************************************************************************************************************************************************** // Fichier ENTREES.H // // Contient tous les define liés à la lecture de l'état des entrées //********************************************************************************************************************************************************************************** // Entrées GPIO : #define CM3P_DI_MOD_RI 4 // Exemple GPIO #4 #define CM3P_DI_LIGHT_MOD 6 #define CM3P_DI_STATUS_MOD 7 #define CM3P_DI_USB1_ALERT_N 8 #define CM3P_DI_USB2_ALERT_N 9 #define CM3P_DI_USB3_ALERT_N 10 #define CM3P_DI_FROM_UC 28 #define CM3P_DI_LOW_12V 34 #define CM3P_DI_SIM_SW 36 #define CM4_DI_USB_BAS_ALERT_N 2 #define CM4_DI_USB_MILIEU_ALERT_N 3 #define CM4_DI_USB_HAUT_ALERT_N 4 #define CM4_LOW_32V_INPUT 6 #define CM4_DI_USB_ARRIERE_ALERT_N 8 #define CM4_DI_JACK_DETECT 26 #define CM4_DI_FROM_UC 27 // Général : #define MAX_LONGUEUR_NOM_ENTREE 40 // Nombre max d'E/S : #define MAX_NOMBRE_ENTREES_AUXILIAIRES 32 #define MAX_NOMBRE_ENTREES_LEVEL_SENSOR 8 #define MAX_NOMBRE_ENTREES_VOLTAGE 4 #define MAX_NOMBRE_ENTREES_NMEA 50 // A priori, doit être identique à NMEA_MAX_NOMBRE_PGN_ACTIFS du Compagnon (vers la ligne #903 de 'shared_shipheart_compagnon_defines.h'). #define MAX_NOMBRE_ENTREES_OW 32 #define MAX_NOMBRE_ENTREES_PREDEFINIES 100 // Estimation taille : environ 22 pour ShipBase + (32 modules x 2 entrées TEMP et IN_V)) #define MAX_NOMBRE_ENTREES_CORE 16 #define MAX_NOMBRE_ENTREES_GPIO 54 // Il y a 54 E/S GPIO qui peuvent être configurées en Entrée ou en Sortie mais ce nombre peut-être < 54 (vérifié au chargement de la BDD) // Timings : #define TEMPO_INIT_ENTREES_LEVEL_SENSOR 200 // En 10ms. #define TEMPO_INIT_ENTREES_CORE 200 // En 10ms. #define TEMPO_INIT_ENTREES_GPIO 0 // En 10ms. Défini le temps pendant lequel la gestion des entrées GPIO est bloquée en stand-bye. #define PERIODE_LECTURE_ENTREES_AUX 100 // En x10ms. #define PERIODE_LECTURE_ENTREES_LEVEL_SENSOR 100 // En x10ms. #define PERIODE_LECTURE_ENTREES_VOLT 100 // En x10ms. #define PERIODE_LECTURE_ENTREES_OW 100 // En x10ms. #define PERIODE_LECTURE_ENTREES_PREDEFINIE 100 // En x10ms. // Non utilisée car mis à jour essentiellement par COmpagnon de façon asynchrone #define PERIODE_LECTURE_ENTREES_CORE 500 // En x10ms. #define PERIODE_LECTURE_ENTREES_GPIO 5 // En x10ms. // Type entrées (utilisées dans la config des Réservoirs, Capteurs ou Batteries) : #define TYPE_ENTREES_AUXILIAIRES 1 #define TYPE_ENTREES_LEVEL_SENSOR 2 #define TYPE_ENTREES_VOLTAGE 3 #define TYPE_ENTREES_OW 4 #define TYPE_ENTREES_PREDEFINIES 5 #define TYPE_ENTREES_IBS 6 #define TYPE_ENTREES_NMEA 7 #define TYPE_ENTREES_CAN 8 #define TYPE_ENTREES_CALCULEE_BOOLEEN 20 #define TYPE_ENTREES_CALCULEE_NUMERIQUE 21 #define TYPE_ENTREES_CORE 30 #define TYPE_ENTREES_GPIO 31 // Entrées OW : #define DEVICE_OW_VALEUR_ERREUR_ETAT_GENERAL_NOK 0x8000 // Valeur numérique indiquant une erreur de device sur le capteur correspondant (en pratique, représente -327°C) #define DEVICE_OW_VALEUR_ERREUR_ETAT_DEVICE_NOK 0x8001 // Valeur numérique indiquant une erreur de device sur le capteur correspondant (en pratique, représente -327°C) #define OW_ETAT_DEVICE_OK 0 // Le dernier accès au device s'est bien déroulé #define OW_ETAT_DEVICE_NOK 1 // Le dernier accès au device a rencontré une erreur #define OW_ETAT_BUS_NOK 2 // L'accès au bus OW est impossible globalement (bus en CC par exemple) #define OW_DEFAUT_BUS_AUCUN 0 #define OW_DEFAUT_BUS_COURT_CIRCUIT 1 #define OW_DEFAUT_BUS_TROP_DEVICES 2 // Codes prédéfinis : #define ENTREE_PREDEFINIE_AUCUNE 0 #define ENTREE_PREDEFINIE_PAT 1 #define ENTREE_PREDEFINIE_HUM 2 #define ENTREE_PREDEFINIE_TEMP 3 #define ENTREE_PREDEFINIE_LAT 4 #define ENTREE_PREDEFINIE_LON 5 #define ENTREE_PREDEFINIE_IN_V 6 #define ENTREE_PREDEFINIE_IN_I 7 #define ENTREE_PREDEFINIE_USB_I 8 #define ENTREE_PREDEFINIE_EDM 9 #define ENTREE_PREDEFINIE_ACC_XYZ 10 #define ENTREE_PREDEFINIE_ACC_X 11 #define ENTREE_PREDEFINIE_ACC_Y 12 #define ENTREE_PREDEFINIE_ACC_Z 13 #define ENTREE_PREDEFINIE_ALT 14 #define ENTREE_PREDEFINIE_SOG 15 #define ENTREE_PREDEFINIE_COG 16 #define ENTREE_PREDEFINIE_SIV 17 #define ENTREE_PREDEFINIE_HPA 18 #define ENTREE_PREDEFINIE_VPA 19 #define ENTREE_PREDEFINIE_RSRP 20 #define ENTREE_PREDEFINIE_RSSI 21 #define ENTREE_PREDEFINIE_SINR 22 // Logique des entrées AUX : #define ENTREE_AUX_LOGIQUE_NORMALE 0 #define ENTREE_AUX_LOGIQUE_INVERSEE 1 // Level Sensors - modes de fonctionnement : #define ENTREE_LEVEL_SENSOR_MODE_FONCTIONNEMENT_NON_DEFINI 0 #define ENTREE_LEVEL_SENSOR_MODE_FONCTIONNEMENT_0_10V 1 #define ENTREE_LEVEL_SENSOR_MODE_FONCTIONNEMENT_500R 2 #define ENTREE_LEVEL_SENSOR_MODE_FONCTIONNEMENT_4_20MA 3 #define ENTREE_LEVEL_SENSOR_MODE_FONCTIONNEMENT_AUTO_TEST 4 #define ENTREE_LEVEL_SENSOR_MODE_FONCTIONNEMENT_DEFAUT_ISOLEMENT_MASSE 5 #define ENTREE_LEVEL_SENSOR_MODE_FONCTIONNEMENT_DEFAUT_ISOLEMENT_PLUS 6 #define ENTREE_LEVEL_SENSOR_MODE_FONCTIONNEMENT_DEFAUT_ISOLEMENT_FULL 7 // Etats séquenceur Entrées Level Sensor : #define ETAT_SEQUENCEUR_ENTREES_LEVEL_SENSOR_INIT 0 #define ETAT_SEQUENCEUR_ENTREES_LEVEL_SENSOR_REPOS 1