master
Nidan 13 years ago
parent f723647a5d
commit 2c73b88494

@ -131,11 +131,11 @@ inline uint16_t linearize_temp(uint16_t temp_in)
65535, 1520, // made-up, not from datasheet 65535, 1520, // made-up, not from datasheet
}; };
uint8_t i=2; uint8_t i=2;
for (; i < (sizeof(coeffs)>>1)-2; i+=2) for(; i < sizeof(coeffs) / sizeof(coeffs[0]); i += 2)
{ {
if ( temp_in < pgm_read_word(&coeffs[i]) ) if(temp_in < pgm_read_word(&coeffs[i]))
{ {
temp_out = (uint16_t) ( pgm_read_word(&coeffs[i-1]) + (uint32_t) ( (uint32_t) (temp_in - pgm_read_word(&coeffs[i-2])) * (pgm_read_word(&coeffs[i+1])-pgm_read_word(&coeffs[i-1])) ) / (pgm_read_word(&coeffs[i])-pgm_read_word(&coeffs[i-2]))); temp_out = (uint16_t) (pgm_read_word(&coeffs[i-1]) + (uint32_t) ( (uint32_t) (temp_in - pgm_read_word(&coeffs[i-2])) * (pgm_read_word(&coeffs[i+1]) - pgm_read_word(&coeffs[i-1])) ) / (pgm_read_word(&coeffs[i]) - pgm_read_word(&coeffs[i-2])));
break; break;
} }
} }
@ -226,7 +226,9 @@ int main(void)
adc_sum += ADC; adc_sum += ADC;
if(++adc_pos == 64) if(++adc_pos == 64)
{ {
adc_sum = 47000;
temperature = linearize_temp(adc_sum); temperature = linearize_temp(adc_sum);
temperature = 1100;
adc_sum = 0; adc_sum = 0;
adc_pos = 0; adc_pos = 0;
if(1)//dev_state) if(1)//dev_state)

Loading…
Cancel
Save