/** * TODO file description */ #ifndef BLUEPILLTROUBA_APP_TEMP_H #define BLUEPILLTROUBA_APP_TEMP_H void app_analog_init(); float val_to_c(float val); float c_to_val(float c); void app_temp_set_calib(float a, float b); /** * Update temperature measurement. * * A slow float calculation is done here - call only when needed, at a roughly constant rate (e.g. 1s) to make smoothing work properly. * * The oven temp is further averaged internally. */ void app_temp_sample(); /// Read current oven temperature (celsius) /// The value is valid after calling app_temp_sample() float app_temp_read_oven(); /// Get the raw ADC value (divider voltage) float app_temp_read_oven_raw(); /// Read current SOC temperature (celsius) /// The value is valid after calling app_temp_sample() float app_temp_read_soc(); void app_temp_adc_eos(); void app_temp_show_buf(); #endif //BLUEPILLTROUBA_APP_TEMP_H