Skip to content

Commit 0ff460b

Browse files
committed
[SPI] Remove duplicated byte order setting
Signed-off-by: Frederic Pillon <[email protected]>
1 parent 42efbeb commit 0ff460b

File tree

2 files changed

+12
-34
lines changed

2 files changed

+12
-34
lines changed

libraries/SPI/src/SPI.cpp

Lines changed: 12 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -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

libraries/SPI/src/SPI.h

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -69,12 +69,6 @@ class SPISettings {
6969
SPISettings(uint32_t clock, BitOrder bitOrder, uint8_t dataMode)
7070
{
7171
clk = clock;
72-
73-
if (bitOrder == MSBFIRST) {
74-
msb = 1;
75-
} else {
76-
msb = 0;
77-
}
7872
bOrder = bitOrder;
7973

8074
if (SPI_MODE0 == dataMode) {
@@ -86,14 +80,12 @@ class SPISettings {
8680
} else if (SPI_MODE3 == dataMode) {
8781
dMode = SPI_MODE_3;
8882
}
89-
9083
}
9184
SPISettings()
9285
{
9386
pinCS = -1;
9487
clk = SPI_SPEED_CLOCK_DEFAULT;
9588
bOrder = MSBFIRST;
96-
msb = 1;
9789
dMode = SPI_MODE_0;
9890
}
9991
private:
@@ -106,7 +98,6 @@ class SPISettings {
10698
//SPI_MODE1 0 1
10799
//SPI_MODE2 1 0
108100
//SPI_MODE3 1 1
109-
uint8_t msb; //set to 1 if msb first
110101
friend class SPIClass;
111102
};
112103

@@ -279,7 +270,6 @@ class SPIClass {
279270
spiSettings[i].pinCS = -1;
280271
spiSettings[i].clk = SPI_SPEED_CLOCK_DEFAULT;
281272
spiSettings[i].bOrder = MSBFIRST;
282-
spiSettings[i].msb = 1;
283273
spiSettings[i].dMode = SPI_MODE_0;
284274
}
285275
}
@@ -291,7 +281,6 @@ class SPIClass {
291281
spiSettings[i].pinCS = -1;
292282
spiSettings[i].clk = SPI_SPEED_CLOCK_DEFAULT;
293283
spiSettings[i].bOrder = MSBFIRST;
294-
spiSettings[i].msb = 1;
295284
spiSettings[i].dMode = SPI_MODE_0;
296285
}
297286
}

0 commit comments

Comments
 (0)