Skip to content
Snippets Groups Projects
Commit ff029629 authored by Jean-Benoist Leger's avatar Jean-Benoist Leger
Browse files

defaillances temperatures autorisées

parent 62269d49
No related branches found
Tags v1.7
No related merge requests found
......@@ -45,6 +45,7 @@ BUS = {
THERMO_PERIOD = 5
THERMO_MEDIAN_FILTER_LEN = 13
THERMO_FACTOR_FILTRE = 1 - math.exp(-5 / 60)
THERMO_FAIL_NUMBER = 120
ACTION_TIMER_MAIN = "TCC0"
......
......@@ -53,19 +53,25 @@ void do_orders()
}
if(status_thermo > 0)
{
status.fail |= STATUS_FAIL_T;
if(status.fail_get_T >= THERMO_FAIL_NUMBER)
status.fail |= STATUS_FAIL_T;
else
status.fail_get_T++;
}
else
{
status.fail_get_T = 0;
status.fail &= ~STATUS_FAIL_T;
status.temperature_insta = temp;
if(median_filter_thermometer_filled)
median_filter_thermometer_update(temp);
else
if(!median_filter_thermometer_filled)
{
median_filter_thermometer_fill(temp);
status.temperature.v1 = status.temperature.v2 = .0625*temp;
}
}
if(median_filter_thermometer_filled)
{
median_filter_thermometer_update(status.temperature_insta);
float Tinstamf = .0625*median_filter_thermometer_read();
update_filtre2(&(status.temperature), THERMO_FACTOR_FILTRE, Tinstamf);
......
......@@ -22,9 +22,11 @@ void do_orders();
/*[[[cog
import conf
cog.out(f"#define THERMO_FACTOR_FILTRE {conf.THERMO_FACTOR_FILTRE:e}")
cog.out(f"#define THERMO_FACTOR_FILTRE {conf.THERMO_FACTOR_FILTRE:e}\n")
cog.out(f"#define THERMO_FAIL_NUMBER {conf.THERMO_FAIL_NUMBER:d}\n")
]]] */
#define THERMO_FACTOR_FILTRE 7.995559e-02
#define THERMO_FAIL_NUMBER 120
//[[[end]]]
#endif
......@@ -18,6 +18,7 @@ typedef struct status_struct
float consigne_adj;
float accu_integrateur;
uint8_t fail;
uint16_t fail_get_T;
} status_t;
extern status_t status;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment