diff --git a/stm-firmware/include/reflow-controller/periph-config/safety-adc-hwcfg.h b/stm-firmware/include/reflow-controller/periph-config/safety-adc-hwcfg.h index bd9e6c7..26a23c8 100644 --- a/stm-firmware/include/reflow-controller/periph-config/safety-adc-hwcfg.h +++ b/stm-firmware/include/reflow-controller/periph-config/safety-adc-hwcfg.h @@ -28,4 +28,11 @@ #define TEMP_CHANNEL_NUM (16) #define INT_REF_CHANNEL_NUM (17) +#define SAFETY_ADC_INT_REF_MV 1210.0f + +#define SAFETY_ADC_TEMP_NOM 25.0f +#define SAFETY_ADC_TEMP_NOM_MV 760.0f +#define SAFETY_ADC_TEMP_MV_SLOPE 2.5f + + #endif /* __SAFETY_ADC_HWCFG_H__ */ diff --git a/stm-firmware/safety-adc.c b/stm-firmware/safety-adc.c index fb91b5f..945fc93 100644 --- a/stm-firmware/safety-adc.c +++ b/stm-firmware/safety-adc.c @@ -53,11 +53,12 @@ enum safety_adc_check_result safety_adc_check_results(uint16_t vref_result, uint if (vref_calculated) { - *vref_calculated = (1210.0 * 4095) / (float)vref_result; + *vref_calculated = (SAFETY_ADC_INT_REF_MV * 4095.0f) / (float)vref_result; } if (temp_calculated) { - *temp_calculated = (((float)temp_result / 4095.0f * 2500.0f - 760.0f) / 2.5f) + 25.0f; + *temp_calculated = (((float)temp_result / 4095.0f * 2500.0f - + SAFETY_ADC_TEMP_NOM_MV) / SAFETY_ADC_TEMP_MV_SLOPE) + SAFETY_ADC_TEMP_NOM; } return res;