@@ -59,13 +59,7 @@ SPIClass::SPIClass(uint8_t mosi, uint8_t miso, uint8_t sclk, uint8_t ssel) : _CS
5959 */
6060void SPIClass::begin (uint8_t _pin)
6161{
62- uint8_t idx;
63-
64- if (_pin > NUM_DIGITAL_PINS) {
65- return ;
66- }
67-
68- idx = pinIdx (_pin, ADD_NEW_PIN);
62+ uint8_t idx = pinIdx (_pin, ADD_NEW_PIN);
6963 if (idx >= NB_SPI_SETTINGS) {
7064 return ;
7165 }
@@ -101,13 +95,7 @@ void SPIClass::begin(uint8_t _pin)
10195 */
10296void SPIClass::beginTransaction (uint8_t _pin, SPISettings settings)
10397{
104- uint8_t idx;
105-
106- if (_pin > NUM_DIGITAL_PINS) {
107- return ;
108- }
109-
110- idx = pinIdx (_pin, ADD_NEW_PIN);
98+ uint8_t idx = pinIdx (_pin, ADD_NEW_PIN);
11199 if (idx >= NB_SPI_SETTINGS) {
112100 return ;
113101 }
@@ -134,10 +122,6 @@ void SPIClass::beginTransaction(uint8_t _pin, SPISettings settings)
134122 */
135123void SPIClass::endTransaction (uint8_t _pin)
136124{
137- if (_pin > NUM_DIGITAL_PINS) {
138- return ;
139- }
140-
141125 RemovePin (_pin);
142126 _CSPinConfig = NO_CONFIG;
143127}
@@ -160,10 +144,6 @@ void SPIClass::end()
160144 */
161145void SPIClass::setBitOrder (uint8_t _pin, BitOrder _bitOrder)
162146{
163- if (_pin > NUM_DIGITAL_PINS) {
164- return ;
165- }
166-
167147 uint8_t idx = pinIdx (_pin, GET_IDX);
168148 if (idx >= NB_SPI_SETTINGS) {
169149 return ;
@@ -190,10 +170,6 @@ void SPIClass::setBitOrder(uint8_t _pin, BitOrder _bitOrder)
190170 */
191171void SPIClass::setDataMode (uint8_t _pin, uint8_t _mode)
192172{
193- if (_pin > NUM_DIGITAL_PINS) {
194- return ;
195- }
196-
197173 uint8_t idx = pinIdx (_pin, GET_IDX);
198174 if (idx >= NB_SPI_SETTINGS) {
199175 return ;
@@ -223,10 +199,6 @@ void SPIClass::setDataMode(uint8_t _pin, uint8_t _mode)
223199 */
224200void SPIClass::setClockDivider (uint8_t _pin, uint8_t _divider)
225201{
226- if (_pin > NUM_DIGITAL_PINS) {
227- return ;
228- }
229-
230202 uint8_t idx = pinIdx (_pin, GET_IDX);
231203 if (idx >= NB_SPI_SETTINGS) {
232204 return ;
@@ -260,14 +232,12 @@ byte SPIClass::transfer(uint8_t _pin, uint8_t data, SPITransferMode _mode)
260232{
261233 uint8_t rx_buffer = 0 ;
262234
263- if (_pin > NUM_DIGITAL_PINS) {
235+ uint8_t idx = pinIdx (_pin, GET_IDX);
236+ if (idx >= NB_SPI_SETTINGS) {
264237 return rx_buffer;
265238 }
266- uint8_t idx = pinIdx (_pin, GET_IDX);
239+
267240 if (_pin != _CSPinConfig) {
268- if (idx >= NB_SPI_SETTINGS) {
269- return rx_buffer;
270- }
271241 spi_init (&_spi, spiSettings[idx].clk ,
272242 spiSettings[idx].dMode ,
273243 spiSettings[idx].bOrder );
@@ -305,10 +275,6 @@ uint16_t SPIClass::transfer16(uint8_t _pin, uint16_t data, SPITransferMode _mode
305275 uint16_t rx_buffer = 0 ;
306276 uint16_t tmp;
307277
308- if (_pin > NUM_DIGITAL_PINS) {
309- return rx_buffer;
310- }
311-
312278 uint8_t idx = pinIdx (_pin, GET_IDX);
313279 if (idx >= NB_SPI_SETTINGS) {
314280 return rx_buffer;
@@ -361,14 +327,15 @@ uint16_t SPIClass::transfer16(uint8_t _pin, uint16_t data, SPITransferMode _mode
361327 */
362328void SPIClass::transfer (uint8_t _pin, void *_buf, size_t _count, SPITransferMode _mode)
363329{
364- if ((_count == 0 ) || (_buf == NULL ) || (_pin > NUM_DIGITAL_PINS) ) {
330+ if ((_count == 0 ) || (_buf == NULL )) {
365331 return ;
366332 }
367333 uint8_t idx = pinIdx (_pin, GET_IDX);
334+ if (idx >= NB_SPI_SETTINGS) {
335+ return ;
336+ }
368337 if (_pin != _CSPinConfig) {
369- if (idx >= NB_SPI_SETTINGS) {
370- return ;
371- }
338+
372339 spi_init (&_spi, spiSettings[idx].clk ,
373340 spiSettings[idx].dMode ,
374341 spiSettings[idx].bOrder );
@@ -404,14 +371,15 @@ void SPIClass::transfer(uint8_t _pin, void *_buf, size_t _count, SPITransferMode
404371 */
405372void SPIClass::transfer (byte _pin, void *_bufout, void *_bufin, size_t _count, SPITransferMode _mode)
406373{
407- if ((_count == 0 ) || (_bufout == NULL ) || (_bufin == NULL ) || (_pin > NUM_DIGITAL_PINS) ) {
374+ if ((_count == 0 ) || (_bufout == NULL ) || (_bufin == NULL )) {
408375 return ;
409376 }
410377 uint8_t idx = pinIdx (_pin, GET_IDX);
378+ if (idx >= NB_SPI_SETTINGS) {
379+ return ;
380+ }
381+
411382 if (_pin != _CSPinConfig) {
412- if (idx >= NB_SPI_SETTINGS) {
413- return ;
414- }
415383 spi_init (&_spi, spiSettings[idx].clk ,
416384 spiSettings[idx].dMode ,
417385 spiSettings[idx].bOrder );
0 commit comments