- float vsens = ADC_RANGECONV(adc_read(ADC_TEMP_CH), 0, 3.3);
- return (float)(((ADC_TEMP_V25 - vsens) / ADC_TEMP_SLOPE) + ADC_TEMP_CONST);
+ uint16_t vsens = ADC_RANGECONV(adc_read(ADC_TEMP_CH), 0, 3300);
+
+ uint16_t temp = (((ADC_TEMP_V25 - vsens) * 1000)/ ADC_TEMP_SLOPE) + ADC_TEMP_CONST;
+ return (temp / 10);
+}
+
+INLINE uint16_t hw_readRawTemp(void)
+{
+ return (uint16_t)ADC_RANGECONV(adc_read(ADC_TEMP_CH), 0, 3300);