🐛 Fix dual MAX31865 initialization issues (#23496)

This commit is contained in:
John Lagonikas
2022-02-05 03:10:59 +02:00
committed by GitHub
parent 668020777f
commit 57cee04c89
4 changed files with 216 additions and 152 deletions

View File

@@ -101,11 +101,7 @@ private:
TERN(LARGE_PINMAP, uint32_t, uint8_t) sclkPin, misoPin, mosiPin, cselPin;
#ifdef TARGET_LPC1768
uint8_t spiSpeed;
#else
uint16_t spiDelay;
#endif
uint16_t spiDelay;
float zeroRes, refRes, wireRes;
@@ -121,6 +117,11 @@ private:
one_shot_event_t nextEvent;
#endif
#ifdef MAX31865_IGNORE_INITIAL_FAULTY_READS
uint8_t ignore_faults = MAX31865_IGNORE_INITIAL_FAULTY_READS;
uint16_t fixFault(uint16_t rtd);
#endif
uint8_t stdFlags = 0;
void setConfig(uint8_t config, bool enable);
@@ -130,9 +131,12 @@ private:
uint16_t readRegister16(uint8_t addr);
void writeRegister8(uint8_t addr, uint8_t reg);
uint8_t spiTransfer(uint8_t addr);
void writeRegister16(uint8_t addr, uint16_t reg);
void softSpiBegin(const uint8_t spi_speed);
void softSpiInit();
void spiBeginTransaction();
uint8_t spiTransfer(uint8_t addr);
void spiEndTransaction();
void initFixedFlags(max31865_numwires_t wires);
@@ -141,6 +145,10 @@ private:
void oneShot();
void resetFlags();
uint16_t readRawImmediate();
void runAutoFaultDetectionCycle();
public:
#if ENABLED(LARGE_PINMAP)
MAX31865(uint32_t spi_cs, uint8_t pin_mapping);