Skip to content

Commit f15e881

Browse files
committed
Changed SPI communication to be equal to MAX31855Class
1 parent 6d97927 commit f15e881

File tree

2 files changed

+16
-16
lines changed

2 files changed

+16
-16
lines changed

src/utility/RTD/MAX31865.cpp

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
11
#include "MAX31865.h"
22

3-
MAX31865Class::MAX31865Class(PinName cs) : _spi(SPI), _cs(cs) {
3+
MAX31865Class::MAX31865Class(PinName cs, SPIClass& spi) : _cs(cs), _spi(&spi), _spiSettings(1000000, MSBFIRST, SPI_MODE1) {
44
}
55

6-
static SPISettings _spiSettings(1000000, MSBFIRST, SPI_MODE1);
7-
86
bool MAX31865Class::begin(int wires) {
97
_spi.begin();
8+
_spi->begin();
109

1110
pinMode(_cs, OUTPUT);
1211
digitalWrite(_cs, HIGH);
@@ -149,10 +148,10 @@ uint8_t MAX31865Class::readByte(uint8_t addr) {
149148

150149
digitalWrite(_cs, LOW);
151150

152-
_spi.beginTransaction(_spiSettings);
153-
_spi.transfer(addr);
154-
_spi.transfer(&read,1);
155-
_spi.endTransaction();
151+
_spi->beginTransaction(_spiSettings);
152+
_spi->transfer(addr);
153+
_spi->transfer(&read,1);
154+
_spi->endTransaction();
156155

157156
digitalWrite(_cs, HIGH);
158157

@@ -164,13 +163,13 @@ uint16_t MAX31865Class::readBytes(uint8_t addr) {
164163

165164
digitalWrite(_cs, LOW);
166165

167-
_spi.beginTransaction(_spiSettings);
168-
_spi.transfer(addr);
166+
_spi->beginTransaction(_spiSettings);
167+
_spi->transfer(addr);
169168
for (int i = 0; i < 2; i++) {
170169
read = read << 8;
171-
read |= _spi.transfer(0);
170+
read |= _spi->transfer(0);
172171
}
173-
_spi.endTransaction();
172+
_spi->endTransaction();
174173

175174
digitalWrite(_cs, HIGH);
176175

@@ -183,9 +182,9 @@ void MAX31865Class::writeByte(uint8_t addr, uint8_t data) {
183182

184183
digitalWrite(_cs, LOW);
185184

186-
_spi.beginTransaction(_spiSettings);
187-
_spi.transfer(buffer,2);
188-
_spi.endTransaction();
185+
_spi->beginTransaction(_spiSettings);
186+
_spi->transfer(buffer,2);
187+
_spi->endTransaction();
189188

190189
digitalWrite(_cs, HIGH);
191190
}

src/utility/RTD/MAX31865.h

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@
5252

5353
class MAX31865Class {
5454
public:
55-
MAX31865Class(PinName cs = PA_6);
55+
MAX31865Class(PinName cs = MC_RTD_CS_PIN, SPIClass& spi = SPI);
5656

5757
bool begin(int wires);
5858
void end();
@@ -74,7 +74,8 @@ class MAX31865Class {
7474
void writeByte(uint8_t addr, uint8_t data);
7575

7676
PinName _cs;
77-
SPIClass& _spi;
77+
SPIClass* _spi;
78+
SPISettings _spiSettings;
7879
};
7980

8081
#endif

0 commit comments

Comments
 (0)