//********************************************************************************************************************************************************************************** // Fichier EVENTS.H // // Contient tous les define liés aux évènements // //**********************************************************************************************************************************************************************************/ // Maximums : #define MAX_NOMBRE_EVENTS 200 // Cf équivalent dans 'main.qml'. #define MAX_NOMBRE_CONDITIONS_HORAIRES_PAR_EVENT 15 // Cf équivalent dans 'main.qml'. #define MAX_NOMBRE_ACTION_CIRCUITS_PAR_EVENT 50 // Cf équivalent dans 'main.qml'. #define MAX_REPETITIONS_SEQUENCEUR_EVENT 3 // Nombre maxi de répétitions du séquenceur d'un même evenènement. #define MAX_HEURES_SPECIALES 9 // Selon liste ci-dessous // Tempos : #define EVENTS_TEMPO_INIT 500 // En x 10ms #define EVENTS_PERIODE_CHECK 10 // En x 10ms #define EVENTS_DIVISEUR_CONDITIONS_HORAIRES 10 // Multiplie EVENTS_PERIODE_CHECK pour obtenir la période de traitement des conditions horaires. // Heures spéciales : #define HEURE_SPECIALE_OFFSET 24 // Les valeurs des heures spéciales telles que stockées dans des condtions horaires sont égales à [HEURE_SPECIALE_OFFSET + HEURE_SPECIALE_xxx] pour les distinguer des heures normales, de 00 à 23. #define HEURE_SPECIALE_FIN_NUIT 0 // -18° de l'horizon #define HEURE_SPECIALE_AUBE_NAUTIQUE 1 // -12° de l'horizon #define HEURE_SPECIALE_AUBE 2 // -6° de l'horizon #define HEURE_SPECIALE_LEVER_SOLEIL 3 // -0.833° de l'horizon #define HEURE_SPECIALE_ZENITH 4 #define HEURE_SPECIALE_COUCHER_SOLEIL 5 // -0.833° de l'horizon #define HEURE_SPECIALE_CREPUSCULE 6 // -6° de l'horizon #define HEURE_SPECIALE_CREPUSCULE_NAUTIQUE 7 // -12° de l'horizon #define HEURE_SPECIALE_DEBUT_NUIT 8 // -18° de l'horizon // Attention : si ajout d'heures spéciales, penser à modifier MAX_HEURES_SPECIALES en début de ce fichier... // NB : la valeur d'offset n'entre pas en compte dans ce MAX. // Jours de la semaine : #define JOUR_SEMAINE_LUNDI 1 #define JOUR_SEMAINE_MARDI 2 #define JOUR_SEMAINE_MERCREDI 3 #define JOUR_SEMAINE_JEUDI 4 #define JOUR_SEMAINE_VENDREDI 5 #define JOUR_SEMAINE_SAMEDI 6 #define JOUR_SEMAINE_DIMANCHE 7 #define JOUR_SEMAINE_TOUS_LES_JOURS 8 // Types de tests : #define EVENTS_TYPE_TEST_NON_DEFINI 0 #define EVENTS_TYPE_TEST_STRICT_INFERIEUR 1 #define EVENTS_TYPE_TEST_INFERIEUR_OU_EGAL 2 #define EVENTS_TYPE_TEST_EGAL 3 #define EVENTS_TYPE_TEST_SUPERIEUR_OU_EGAL 4 #define EVENTS_TYPE_TEST_STRICT_SUPERIEUR 5 // Types d'action sur circuit : #define EVENTS_TYPE_ACTION_CIRCUIT_TOGGLE -1 // Les autres actions sont l'application d'une consigne, entre 0 (Off) et MAX_CONSIGNE_CIRCUIT (100) // Etats du séquenceur Event : #define ETAT_SEQUENCEUR_EVENT_INIT 0 #define ETAT_SEQUENCEUR_EVENT_REPOS 1 #define ETAT_SEQUENCEUR_EVENT_LANCEMENT_TEMPO 2 #define ETAT_SEQUENCEUR_EVENT_ATTENTE_FIN_TEMPO 3 #define ETAT_SEQUENCEUR_EVENT_DECLENCHEMENT 4 #define ETAT_SEQUENCEUR_EVENT_ATTENTE_DESACTIVATION 5 // Etats du séquenceur Events : #define ETAT_SEQUENCEUR_EVENTS_INIT 0 #define ETAT_SEQUENCEUR_EVENTS_REPOS 1