diff options
Diffstat (limited to 'src/temperature/temperature.c')
-rw-r--r-- | src/temperature/temperature.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/temperature/temperature.c b/src/temperature/temperature.c new file mode 100644 index 0000000..b9e95e2 --- /dev/null +++ b/src/temperature/temperature.c @@ -0,0 +1,17 @@ +#include "stm32f4xx_conf.h" + +#include "temperature.h" + +float temperature_value = 0; + +void temperature_update() { + ADC_SoftwareStartConv(ADC1); //Start the conversion + + while (ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC) == RESET); + + temperature_value = ((ADC_GetConversionValue(ADC1) * TEMP_V_BOARD / 0xFFF) - TEMP_V25) / TEMP_AVG_SLOPE + 25.0; +} + +float temperature_get() { + return temperature_value; +} |