1
1
#include " MAX31865.h"
2
2
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 ) {
4
4
}
5
5
6
- static SPISettings _spiSettings (1000000 , MSBFIRST, SPI_MODE1);
7
-
8
6
bool MAX31865Class::begin (int wires) {
9
7
_spi.begin ();
8
+ _spi->begin ();
10
9
11
10
pinMode (_cs, OUTPUT);
12
11
digitalWrite (_cs, HIGH);
@@ -149,10 +148,10 @@ uint8_t MAX31865Class::readByte(uint8_t addr) {
149
148
150
149
digitalWrite (_cs, LOW);
151
150
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 ();
156
155
157
156
digitalWrite (_cs, HIGH);
158
157
@@ -164,13 +163,13 @@ uint16_t MAX31865Class::readBytes(uint8_t addr) {
164
163
165
164
digitalWrite (_cs, LOW);
166
165
167
- _spi. beginTransaction (_spiSettings);
168
- _spi. transfer (addr);
166
+ _spi-> beginTransaction (_spiSettings);
167
+ _spi-> transfer (addr);
169
168
for (int i = 0 ; i < 2 ; i++) {
170
169
read = read << 8 ;
171
- read |= _spi. transfer (0 );
170
+ read |= _spi-> transfer (0 );
172
171
}
173
- _spi. endTransaction ();
172
+ _spi-> endTransaction ();
174
173
175
174
digitalWrite (_cs, HIGH);
176
175
@@ -183,9 +182,9 @@ void MAX31865Class::writeByte(uint8_t addr, uint8_t data) {
183
182
184
183
digitalWrite (_cs, LOW);
185
184
186
- _spi. beginTransaction (_spiSettings);
187
- _spi. transfer (buffer,2 );
188
- _spi. endTransaction ();
185
+ _spi-> beginTransaction (_spiSettings);
186
+ _spi-> transfer (buffer,2 );
187
+ _spi-> endTransaction ();
189
188
190
189
digitalWrite (_cs, HIGH);
191
190
}
0 commit comments