Newer
Older
#include "orders.h"
orders_t orders;
void do_orders()
{
if(orders.get_T)
{
orders.get_T=0;
int16_t temp;
uint8_t status_thermo;
uint8_t tries=0;
status.last_measure = (status.last_measure+1)%2;
if(status.last_measure==0)
{
status_thermo = thermometer_cold_gettemp(&temp,1000);
debug_printf("get temp cold, status = %u\n", status_thermo);
}
else
{
status_thermo = thermometer_cold_gettemp(&temp,1000);
debug_printf("get temp hot, status = %u\n", status_thermo);
}
if(status_thermo==0)
break;
tries++;
if(tries>=4)
break;
}
if(status_thermo > 0)
{
if(status.last_measure==0)
{
if(status.fail_get_T_cold >= THERMO_FAIL_NUMBER)
status.fail |= STATUS_FAIL_T_COLD;
else
status.fail_get_T_cold++;
}
if(status.fail_get_T_hot >= THERMO_FAIL_NUMBER)
status.fail |= STATUS_FAIL_T_HOT;
else
status.fail_get_T_hot++;
if(status.last_measure==0)
status.fail_get_T_cold = 0;
status.fail &= ~STATUS_FAIL_T_COLD;
status.temperature_cold_insta = temp;
if(!median_filter_thermometer_cold_filled)
median_filter_thermometer_cold_fill(temp);
status.temperature_cold.v1 = status.temperature_cold.v2 = .0625*temp;
status.fail_get_T_hot = 0;
status.fail &= ~STATUS_FAIL_T_HOT;
status.temperature_hot_insta = temp;
if(!median_filter_thermometer_hot_filled)
{
median_filter_thermometer_hot_fill(temp);
status.temperature_hot.v1 = status.temperature_hot.v2 = .0625*temp;
}
}
}
if(status.last_measure==0)
{
if(median_filter_thermometer_cold_filled)
{
median_filter_thermometer_cold_update(status.temperature_cold_insta);
float Tinstamf = .0625*median_filter_thermometer_cold_read();
update_filtre2(&(status.temperature_cold), THERMO_FACTOR_FILTRE, Tinstamf);
}
}
else
{
if(median_filter_thermometer_hot_filled)
{
median_filter_thermometer_hot_update(status.temperature_hot_insta);
float Tinstamf = .0625*median_filter_thermometer_hot_read();
update_filtre2(&(status.temperature_hot), THERMO_FACTOR_FILTRE, Tinstamf);