Skip to content

Commit ab9a835

Browse files
committed
remove SPI setDataMode function and replace it by SPISettings. This will improve the compatibility of the code across different platforms. For instance setDataMode is not supported on mbed based platforms like the Raspberry Pi Pico
1 parent 9aa70f4 commit ab9a835

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

src/MagAlpha.cpp

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ void MagAlpha::begin(int32_t spiSclkFrequency, uint8_t spiMode, uint8_t spiChip
3636
}
3737

3838
void MagAlpha::end(){
39+
SPI.endTransaction();
3940
SPI.end();
4041
}
4142

@@ -132,12 +133,14 @@ uint8_t MagAlpha::writeRegister(uint8_t address, uint8_t value){
132133

133134
void MagAlpha::setSpiClockFrequency(uint32_t speedMaximum){
134135
_speedMaximum = speedMaximum;
136+
SPI.endTransaction();
135137
SPI.beginTransaction(SPISettings(_speedMaximum, MSBFIRST, _spiMode));
136138
}
137139

138140
void MagAlpha::setSpiDataMode(uint8_t spiMode){
139141
_spiMode = spiMode;
140-
SPI.setDataMode(_spiMode);
142+
SPI.endTransaction();
143+
SPI.beginTransaction(SPISettings(_speedMaximum, MSBFIRST, _spiMode));
141144
}
142145

143146
void MagAlpha::setSpiChipSelectPin(uint8_t spiChipSelectPin){
@@ -167,6 +170,7 @@ void MagAlphaSSI::begin(int32_t ssiSsckFrequency){
167170
}
168171

169172
void MagAlphaSSI::end(){
173+
SPI.endTransaction();
170174
SPI.end();
171175
}
172176

@@ -234,6 +238,7 @@ uint16_t MagAlphaSSI::readAngleRaw(bool* error){
234238

235239
void MagAlphaSSI::setSsiClockFrequency(uint32_t speedMaximum){
236240
_speedMaximum = speedMaximum;
241+
SPI.endTransaction();
237242
SPI.beginTransaction(SPISettings(_speedMaximum, MSBFIRST, SSI_MODE));
238243
}
239244

0 commit comments

Comments
 (0)