120 lines
5.3 KiB
C
120 lines
5.3 KiB
C
//**********************************************************************************************************************************************************************************
|
|
// Fichier CIRCUITS.H
|
|
//
|
|
// Contient tous les define liés aux circuits
|
|
//**********************************************************************************************************************************************************************************/
|
|
|
|
// Maximums :
|
|
#define MAX_NOMBRE_CIRCUITS 256 // Nombre maximal de circuits commandés par ShipHeart, quelle que soit la carte sur laquelle ils sont.
|
|
#define MAX_CONSIGNE_CIRCUIT 100
|
|
#define MAX_NOMBRE_VARIABLES_CIRCUITS 7
|
|
#define MAX_TAILLE_NOM_CIRCUITS 80 // Lié à dimension du champs 'Nom' dans TB_Circuits
|
|
#define MAX_CIRCUITS_PAR_MODULE_SHIPBASE_V1 2 // ShipBase proprement-dit et ports USB en face avant
|
|
#define MAX_CIRCUITS_PAR_MODULE_SHIPBASE_V2 3 // ShipBase proprement-dit, ports USB en face avant et port USB à l'arrière
|
|
#define MAX_CIRCUITS_PAR_MODULE_SP8XX 8 // Valable pour les SP812 et SP8DC
|
|
#define MAX_CIRCUITS_PAR_MODULE_SP4AC 4
|
|
#define MAX_CIRCUITS_PAR_MODULE MAX_CIRCUITS_PAR_MODULE_SP8XX
|
|
#define MAX_COURANT_MASSES_SP8DC 25.4 // En A (la limite vient du fait que la valeur est ensuite transmise aux SP8DC sous forme de uint_8).
|
|
|
|
|
|
// Timings :
|
|
#define CIRCUITS_TEMPO_INIT 100 // En x 10ms
|
|
#define CIRCUITS_PERIODE_MISE_A_JOUR 10 // En x 10ms
|
|
#define CIRCUIT_TEMPO_INIT 20 // En x 10ms
|
|
|
|
|
|
// Général :
|
|
#define CIRCUITS_TENSION_CARTE_OK 0
|
|
#define CIRCUITS_TENSION_CARTE_UNDERVOLTAGE 1
|
|
|
|
|
|
// Etat de commande carte :
|
|
#define CIRCUITS_ETAT_COMMANDE_CARTE_OK 0
|
|
#define CIRCUITS_ETAT_COMMANDE_CARTE_UNDERVOLTAGE 1
|
|
#define CIRCUITS_ETAT_COMMANDE_CARTE_TEST 2
|
|
|
|
|
|
// Modes de commande circuits :
|
|
#define CIRCUITS_MODE_COMMANDE_ON_OFF 0 // Ne peut prendre que deux états ON/OFF
|
|
#define CIRCUITS_MODE_COMMANDE_ON_OFF_SOFT 1 // Ne peut prendre que deux états ON/OFF mais la transition de l'un à l'autre se fait de façon douce
|
|
#define CIRCUITS_MODE_COMMANDE_VARIABLE_SOFT 2 // Peut prendre toute valeur entre 0 et 100 et start/stop soft
|
|
#define CIRCUITS_MODE_COMMANDE_CADENCE 3
|
|
|
|
|
|
// Origine consigne :
|
|
#define CIRCUITS_ORIGINE_CONSIGNE_SHIPBASE 0
|
|
#define CIRCUITS_ORIGINE_CONSIGNE_TIME_OUT 1
|
|
#define CIRCUITS_ORIGINE_CONSIGNE_EVENT 2
|
|
#define CIRCUITS_ORIGINE_CONSIGNE_DEFAUT 3
|
|
|
|
|
|
// SHIPBASE :
|
|
#define SB_CIRCUIT_NO_SHIPHEART 0
|
|
#define SB_CIRCUIT_NO_USB_AVANT 1
|
|
#define SB_CIRCUIT_NO_USB_ARRIERE 2
|
|
|
|
// SP4AC :
|
|
#define SP4AC_NOMBRE_CIRCUITS 4
|
|
|
|
// SP8XX = SP812 ou SP8DC indifféremment
|
|
// ATTENTION : il est important de s'assurer que tous les defines ci-dessous s'appliquent indifféremment à SP812 et SP8DC !!!!
|
|
#define SP8XX_NOMBRE_CIRCUITS 8
|
|
#define SP8XX_MAX_COURANT_TOTAL_CIRCUITS 50.00 // En A. Si 0, aucune surveillance du courant maxi
|
|
|
|
#define SP8XX_TEMPO_COURANT_TOTAL_CIRCUITS_CHECK 10 // En secondes.
|
|
|
|
#define SP8XX_TYPE_CIRCUIT_ON_OFF 0 // Ne peut prendre que deux états ON/OFF
|
|
#define SP8XX_TYPE_CIRCUIT_ON_OFF_SOFT 1 // Ne peut prendre que deux états ON/OFF mais la transition de l'un à l'autre se fait de façon douce
|
|
#define SP8XX_TYPE_CIRCUIT_VARIABLE_SOFT 2 // Peut prendre toute valeur entre 0 et 100 et start/stop soft
|
|
|
|
#define SP8XX_MODE_CDE_CIRCUIT_ON_OFF 0 // Ne peut prendre que deux états ON/OFF
|
|
#define SP8XX_MODE_CDE_CIRCUIT_ON_OFF_SOFT 1 // Ne peut prendre que deux états ON/OFF mais la transition de l'un à l'autre se fait de façon douce
|
|
#define SP8XX_MODE_CDE_CIRCUIT_VARIABLE_SOFT 2 // Peut prendre toute valeur entre 0 et 100 et start/stop soft
|
|
#define SP8XX_MODE_CDE_CIRCUIT_AUTO 3 // Mode de commande hérité du type
|
|
|
|
|
|
|
|
|
|
// Etats d'un circuit :
|
|
#define ETAT_CIRCUIT_OK 0 // Tout va bien...
|
|
#define ETAT_CIRCUIT_LIMITATION 1
|
|
#define ETAT_CIRCUIT_PROTECTION 2
|
|
#define ETAT_CIRCUIT_DISJONCTE 3
|
|
#define ETAT_CIRCUIT_CC_BATTERIE 4
|
|
#define ETAT_CIRCUIT_DELESTE 5
|
|
#define ETAT_CIRCUIT_UNDERVOLTAGE 6
|
|
#define ETAT_CIRCUIT_INVERSION_PHASE_NEUTRE 7 // Sur SP4AC uniquement
|
|
#define ETAT_CIRCUIT_ABSENCE_TERRE 8 // Sur SP4AC uniquement
|
|
#define ETAT_CIRCUIT_ABSENCE_MASSE 9 // Sur SP8DC uniquement
|
|
#define ETAT_CIRCUIT_INCONNU 99
|
|
|
|
|
|
// Variables du circuit :
|
|
#define CIRCUIT_VARIABLE_CONSIGNE 0
|
|
#define CIRCUIT_VARIABLE_TENSION 1
|
|
#define CIRCUIT_VARIABLE_COURANT 2
|
|
#define CIRCUIT_VARIABLE_FREQUENCE 3
|
|
#define CIRCUIT_VARIABLE_PUISSANCE 4
|
|
#define CIRCUIT_VARIABLE_ENERGIE 5
|
|
#define CIRCUIT_VARIABLE_TENSION_SECTEUR 6
|
|
// NB : ces valeurs doivent rester strictement inférieures à MAX_NOMBRE_VARIABLES_PAR_CIRCUIT
|
|
|
|
|
|
// Validation des commandes par des évènements du circuit :
|
|
#define CIRCUIT_VALIDATION_COMMANDES_EVENTS_OFF 0
|
|
#define CIRCUIT_VALIDATION_COMMANDES_EVENTS_ON 1
|
|
|
|
|
|
// Etat séquenceur Circuits :
|
|
#define ETAT_SEQUENCEUR_CIRCUITS_INIT 0
|
|
#define ETAT_SEQUENCEUR_CIRCUITS_REPOS 1
|
|
|
|
// Etat séquenceur circuit :
|
|
#define ETAT_SEQUENCEUR_CIRCUIT_INIT 0
|
|
#define ETAT_SEQUENCEUR_CIRCUIT_REPOS 1
|
|
#define ETAT_SEQUENCEUR_CIRCUIT_CHECK_LIMITATION 2
|
|
|
|
|
|
|
|
|