@@ -198,46 +198,16 @@ static bool spiDetachBus(void * bus){
198
198
199
199
bool spiAttachSCK (spi_t * spi , int8_t sck )
200
200
{
201
- if (!spi ) {
201
+ if (!spi || sck < 0 ) {
202
202
return false;
203
203
}
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
- }
232
204
void * bus = perimanGetPinBus (sck , ESP32_BUS_TYPE_SPI_MASTER );
233
205
if (bus != NULL && !perimanSetPinBus (sck , ESP32_BUS_TYPE_INIT , NULL )){
234
206
return false;
235
207
}
236
-
237
208
pinMode (sck , OUTPUT );
238
209
pinMatrixOutAttach (sck , SPI_CLK_IDX (spi -> num ), false, false);
239
210
spi -> sck = sck ;
240
-
241
211
if (!perimanSetPinBus (sck , ESP32_BUS_TYPE_SPI_MASTER , (void * )(spi -> num + 1 ))){
242
212
spiDetachBus ((void * )(spi -> num + 1 ));
243
213
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)
248
218
249
219
bool spiAttachMISO (spi_t * spi , int8_t miso )
250
220
{
251
- if (!spi ) {
221
+ if (!spi || miso < 0 ) {
252
222
return false;
253
223
}
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
- }
282
224
void * bus = perimanGetPinBus (miso , ESP32_BUS_TYPE_SPI_MASTER );
283
225
if (bus != NULL && !perimanSetPinBus (miso , ESP32_BUS_TYPE_INIT , NULL )){
284
226
return false;
285
227
}
286
-
287
228
SPI_MUTEX_LOCK ();
288
229
pinMode (miso , INPUT );
289
230
pinMatrixInAttach (miso , SPI_MISO_IDX (spi -> num ), false);
290
231
spi -> miso = miso ;
291
232
SPI_MUTEX_UNLOCK ();
292
-
293
233
if (!perimanSetPinBus (miso , ESP32_BUS_TYPE_SPI_MASTER , (void * )(spi -> num + 1 ))){
294
234
spiDetachBus ((void * )(spi -> num + 1 ));
295
235
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)
300
240
301
241
bool spiAttachMOSI (spi_t * spi , int8_t mosi )
302
242
{
303
- if (!spi ) {
243
+ if (!spi || mosi < 0 ) {
304
244
return false;
305
245
}
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
- }
334
246
void * bus = perimanGetPinBus (mosi , ESP32_BUS_TYPE_SPI_MASTER );
335
247
if (bus != NULL && !perimanSetPinBus (mosi , ESP32_BUS_TYPE_INIT , NULL )){
336
248
return false;
337
249
}
338
-
339
250
pinMode (mosi , OUTPUT );
340
251
pinMatrixOutAttach (mosi , SPI_MOSI_IDX (spi -> num ), false, false);
341
252
spi -> mosi = mosi ;
342
-
343
253
if (!perimanSetPinBus (mosi , ESP32_BUS_TYPE_SPI_MASTER , (void * )(spi -> num + 1 ))){
344
254
spiDetachBus ((void * )(spi -> num + 1 ));
345
255
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)
350
260
351
261
bool spiDetachSCK (spi_t * spi , int8_t sck )
352
262
{
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 ) {
381
264
return false;
382
- #endif
383
265
}
384
266
pinMatrixOutDetach (sck , false, false);
385
267
spi -> sck = -1 ;
@@ -389,37 +271,9 @@ bool spiDetachSCK(spi_t * spi, int8_t sck)
389
271
390
272
bool spiDetachMISO (spi_t * spi , int8_t miso )
391
273
{
392
- if (!spi ) {
274
+ if (!spi || miso < 0 ) {
393
275
return false;
394
276
}
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
- }
423
277
pinMatrixInDetach (SPI_MISO_IDX (spi -> num ), false, false);
424
278
spi -> miso = -1 ;
425
279
perimanSetPinBus (miso , ESP32_BUS_TYPE_INIT , NULL );
@@ -428,37 +282,9 @@ bool spiDetachMISO(spi_t * spi, int8_t miso)
428
282
429
283
bool spiDetachMOSI (spi_t * spi , int8_t mosi )
430
284
{
431
- if (!spi ) {
285
+ if (!spi || mosi < 0 ) {
432
286
return false;
433
287
}
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
- }
462
288
pinMatrixOutDetach (mosi , false, false);
463
289
spi -> mosi = -1 ;
464
290
perimanSetPinBus (mosi , ESP32_BUS_TYPE_INIT , NULL );
@@ -467,51 +293,17 @@ bool spiDetachMOSI(spi_t * spi, int8_t mosi)
467
293
468
294
bool spiAttachSS (spi_t * spi , uint8_t cs_num , int8_t ss )
469
295
{
470
- if (!spi ) {
471
- return false;
472
- }
473
- if (cs_num > 2 ) {
296
+ if (!spi || ss < 0 || cs_num > 2 ) {
474
297
return false;
475
298
}
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
- }
505
299
void * bus = perimanGetPinBus (ss , ESP32_BUS_TYPE_SPI_MASTER );
506
300
if (bus != NULL && !perimanSetPinBus (ss , ESP32_BUS_TYPE_INIT , NULL )){
507
301
return false;
508
302
}
509
-
510
303
pinMode (ss , OUTPUT );
511
304
pinMatrixOutAttach (ss , SPI_SS_IDX (spi -> num , cs_num ), false, false);
512
305
spiEnableSSPins (spi , (1 << cs_num ));
513
306
spi -> ss = ss ;
514
-
515
307
if (!perimanSetPinBus (ss , ESP32_BUS_TYPE_SPI_MASTER , (void * )(spi -> num + 1 ))){
516
308
spiDetachBus ((void * )(spi -> num + 1 ));
517
309
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)
522
314
523
315
bool spiDetachSS (spi_t * spi , int8_t ss )
524
316
{
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 ) {
553
318
return false;
554
- #endif
555
319
}
556
320
pinMatrixOutDetach (ss , false, false);
557
321
spi -> ss = -1 ;
0 commit comments