20 : SPI::Device(bus,
cs, {SPI::Mode::M0, SPI::FirstBit::MSB}) { }
28 if (
data.FAULT)
return NAN;
29 return data.TEMP * 0.25;
38 if (
data.FAULT)
return NAN;
39 return data.INTERNAL * 0.0625;
54 int32_t raw = rq.
data.buf[0]<<24 | rq.
data.buf[1]<<16 | rq.
data.buf[2]<<8 | rq.
data.buf[3];
55 data = *(sensor *)&raw;
Wrapper class for simple digital input/output pin.
Definition gpio.h:13
Implementation of MAX31855 thermocouple temperature measurement.
Definition MAX31855.h:13
double temp()
measured sensor temperature
Definition MAX31855.h:27
double internal()
measured internal chip temperature
Definition MAX31855.h:37
struct MAX31855::sensor data
sensor data struct. lsb to msb order.
void callback(const SPI::Request rq) override
is called as soon as requested data arrived over wire
Definition MAX31855.h:53
MAX31855(Sink< SPI::Request > &bus, DIO cs)
Constructor.
Definition MAX31855.h:19
void sense()
request measurement of sensor data
Definition MAX31855.h:45
generic SPI device wrapper.
Definition spi.h:22
DIO cs
GPIO chipselect line.
Definition spi.h:25
struct defining an SPI request.
Definition spi.h:54
Buffer< uint8_t > data
transfer data
Definition spi.h:56
@ MISO
Master in, Slave out.
Definition spi.h:59
generic object sink, i.e.
Definition streams.h:15
void trypush(T &&t)
use this if you don't care if it's going to be successful. data gets discarded if sink is full.
Definition streams.h:28