Skip to content

Commit eb08565

Browse files
committed
Introduce top-level configuration method config which is called both from beginTransaction() and within begin().
1 parent 18641b3 commit eb08565

File tree

2 files changed

+11
-5
lines changed

2 files changed

+11
-5
lines changed

libraries/SPI/SPI.cpp

+10-5
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ void ArduinoSPI::begin()
121121
initialized = true;
122122
}
123123

124-
beginTransaction(DEFAULT_SPI_SETTINGS);
124+
config(DEFAULT_SPI_SETTINGS);
125125
}
126126

127127
void ArduinoSPI::end() {
@@ -229,10 +229,7 @@ void ArduinoSPI::transfer(void *buf, size_t count) {
229229

230230
void ArduinoSPI::beginTransaction(arduino::SPISettings settings)
231231
{
232-
if (_is_sci)
233-
configSpiSci(settings);
234-
else
235-
configSpi(settings);
232+
config(settings);
236233
}
237234

238235
void ArduinoSPI::endTransaction(void) {
@@ -247,6 +244,14 @@ void ArduinoSPI::detachInterrupt() {
247244

248245
}
249246

247+
void ArduinoSPI::config(arduino::SPISettings const & settings)
248+
{
249+
if (_is_sci)
250+
configSpiSci(settings);
251+
else
252+
configSpi(settings);
253+
}
254+
250255
void ArduinoSPI::configSpi(arduino::SPISettings const & settings)
251256
{
252257
auto [clk_phase, clk_polarity, bit_order] = toFspSpiConfig(settings);

libraries/SPI/SPI.h

+1
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,7 @@ class ArduinoSPI : public SPIClass
7878

7979
bool _is_sci;
8080

81+
void config(arduino::SPISettings const & settings);
8182
void configSpi(arduino::SPISettings const & settings);
8283
void configSpiSci(arduino::SPISettings const & settings);
8384
static std::tuple<spi_clk_phase_t, spi_clk_polarity_t, spi_bit_order_t> toFspSpiConfig(arduino::SPISettings const & settings);

0 commit comments

Comments
 (0)