X-Git-Url: http://git.linex4red.de/pub/USBasp.git/blobdiff_plain/c24027f3b5f1ca7bceababc82ea5b897b18dbac1..e11fddfe66fcd6fa5b783bb5f1c39dfb5687538d:/LUFA/Drivers/Board/Temperature.c diff --git a/LUFA/Drivers/Board/Temperature.c b/LUFA/Drivers/Board/Temperature.c index ea12bf766..09d705085 100644 --- a/LUFA/Drivers/Board/Temperature.c +++ b/LUFA/Drivers/Board/Temperature.c @@ -47,14 +47,25 @@ int8_t Temperature_GetTemperature(void) { uint16_t Temp_ADC = ADC_GetChannelReading(ADC_REFERENCE_AVCC | ADC_RIGHT_ADJUSTED | TEMP_ADC_CHANNEL_MASK); + #if defined(__AVR32__) + if (Temp_ADC > Temperature_Lookup[0]) + return TEMP_MIN_TEMP; + + for (uint16_t Index = 0; Index < TEMP_TABLE_SIZE; Index++) + { + if (Temp_ADC > Temperature_Lookup[Index]) + return (Index + TEMP_TABLE_OFFSET); + } + #elif defined(__AVR__) if (Temp_ADC > pgm_read_word(&Temperature_Lookup[0])) - return TEMP_MIN_TEMP; + return TEMP_MIN_TEMP; for (uint16_t Index = 0; Index < TEMP_TABLE_SIZE; Index++) { if (Temp_ADC > pgm_read_word(&Temperature_Lookup[Index])) return (Index + TEMP_TABLE_OFFSET); } + #endif return TEMP_MAX_TEMP; }