no-OS
Functions
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. More...
 
int max31865_remove (struct max31865_dev *device)
 Remove resources allocated by the init function. More...
 
int max31865_reg_update (struct max31865_dev *device, uint8_t reg_addr, uint8_t reg_update, bool or_mask)
 update register contents More...
 
int max31865_read (struct max31865_dev *device, uint8_t reg_addr, uint8_t *reg_data)
 Read raw register value. More...
 
int max31865_write (struct max31865_dev *device, uint8_t reg_addr, uint8_t reg_data)
 Write raw register value. More...
 
int max31865_clear_fault (struct max31865_dev *device)
 Clear all faults in FAULTSTAT. More...
 
int max31865_enable_bias (struct max31865_dev *device, bool bias_en)
 Enable the bias voltage on the RTD sensor. More...
 
int max31865_auto_convert (struct max31865_dev *device, bool auto_conv_en)
 Option for continuous conversions between 50/60 Hz. More...
 
int max31865_enable_50Hz (struct max31865_dev *device, bool filt_en)
 Option for 50Hz or 60Hz noise filters. More...
 
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. More...
 
int max31865_get_lower_threshold (struct max31865_dev *device, uint16_t *low_threshold)
 Read the raw 16-bit lower threshold value. More...
 
int max31865_get_upper_threshold (struct max31865_dev *device, uint16_t *up_threshold)
 Read the raw 16-bit upper threshold value. More...
 
int max31865_set_wires (struct max31865_dev *device, bool is_odd_wire)
 N-wire option for RTD measurement setup. More...
 
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. More...
 

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.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
  3. Neither the name of Analog Devices, Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY ANALOG DEVICES, INC. “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL ANALOG DEVICES, INC. BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

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
Here is the caller graph for this function:

◆ 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
Here is the caller graph for this function:

◆ 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
Here is the caller graph for this function:

◆ 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
Here is the caller graph for this function:

◆ 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
Here is the caller graph for this function: