@@ -198,46 +198,16 @@ static bool spiDetachBus(void * bus){
198198
199199bool spiAttachSCK (spi_t * spi , int8_t sck )
200200{
201- if (!spi ) {
201+ if (!spi || sck < 0 ) {
202202 return false;
203203 }
204- if (sck < 0 ) {
205- #if CONFIG_IDF_TARGET_ESP32S2
206- if (spi -> num == FSPI ) {
207- sck = 36 ;
208- } else {
209- log_e ("HSPI Does not have default pins on ESP32S2!" );
210- return false;
211- }
212- #elif CONFIG_IDF_TARGET_ESP32S3
213- if (spi -> num == FSPI ) {
214- sck = 12 ;
215- } else {
216- log_e ("HSPI Does not have default pins on ESP32S3!" );
217- return false;
218- }
219- #elif CONFIG_IDF_TARGET_ESP32
220- if (spi -> num == HSPI ) {
221- sck = 14 ;
222- } else if (spi -> num == VSPI ) {
223- sck = 18 ;
224- } else {
225- sck = 6 ;
226- }
227- #elif CONFIG_IDF_TARGET_ESP32C3
228- log_e ("SPI Does not have default pins on ESP32C3!" );
229- return false;
230- #endif
231- }
232204 void * bus = perimanGetPinBus (sck , ESP32_BUS_TYPE_SPI_MASTER );
233205 if (bus != NULL && !perimanSetPinBus (sck , ESP32_BUS_TYPE_INIT , NULL )){
234206 return false;
235207 }
236-
237208 pinMode (sck , OUTPUT );
238209 pinMatrixOutAttach (sck , SPI_CLK_IDX (spi -> num ), false, false);
239210 spi -> sck = sck ;
240-
241211 if (!perimanSetPinBus (sck , ESP32_BUS_TYPE_SPI_MASTER , (void * )(spi -> num + 1 ))){
242212 spiDetachBus ((void * )(spi -> num + 1 ));
243213 log_e ("Failed to set pin bus to SPI for pin %d" , sck );
@@ -248,48 +218,18 @@ bool spiAttachSCK(spi_t * spi, int8_t sck)
248218
249219bool spiAttachMISO (spi_t * spi , int8_t miso )
250220{
251- if (!spi ) {
221+ if (!spi || miso < 0 ) {
252222 return false;
253223 }
254- if (miso < 0 ) {
255- #if CONFIG_IDF_TARGET_ESP32S2
256- if (spi -> num == FSPI ) {
257- miso = 37 ;
258- } else {
259- log_e ("HSPI Does not have default pins on ESP32S2!" );
260- return false;
261- }
262- #elif CONFIG_IDF_TARGET_ESP32S3
263- if (spi -> num == FSPI ) {
264- miso = 13 ;
265- } else {
266- log_e ("HSPI Does not have default pins on ESP32S3!" );
267- return false;
268- }
269- #elif CONFIG_IDF_TARGET_ESP32
270- if (spi -> num == HSPI ) {
271- miso = 12 ;
272- } else if (spi -> num == VSPI ) {
273- miso = 19 ;
274- } else {
275- miso = 7 ;
276- }
277- #elif CONFIG_IDF_TARGET_ESP32C3
278- log_e ("SPI Does not have default pins on ESP32C3!" );
279- return false;
280- #endif
281- }
282224 void * bus = perimanGetPinBus (miso , ESP32_BUS_TYPE_SPI_MASTER );
283225 if (bus != NULL && !perimanSetPinBus (miso , ESP32_BUS_TYPE_INIT , NULL )){
284226 return false;
285227 }
286-
287228 SPI_MUTEX_LOCK ();
288229 pinMode (miso , INPUT );
289230 pinMatrixInAttach (miso , SPI_MISO_IDX (spi -> num ), false);
290231 spi -> miso = miso ;
291232 SPI_MUTEX_UNLOCK ();
292-
293233 if (!perimanSetPinBus (miso , ESP32_BUS_TYPE_SPI_MASTER , (void * )(spi -> num + 1 ))){
294234 spiDetachBus ((void * )(spi -> num + 1 ));
295235 log_e ("Failed to set pin bus to SPI for pin %d" , miso );
@@ -300,46 +240,16 @@ bool spiAttachMISO(spi_t * spi, int8_t miso)
300240
301241bool spiAttachMOSI (spi_t * spi , int8_t mosi )
302242{
303- if (!spi ) {
243+ if (!spi || mosi < 0 ) {
304244 return false;
305245 }
306- if (mosi < 0 ) {
307- #if CONFIG_IDF_TARGET_ESP32S2 || CONFIG_IDF_TARGET_ESP32S3
308- if (spi -> num == FSPI ) {
309- mosi = 35 ;
310- } else {
311- log_e ("HSPI Does not have default pins on ESP32S2!" );
312- return false;
313- }
314- #elif CONFIG_IDF_TARGET_ESP32S3
315- if (spi -> num == FSPI ) {
316- mosi = 11 ;
317- } else {
318- log_e ("HSPI Does not have default pins on ESP32S3!" );
319- return false;
320- }
321- #elif CONFIG_IDF_TARGET_ESP32
322- if (spi -> num == HSPI ) {
323- mosi = 13 ;
324- } else if (spi -> num == VSPI ) {
325- mosi = 23 ;
326- } else {
327- mosi = 8 ;
328- }
329- #elif CONFIG_IDF_TARGET_ESP32C3
330- log_e ("SPI Does not have default pins on ESP32C3!" );
331- return false;
332- #endif
333- }
334246 void * bus = perimanGetPinBus (mosi , ESP32_BUS_TYPE_SPI_MASTER );
335247 if (bus != NULL && !perimanSetPinBus (mosi , ESP32_BUS_TYPE_INIT , NULL )){
336248 return false;
337249 }
338-
339250 pinMode (mosi , OUTPUT );
340251 pinMatrixOutAttach (mosi , SPI_MOSI_IDX (spi -> num ), false, false);
341252 spi -> mosi = mosi ;
342-
343253 if (!perimanSetPinBus (mosi , ESP32_BUS_TYPE_SPI_MASTER , (void * )(spi -> num + 1 ))){
344254 spiDetachBus ((void * )(spi -> num + 1 ));
345255 log_e ("Failed to set pin bus to SPI for pin %d" , mosi );
@@ -350,36 +260,8 @@ bool spiAttachMOSI(spi_t * spi, int8_t mosi)
350260
351261bool spiDetachSCK (spi_t * spi , int8_t sck )
352262{
353- if (!spi ) {
354- return false;
355- }
356- if (sck < 0 ) {
357- #if CONFIG_IDF_TARGET_ESP32S2 || CONFIG_IDF_TARGET_ESP32S3
358- if (spi -> num == FSPI ) {
359- sck = 36 ;
360- } else {
361- log_e ("HSPI Does not have default pins on ESP32S2!" );
362- return false;
363- }
364- #elif CONFIG_IDF_TARGET_ESP32S3
365- if (spi -> num == FSPI ) {
366- sck = 12 ;
367- } else {
368- log_e ("HSPI Does not have default pins on ESP32S3!" );
369- return false;
370- }
371- #elif CONFIG_IDF_TARGET_ESP32
372- if (spi -> num == HSPI ) {
373- sck = 14 ;
374- } else if (spi -> num == VSPI ) {
375- sck = 18 ;
376- } else {
377- sck = 6 ;
378- }
379- #elif CONFIG_IDF_TARGET_ESP32C3
380- log_e ("SPI Does not have default pins on ESP32C3!" );
263+ if (!spi || sck < 0 ) {
381264 return false;
382- #endif
383265 }
384266 pinMatrixOutDetach (sck , false, false);
385267 spi -> sck = -1 ;
@@ -389,37 +271,9 @@ bool spiDetachSCK(spi_t * spi, int8_t sck)
389271
390272bool spiDetachMISO (spi_t * spi , int8_t miso )
391273{
392- if (!spi ) {
274+ if (!spi || miso < 0 ) {
393275 return false;
394276 }
395- if (miso < 0 ) {
396- #if CONFIG_IDF_TARGET_ESP32S2 || CONFIG_IDF_TARGET_ESP32S3
397- if (spi -> num == FSPI ) {
398- miso = 37 ;
399- } else {
400- log_e ("HSPI Does not have default pins on ESP32S2!" );
401- return false;
402- }
403- #elif CONFIG_IDF_TARGET_ESP32S3
404- if (spi -> num == FSPI ) {
405- miso = 13 ;
406- } else {
407- log_e ("HSPI Does not have default pins on ESP32S3!" );
408- return false;
409- }
410- #elif CONFIG_IDF_TARGET_ESP32
411- if (spi -> num == HSPI ) {
412- miso = 12 ;
413- } else if (spi -> num == VSPI ) {
414- miso = 19 ;
415- } else {
416- miso = 7 ;
417- }
418- #elif CONFIG_IDF_TARGET_ESP32C3
419- log_e ("SPI Does not have default pins on ESP32C3!" );
420- return false;
421- #endif
422- }
423277 pinMatrixInDetach (SPI_MISO_IDX (spi -> num ), false, false);
424278 spi -> miso = -1 ;
425279 perimanSetPinBus (miso , ESP32_BUS_TYPE_INIT , NULL );
@@ -428,37 +282,9 @@ bool spiDetachMISO(spi_t * spi, int8_t miso)
428282
429283bool spiDetachMOSI (spi_t * spi , int8_t mosi )
430284{
431- if (!spi ) {
285+ if (!spi || mosi < 0 ) {
432286 return false;
433287 }
434- if (mosi < 0 ) {
435- #if CONFIG_IDF_TARGET_ESP32S2 || CONFIG_IDF_TARGET_ESP32S3
436- if (spi -> num == FSPI ) {
437- mosi = 35 ;
438- } else {
439- log_e ("HSPI Does not have default pins on ESP32S2!" );
440- return false;
441- }
442- #elif CONFIG_IDF_TARGET_ESP32S3
443- if (spi -> num == FSPI ) {
444- mosi = 11 ;
445- } else {
446- log_e ("HSPI Does not have default pins on ESP32S3!" );
447- return false;
448- }
449- #elif CONFIG_IDF_TARGET_ESP32
450- if (spi -> num == HSPI ) {
451- mosi = 13 ;
452- } else if (spi -> num == VSPI ) {
453- mosi = 23 ;
454- } else {
455- mosi = 8 ;
456- }
457- #elif CONFIG_IDF_TARGET_ESP32C3
458- log_e ("SPI Does not have default pins on ESP32C3!" );
459- return false;
460- #endif
461- }
462288 pinMatrixOutDetach (mosi , false, false);
463289 spi -> mosi = -1 ;
464290 perimanSetPinBus (mosi , ESP32_BUS_TYPE_INIT , NULL );
@@ -467,51 +293,17 @@ bool spiDetachMOSI(spi_t * spi, int8_t mosi)
467293
468294bool spiAttachSS (spi_t * spi , uint8_t cs_num , int8_t ss )
469295{
470- if (!spi ) {
471- return false;
472- }
473- if (cs_num > 2 ) {
296+ if (!spi || ss < 0 || cs_num > 2 ) {
474297 return false;
475298 }
476- if (ss < 0 ) {
477- cs_num = 0 ;
478- #if CONFIG_IDF_TARGET_ESP32S2
479- if (spi -> num == FSPI ) {
480- ss = 34 ;
481- } else {
482- log_e ("HSPI Does not have default pins on ESP32S2!" );
483- return false;
484- }
485- #elif CONFIG_IDF_TARGET_ESP32S3
486- if (spi -> num == FSPI ) {
487- ss = 10 ;
488- } else {
489- log_e ("HSPI Does not have default pins on ESP32S3!" );
490- return false;
491- }
492- #elif CONFIG_IDF_TARGET_ESP32
493- if (spi -> num == HSPI ) {
494- ss = 15 ;
495- } else if (spi -> num == VSPI ) {
496- ss = 5 ;
497- } else {
498- ss = 11 ;
499- }
500- #elif CONFIG_IDF_TARGET_ESP32C3
501- log_e ("SPI Does not have default pins on ESP32C3!" );
502- return false;
503- #endif
504- }
505299 void * bus = perimanGetPinBus (ss , ESP32_BUS_TYPE_SPI_MASTER );
506300 if (bus != NULL && !perimanSetPinBus (ss , ESP32_BUS_TYPE_INIT , NULL )){
507301 return false;
508302 }
509-
510303 pinMode (ss , OUTPUT );
511304 pinMatrixOutAttach (ss , SPI_SS_IDX (spi -> num , cs_num ), false, false);
512305 spiEnableSSPins (spi , (1 << cs_num ));
513306 spi -> ss = ss ;
514-
515307 if (!perimanSetPinBus (ss , ESP32_BUS_TYPE_SPI_MASTER , (void * )(spi -> num + 1 ))){
516308 spiDetachBus ((void * )(spi -> num + 1 ));
517309 log_e ("Failed to set pin bus to SPI for pin %d" , ss );
@@ -522,36 +314,8 @@ bool spiAttachSS(spi_t * spi, uint8_t cs_num, int8_t ss)
522314
523315bool spiDetachSS (spi_t * spi , int8_t ss )
524316{
525- if (!spi ) {
526- return false;
527- }
528- if (ss < 0 ) {
529- #if CONFIG_IDF_TARGET_ESP32S2
530- if (spi -> num == FSPI ) {
531- ss = 34 ;
532- } else {
533- log_e ("HSPI Does not have default pins on ESP32S2!" );
534- return false;
535- }
536- #elif CONFIG_IDF_TARGET_ESP32S3
537- if (spi -> num == FSPI ) {
538- ss = 10 ;
539- } else {
540- log_e ("HSPI Does not have default pins on ESP32S3!" );
541- return false;
542- }
543- #elif CONFIG_IDF_TARGET_ESP32
544- if (spi -> num == HSPI ) {
545- ss = 15 ;
546- } else if (spi -> num == VSPI ) {
547- ss = 5 ;
548- } else {
549- ss = 11 ;
550- }
551- #elif CONFIG_IDF_TARGET_ESP32C3
552- log_e ("SPI Does not have default pins on ESP32C3!" );
317+ if (!spi || ss < 0 ) {
553318 return false;
554- #endif
555319 }
556320 pinMatrixOutDetach (ss , false, false);
557321 spi -> ss = -1 ;
0 commit comments