Files
@ 752fd27f607a
Branch filter:
Location: therm-ng/src/tempsense.c - annotation
752fd27f607a
1.4 KiB
text/plain
Basic code cleanup
2b4eb31dd8da 2b4eb31dd8da 2b4eb31dd8da 2b4eb31dd8da 2b4eb31dd8da 2b4eb31dd8da 12de82b953bd 12de82b953bd 2b4eb31dd8da 2b4eb31dd8da 02c66b160d15 2b4eb31dd8da 2b4eb31dd8da 12de82b953bd 12de82b953bd 12de82b953bd 12de82b953bd f602474ad6c6 f602474ad6c6 f602474ad6c6 2b4eb31dd8da 2b4eb31dd8da 02c66b160d15 02c66b160d15 573011597aec 2b4eb31dd8da 2b4eb31dd8da f602474ad6c6 f602474ad6c6 f602474ad6c6 f602474ad6c6 f602474ad6c6 f602474ad6c6 f602474ad6c6 f602474ad6c6 f602474ad6c6 f602474ad6c6 573011597aec f602474ad6c6 f602474ad6c6 f602474ad6c6 f602474ad6c6 f602474ad6c6 f602474ad6c6 f602474ad6c6 f602474ad6c6 2b4eb31dd8da 2b4eb31dd8da 2b4eb31dd8da 2b4eb31dd8da 2b4eb31dd8da 2b4eb31dd8da 02c66b160d15 02c66b160d15 573011597aec 573011597aec 02c66b160d15 02c66b160d15 02c66b160d15 02c66b160d15 02c66b160d15 02c66b160d15 573011597aec | //
// TempSense: read temperature from TC, RTD, or NTC
//
#include "tempsense.h"
#include "flash.h"
#include "ssd1306/ssd1306.h"
#include "max31856/max31856.h"
// Initialize temperature sensor
void tempsense_init(void)
{
// TODO: Rework SPI stuff... init the port in a sharedlib then pass ref to display and tempsense
max31856_init(spi_get(), TEMPSENSE_MAX_CS_PORT, TEMPSENSE_MAX_CS_PIN, 0);
// Maybe don't perform temp sensor setup in here, but in readtemp?
// what happens if the user changes the tempsense type while running?
// we need to re-init...
}
// Request reading from configured temperature sensor
void tempsense_readtemp(void)
{
switch(flash_getsettings()->val.sensor_type)
{
case SENSOR_TC_K:
case SENSOR_TC_E:
case SENSOR_TC_N:
case SENSOR_TC_R:
case SENSOR_TC_S:
case SENSOR_TC_T:
{
// Read MAX31856
max31856_process();
} break;
case SENSOR_NTC:
{
// Read analog value from internal ADC, linearize the reading, etc
} break;
}
// either return latest reading from DMA loop (NTC, etc)
// or initiate a blocking read and return it.
// Need to gracefully handle the timeout...
}
// Get latest temperature in requested units
float tempsense_gettemp(void)
{
float temp_converted = max31856_latest_temp();
if(flash_getsettings()->val.temp_units == TEMP_UNITS_FAHRENHEIT)
temp_converted = temp_converted * 1.8f + 32.0f;
return temp_converted;
}
|