2020-03-29 01:46:11 +01:00
|
|
|
#include "clock.hpp"
|
|
|
|
|
2020-03-29 06:20:21 +02:00
|
|
|
#include <stdio.h>
|
2020-03-29 01:46:11 +01:00
|
|
|
|
|
|
|
#include "flash/flash.hpp"
|
2020-03-29 04:18:26 +02:00
|
|
|
#include "io/io.hpp"
|
2020-03-29 01:46:11 +01:00
|
|
|
#include "uart/uart.hpp"
|
|
|
|
|
2020-03-29 04:18:26 +02:00
|
|
|
#define ADC_INT_VECTOR
|
|
|
|
#include "adc/adc.hpp"
|
|
|
|
|
2020-03-29 01:46:11 +01:00
|
|
|
#define UART0_INT_VECTORS
|
|
|
|
#include "uart/hardware0.hpp"
|
|
|
|
|
2020-03-30 17:01:48 +02:00
|
|
|
#include "thermistor.hpp"
|
2020-03-29 06:20:21 +02:00
|
|
|
|
2020-03-29 01:29:59 +01:00
|
|
|
int main()
|
|
|
|
{
|
2020-03-29 01:46:11 +01:00
|
|
|
uart::Uart0<> serial;
|
|
|
|
serial.init();
|
|
|
|
|
|
|
|
serial << F("Thermistor reader\r\n");
|
|
|
|
|
2020-03-29 04:18:26 +02:00
|
|
|
using adc_conf = adc::Config<adc::SingleMode>;
|
|
|
|
|
|
|
|
adc::Adc<adc_conf, io::P, io::P::C0> adcPin;
|
|
|
|
adcPin.init();
|
|
|
|
|
2020-03-30 17:01:48 +02:00
|
|
|
Thermistor temp;
|
|
|
|
|
2020-03-29 04:18:26 +02:00
|
|
|
while (true) {
|
2020-03-30 17:01:48 +02:00
|
|
|
const auto adcSample = temp.sampleAdc(adcPin, 1000);
|
|
|
|
const auto thermistorResistance = temp.getResistance(adcSample);
|
|
|
|
const auto temperature = temp.getTemperature(thermistorResistance);
|
2020-03-29 06:20:21 +02:00
|
|
|
|
|
|
|
char floatBuffer[16];
|
|
|
|
|
|
|
|
sprintf(floatBuffer, "%.2f", adcSample);
|
|
|
|
serial << F("Read ADC: ") << floatBuffer << F("\r\n");
|
|
|
|
sprintf(floatBuffer, "%.2f", thermistorResistance);
|
|
|
|
serial << F("Resistance: ") << floatBuffer << F("\r\n");
|
|
|
|
sprintf(floatBuffer, "%.2f", temperature);
|
|
|
|
serial << F("Temperature: ") << floatBuffer << F(" C \r\n");
|
2020-03-29 04:18:26 +02:00
|
|
|
|
|
|
|
_delay_ms(1000);
|
|
|
|
}
|
|
|
|
|
2020-03-29 01:46:11 +01:00
|
|
|
serial.flushTx();
|
|
|
|
|
2020-03-29 01:29:59 +01:00
|
|
|
return 0;
|
|
|
|
}
|