File tree Expand file tree Collapse file tree 2 files changed +7
-0
lines changed
drivers/sensor/maxim/max31865 Expand file tree Collapse file tree 2 files changed +7
-0
lines changed Original file line number Diff line number Diff line change @@ -177,15 +177,19 @@ static char *max31865_error_to_string(uint8_t fault_register)
177
177
static int max31865_fault_register (const struct device * dev )
178
178
{
179
179
uint8_t fault_register ;
180
+ uint8_t saved_fault_bits ;
180
181
181
182
max31865_spi_read (dev , (REG_FAULT_STATUS ), & fault_register , 1 );
182
183
struct max31865_data * data = dev -> data ;
184
+ saved_fault_bits = data -> config_control_bits & FAULT_BITS_CLEAR_MASK ;
183
185
/*Clear fault register */
184
186
WRITE_BIT (data -> config_control_bits , 1 , 1 );
187
+ data -> config_control_bits &= ~FAULT_BITS_CLEAR_MASK ;
185
188
configure_device (dev );
186
189
LOG_ERR ("Fault Register: 0x%02x, %s" , fault_register ,
187
190
max31865_error_to_string (fault_register ));
188
191
WRITE_BIT (data -> config_control_bits , 1 , 0 );
192
+ data -> config_control_bits |= saved_fault_bits ;
189
193
190
194
return 0 ;
191
195
}
Original file line number Diff line number Diff line change @@ -42,6 +42,9 @@ LOG_MODULE_REGISTER(MAX31865, CONFIG_SENSOR_LOG_LEVEL);
42
42
#define REG_FAULT_STATUS 0x07
43
43
#define WR (reg ) ((reg) | 0x80)
44
44
45
+ /* Bitmask to clear fault status bits D5, D3, and D2 */
46
+ #define FAULT_BITS_CLEAR_MASK 0x2C
47
+
45
48
/**
46
49
* RTD data, RTD current, and measurement reference
47
50
* voltage. The ITS-90 standard is used; other RTDs
You can’t perform that action at this time.
0 commit comments