تحتوي لوحات TTGO Lora على بعض المشكلات عند استخدامها مع بطاقات SD. يستخدم كل من بطاقات SX1278 و SD SPI كحافلة اتصال. SPI هي عائلة بروتوكول يمكن أن تعمل في العديد من التكوينات المختلفة.
يحتوي ESP32 على لوحة TTGO Lora على أجهزة مدمجة SPI (HSPI) ويمكنها أيضًا القيام بـ SPI افتراضي / SPO. من خلال مضاهاة. كما يمكن توجيه حافلات VSPI وكذلك HSPI إلى أي من المسامير.

في التكوين الافتراضي ، يستخدم كل من SX1278 ومكتبة SD HSPI وبالتالي يعوق بعضهما البعض.
من أجل جعل بطاقة SX1278 و SD تعمل ، يجب استخدام حافلات SPI. أثناء تجربة اللوحة ، أصبح الأمر واضحًا أيضًا ، أن SX1278 معرض للخطأ على SPI للأجهزة ، ولم يعمل ، عند استخدام بطاقة SD على VSPI.
يستخدم الحل النهائي ناقل HSPI للتواصل مع SD وبرنامج SPI لـ SX1278. إنه أيضًا خيار لاستخدام اثنين من البرامج المنفصلة SPI Busses.
#define SD_CS 23
#define SD_SCK 17
#define SD_MOSI 12
#define SD_MISO 13
SPIClass sd_spi ( HSPI );
sd_spi . begin ( SD_SCK , SD_MISO , SD_MOSI , SD_CS );
if (! SD . begin ( SD_CS , sd_spi ))
Serial . println ( "SD Card: mounting failed." );
else
Serial . println ( "SD Card: mounted." ); RHSoftwareSPI sx1278_spi ;
RH_RF95 rf95 ( LORA_CS , LORA_IRQ , sx1278_spi );
sx1278_spi . setPins ( LORA_MISO , LORA_MOSI , LORA_SCK );
if (! rf95 . init ())
Serial . println ( "LoRa Radio: init failed." );
else
Serial . println ( "LoRa Radio: init OK!" );