no-OS
Loading...
Searching...
No Matches
max31865.c File Reference

Implementation of MAX31865 Driver. More...

#include <errno.h>
#include <stdlib.h>
#include <stdint.h>
#include <stdbool.h>
#include "max31865.h"
#include "no_os_spi.h"
#include "no_os_util.h"
#include "no_os_alloc.h"
#include "no_os_delay.h"
Include dependency graph for max31865.c:

Functions

int max31865_init (struct max31865_dev **device, struct max31865_init_param *init_param)
 Device and comm init function.
 
int max31865_remove (struct max31865_dev *device)
 Remove resources allocated by the init function.
 
int max31865_reg_update (struct max31865_dev *device, uint8_t reg_addr, uint8_t reg_update, bool or_mask)
 update register contents
 
int max31865_read (struct max31865_dev *device, uint8_t reg_addr, uint8_t *reg_data)
 Read raw register value.
 
int max31865_write (struct max31865_dev *device, uint8_t reg_addr, uint8_t reg_data)
 Write raw register value.
 
int max31865_clear_fault (struct max31865_dev *device)
 Clear all faults in FAULTSTAT.
 
int max31865_enable_bias (struct max31865_dev *device, bool bias_en)
 Enable the bias voltage on the RTD sensor.
 
int max31865_auto_convert (struct max31865_dev *device, bool auto_conv_en)
 Option for continuous conversions between 50/60 Hz.
 
int max31865_enable_50Hz (struct max31865_dev *device, bool filt_en)
 Option for 50Hz or 60Hz noise filters.
 
int max31865_set_threshold (struct max31865_dev *device, uint16_t lower, uint16_t upper)
 Update the contents of the HIGH and LOW FAULT registers of max31865.
 
int max31865_get_lower_threshold (struct max31865_dev *device, uint16_t *low_threshold)
 Read the raw 16-bit lower threshold value.
 
int max31865_get_upper_threshold (struct max31865_dev *device, uint16_t *up_threshold)
 Read the raw 16-bit upper threshold value.
 
int max31865_set_wires (struct max31865_dev *device, bool is_odd_wire)
 N-wire option for RTD measurement setup.
 
int max31865_read_rtd (struct max31865_dev *device, uint16_t *rtd_reg)
 Read the raw 16-bit value from the RTD_REG in one shot mode.
 

Detailed Description

Implementation of MAX31865 Driver.

Author
JSanBuen (jose..nosp@m.sanb.nosp@m.uenav.nosp@m.entu.nosp@m.ra@an.nosp@m.alog.nosp@m..com)
MSosa (marcp.nosp@m.aolo.nosp@m..sosa.nosp@m.@ana.nosp@m.log.c.nosp@m.om)

Copyright 2023(c) Analog Devices, Inc.

SPDX-License-Identifier: BSD-3-Clause

Function Documentation

◆ max31865_auto_convert()

int max31865_auto_convert ( struct max31865_dev * device,
bool auto_conv_en )

Option for continuous conversions between 50/60 Hz.

Parameters
deviceMAX31865 descriptor
auto_conv_enIf true, auto conversion is enabled
Returns
0 in case of success, negative error code otherwise

◆ max31865_clear_fault()

int max31865_clear_fault ( struct max31865_dev * device)

Clear all faults in FAULTSTAT.

Parameters
deviceMAX31865 descriptor
Returns
0 in case of success, negative error code otherwise

◆ max31865_enable_50Hz()

int max31865_enable_50Hz ( struct max31865_dev * device,
bool filt_en )

Option for 50Hz or 60Hz noise filters.

Parameters
deviceMAX31865 descriptor
filt_enIf true, 50Hz noise is filtered, else 60Hz(default)
Returns
0 in case of success, negative error code otherwise

◆ max31865_enable_bias()

int max31865_enable_bias ( struct max31865_dev * device,
bool bias_en )

Enable the bias voltage on the RTD sensor.

Parameters
deviceMAX31865 descriptor
bias_enIf true bias is enabled, else disabled
Returns
0 in case of success, negative error code otherwise

◆ max31865_get_lower_threshold()

int max31865_get_lower_threshold ( struct max31865_dev * device,
uint16_t * low_threshold )

Read the raw 16-bit lower threshold value.

Parameters
deviceMAX31865 descriptor
low_thresholdpointer to hold the 16-bit lower threshold value
Returns
0 in case of success, negative error code otherwise

◆ max31865_get_upper_threshold()

int max31865_get_upper_threshold ( struct max31865_dev * device,
uint16_t * up_threshold )

Read the raw 16-bit upper threshold value.

Parameters
deviceMAX31865 descriptor
up_thresholdpointer to hold the 16-bit upper threshold value
Returns
0 in case of success, negative error code otherwise

◆ max31865_init()

int max31865_init ( struct max31865_dev ** device,
struct max31865_init_param * init_param )

Device and comm init function.

Parameters
device- MAX31865 descriptor to be initialized
init_param- Init parameters for descriptor
Returns
0 in case of success, errno errors otherwise

◆ max31865_read()

int max31865_read ( struct max31865_dev * device,
uint8_t reg_addr,
uint8_t * reg_data )

Read raw register value.

Parameters
device- MAX31865 descriptor
reg_addr- register value to read from
reg_data- pointer for register value read
Returns
0 in case of success, negative error code otherwise

◆ max31865_read_rtd()

int max31865_read_rtd ( struct max31865_dev * device,
uint16_t * rtd_reg )

Read the raw 16-bit value from the RTD_REG in one shot mode.

Parameters
deviceMAX31865 descriptor
rtd_regpointer to hold the 16-bit raw RTD_REG value
Returns
0 in case of success, negative error code otherwise

◆ max31865_reg_update()

int max31865_reg_update ( struct max31865_dev * device,
uint8_t reg_addr,
uint8_t reg_update,
bool or_mask )

update register contents

Parameters
device- MAX31865 descriptor
reg_addr- register value to read from
reg_update- mask to update the value of selected register
or_mask- set to true for OR, false for AND masking
Returns
0 in case of success, negative error code otherwise

◆ max31865_remove()

int max31865_remove ( struct max31865_dev * device)

Remove resources allocated by the init function.

Parameters
device- max31865 descriptor
Returns
0 in case of success, errno errors otherwise

◆ max31865_set_threshold()

int max31865_set_threshold ( struct max31865_dev * device,
uint16_t lower,
uint16_t upper )

Update the contents of the HIGH and LOW FAULT registers of max31865.

Parameters
deviceMAX31865 descriptor
lowerraw lower threshold
upperraw upper threshold
Returns
0 in case of success, negative error code otherwise

◆ max31865_set_wires()

int max31865_set_wires ( struct max31865_dev * device,
bool is_odd_wire )

N-wire option for RTD measurement setup.

Parameters
deviceMAX31865 descriptor
is_odd_wireIf true, uses 3-wire setup. Else, uses 2/4-wire setup.
Returns
0 in case of success, negative error code otherwise

◆ max31865_write()

int max31865_write ( struct max31865_dev * device,
uint8_t reg_addr,
uint8_t reg_data )

Write raw register value.

Parameters
device- MAX31865 descriptor
reg_addr- register value to write to
reg_data- data to write in register
Returns
0 in case of success, negative error code otherwise