max31865 - Driver for MAX31865 resistance converter for platinum RTDs

group max31865

ESP-IDF driver for MAX31865, resistance converter for platinum RTDs.

Copyright (c) 2021 Ruslan V. Uss unclerus@gmail.com

BSD Licensed as described in the file LICENSE

Defines

MAX31865_MAX_CLOCK_SPEED_HZ

Enums

enum max31865_mode_t

Conversion mode.

Values:

enumerator MAX31865_MODE_SINGLE

Single consersion mode, default.

enumerator MAX31865_MODE_AUTO

Automatic conversion mode at 50/60Hz rate.

enum max31865_filter_t

Notch frequencies for the noise rejection filter.

Values:

enumerator MAX31865_FILTER_60HZ

60Hz

enumerator MAX31865_FILTER_50HZ

50Hz

enum max31865_connection_type_t

Connection type.

Values:

enumerator MAX31865_2WIRE

2 wires

enumerator MAX31865_3WIRE

3 wires

enumerator MAX31865_4WIRE

4 wires

enum max31865_standard_t

Temperature scale standard.

Values:

enumerator MAX31865_ITS90

ITS-90.

enumerator MAX31865_DIN43760

DIN43760.

enumerator MAX31865_US_INDUSTRIAL

US INDUSTRIAL.

Functions

esp_err_t max31865_init_desc(max31865_t *dev, spi_host_device_t host, uint32_t clock_speed_hz, gpio_num_t cs_pin)

Initialize device descriptor.

Parameters
  • dev – Device descriptor

  • host – SPI host

  • clock_speed_hz – SPI clock speed, Hz

  • cs_pin – CS GPIO number

Returns

ESP_OK on success

esp_err_t max31865_free_desc(max31865_t *dev)

Free device descriptor.

Parameters

dev – Device descriptor

Returns

ESP_OK on success

esp_err_t max31865_set_config(max31865_t *dev, const max31865_config_t *config)

Configure device.

Parameters
  • dev – Device descriptor

  • config – Configuration

Returns

ESP_OK on success

esp_err_t max31865_get_config(max31865_t *dev, max31865_config_t *config)

Read device configuration.

Parameters
  • dev – Device descriptor

  • config[out] Configuration

Returns

ESP_OK on success

esp_err_t max31865_start_measurement(max31865_t *dev)

Trigger single-shot measurement.

Parameters

dev – Device descriptor

Returns

ESP_OK on success

esp_err_t max31865_read_raw(max31865_t *dev, uint16_t *raw, bool *fault)

Read raw RTD value.

Parameters
  • dev – Device descritptor

  • raw[out] Raw 15 bits RTD value

  • fault[out] true when fault is detected

Returns

ESP_OK on success

esp_err_t max31865_read_temperature(max31865_t *dev, float *temp)

Read RTD value and convert it temperature.

Parameters
  • dev – Device descritptor

  • temp[out] Temperature, deg. Celsius

Returns

ESP_OK on success

esp_err_t max31865_measure(max31865_t *dev, float *temp)

Measure temperature.

Run full cycle of single-shot measurement:

  • trigger measurement

  • wait for 70ms

  • read and convert RTD value

Parameters
  • dev – Device descritptor

  • temp[out] Temperature, deg. Celsius

Returns

ESP_OK on success

esp_err_t max31865_detect_fault_auto(max31865_t *dev)

Run automatical fault detection cycle.

After calling this function, device must be reconfigured

Parameters

dev – Device descriptor

Returns

ESP_OK on success

esp_err_t max31865_get_fault_status(max31865_t *dev, uint8_t *fault_status)

Get bits of current fault status.

See datasheet for fault status interpretation

Parameters
  • dev – Device descriptor

  • fault_status[out] Fault status bits

Returns

ESP_OK on success

esp_err_t max31865_clear_fault_status(max31865_t *dev)

Clear current fault status.

After calling this function, device must be reconfigured

Parameters

dev – Device descriptor

Returns

ESP_OK on success

struct max31865_config_t
#include <max31865.h>

Device configuration.

struct max31865_t
#include <max31865.h>

Device descriptor.

Public Members

spi_device_interface_config_t spi_cfg

SPI device configuration.

spi_device_handle_t spi_dev

SPI device handler.

max31865_standard_t standard

Temperature scale standard.

float r_ref

Reference resistor value, Ohms.

float rtd_nominal

RTD nominal resistance at 0 deg.

C, Ohms (PT100 - 100 Ohms, PT1000 - 1000 Ohms)