@@ -78,7 +78,7 @@ void SPIClass::begin(uint8_t _pin)
7878 _spi.handle .State = HAL_SPI_STATE_RESET;
7979 spi_init (&_spi, spiSettings[idx].clk ,
8080 spiSettings[idx].dMode ,
81- spiSettings[idx].msb );
81+ spiSettings[idx].bOrder );
8282 _CSPinConfig = _pin;
8383#if __has_include("WiFi.h")
8484 // Wait wifi shield initialization.
@@ -115,11 +115,6 @@ void SPIClass::beginTransaction(uint8_t _pin, SPISettings settings)
115115 spiSettings[idx].clk = settings.clk ;
116116 spiSettings[idx].dMode = settings.dMode ;
117117 spiSettings[idx].bOrder = settings.bOrder ;
118- if (spiSettings[idx].bOrder == MSBFIRST) {
119- spiSettings[idx].msb = MSBFIRST;
120- } else {
121- spiSettings[idx].msb = LSBFIRST;
122- }
123118
124119 if ((_pin != CS_PIN_CONTROLLED_BY_USER) && (_spi.pin_ssel == NC)) {
125120 pinMode (_pin, OUTPUT);
@@ -128,7 +123,7 @@ void SPIClass::beginTransaction(uint8_t _pin, SPISettings settings)
128123
129124 spi_init (&_spi, spiSettings[idx].clk ,
130125 spiSettings[idx].dMode ,
131- spiSettings[idx].msb );
126+ spiSettings[idx].bOrder );
132127 _CSPinConfig = _pin;
133128}
134129
@@ -173,17 +168,11 @@ void SPIClass::setBitOrder(uint8_t _pin, BitOrder _bitOrder)
173168 return ;
174169 }
175170
176- if (MSBFIRST == _bitOrder) {
177- spiSettings[idx].msb = MSBFIRST;
178- spiSettings[idx].bOrder = MSBFIRST;
179- } else {
180- spiSettings[idx].msb = LSBFIRST;
181- spiSettings[idx].bOrder = LSBFIRST;
182- }
171+ spiSettings[idx].bOrder = _bitOrder;
183172
184173 spi_init (&_spi, spiSettings[idx].clk ,
185174 spiSettings[idx].dMode ,
186- spiSettings[idx].msb );
175+ spiSettings[idx].bOrder );
187176}
188177
189178/* *
@@ -221,7 +210,7 @@ void SPIClass::setDataMode(uint8_t _pin, uint8_t _mode)
221210
222211 spi_init (&_spi, spiSettings[idx].clk ,
223212 spiSettings[idx].dMode ,
224- spiSettings[idx].msb );
213+ spiSettings[idx].bOrder );
225214}
226215
227216/* *
@@ -250,7 +239,7 @@ void SPIClass::setClockDivider(uint8_t _pin, uint8_t _divider)
250239
251240 spi_init (&_spi, spiSettings[idx].clk ,
252241 spiSettings[idx].dMode ,
253- spiSettings[idx].msb );
242+ spiSettings[idx].bOrder );
254243}
255244
256245/* *
@@ -281,7 +270,7 @@ byte SPIClass::transfer(uint8_t _pin, uint8_t data, SPITransferMode _mode)
281270 }
282271 spi_init (&_spi, spiSettings[idx].clk ,
283272 spiSettings[idx].dMode ,
284- spiSettings[idx].msb );
273+ spiSettings[idx].bOrder );
285274 _CSPinConfig = _pin;
286275 }
287276
@@ -328,11 +317,11 @@ uint16_t SPIClass::transfer16(uint8_t _pin, uint16_t data, SPITransferMode _mode
328317 if (_pin != _CSPinConfig) {
329318 spi_init (&_spi, spiSettings[idx].clk ,
330319 spiSettings[idx].dMode ,
331- spiSettings[idx].msb );
320+ spiSettings[idx].bOrder );
332321 _CSPinConfig = _pin;
333322 }
334323
335- if (spiSettings[idx].msb ) {
324+ if (spiSettings[idx].bOrder ) {
336325 tmp = ((data & 0xff00 ) >> 8 ) | ((data & 0xff ) << 8 );
337326 data = tmp;
338327 }
@@ -347,7 +336,7 @@ uint16_t SPIClass::transfer16(uint8_t _pin, uint16_t data, SPITransferMode _mode
347336 digitalWrite (_pin, HIGH);
348337 }
349338
350- if (spiSettings[idx].msb ) {
339+ if (spiSettings[idx].bOrder ) {
351340 tmp = ((rx_buffer & 0xff00 ) >> 8 ) | ((rx_buffer & 0xff ) << 8 );
352341 rx_buffer = tmp;
353342 }
@@ -382,7 +371,7 @@ void SPIClass::transfer(uint8_t _pin, void *_buf, size_t _count, SPITransferMode
382371 }
383372 spi_init (&_spi, spiSettings[idx].clk ,
384373 spiSettings[idx].dMode ,
385- spiSettings[idx].msb );
374+ spiSettings[idx].bOrder );
386375 _CSPinConfig = _pin;
387376 }
388377
@@ -425,7 +414,7 @@ void SPIClass::transfer(byte _pin, void *_bufout, void *_bufin, size_t _count, S
425414 }
426415 spi_init (&_spi, spiSettings[idx].clk ,
427416 spiSettings[idx].dMode ,
428- spiSettings[idx].msb );
417+ spiSettings[idx].bOrder );
429418 _CSPinConfig = _pin;
430419 }
431420
0 commit comments