mirror of
https://github.com/arendst/Tasmota.git
synced 2025-07-24 11:16:34 +00:00
Add LoRa to ESP8266
This commit is contained in:
parent
021294bcd9
commit
ce419cce81
@ -620,7 +620,6 @@ const uint16_t kGpioNiceList[] PROGMEM = {
|
||||
#ifdef USE_MCP23XXX_DRV
|
||||
AGPIO(GPIO_MCP23SXX_CS) + MAX_MCP23XXX,
|
||||
#endif // USE_MCP23XXX_DRV
|
||||
#ifdef ESP32
|
||||
#ifdef USE_SPI_LORA
|
||||
AGPIO(GPIO_LORA_CS),
|
||||
AGPIO(GPIO_LORA_RST),
|
||||
@ -632,7 +631,6 @@ const uint16_t kGpioNiceList[] PROGMEM = {
|
||||
AGPIO(GPIO_LORA_DI4),
|
||||
AGPIO(GPIO_LORA_DI5),
|
||||
#endif // USE_SPI_LORA
|
||||
#endif // ESP32
|
||||
#endif // USE_SPI
|
||||
|
||||
#if defined(USE_SDCARD) && defined(ESP32)
|
||||
|
@ -2103,24 +2103,29 @@ void GpioInit(void)
|
||||
#ifdef USE_SPI
|
||||
#ifdef ESP8266
|
||||
if (!TasmotaGlobal.soft_spi_enabled) {
|
||||
bool valid_cs = (ValidSpiPinUsed(GPIO_SPI_CS) ||
|
||||
ValidSpiPinUsed(GPIO_RC522_CS) ||
|
||||
(ValidSpiPinUsed(GPIO_NRF24_CS) && ValidSpiPinUsed(GPIO_NRF24_DC)) ||
|
||||
ValidSpiPinUsed(GPIO_ILI9341_CS) ||
|
||||
ValidSpiPinUsed(GPIO_ILI9341_DC) || // there are also boards without cs
|
||||
ValidSpiPinUsed(GPIO_EPAPER29_CS) ||
|
||||
ValidSpiPinUsed(GPIO_EPAPER42_CS) ||
|
||||
ValidSpiPinUsed(GPIO_ILI9488_CS) ||
|
||||
ValidSpiPinUsed(GPIO_SSD1351_CS) ||
|
||||
ValidSpiPinUsed(GPIO_RA8876_CS) ||
|
||||
ValidSpiPinUsed(GPIO_ST7789_DC) || // ST7789 CS may be omitted so chk DC too
|
||||
ValidSpiPinUsed(GPIO_ST7789_CS) ||
|
||||
(ValidSpiPinUsed(GPIO_SSD1331_CS) && ValidSpiPinUsed(GPIO_SSD1331_DC)) ||
|
||||
ValidSpiPinUsed(GPIO_SDCARD_CS) ||
|
||||
ValidSpiPinUsed(GPIO_MCP2515_CS)
|
||||
);
|
||||
// If SPI_CS and/or SPI_DC is used they must be valid
|
||||
TasmotaGlobal.spi_enabled = (valid_cs) ? SPI_MOSI_MISO : SPI_NONE;
|
||||
uint32_t spi_mosi = (14 == Pin(GPIO_SPI_CLK)) && (13 == Pin(GPIO_SPI_MOSI)) ? SPI_MOSI : SPI_NONE;
|
||||
uint32_t spi_miso = (14 == Pin(GPIO_SPI_CLK)) && (12 == Pin(GPIO_SPI_MISO)) ? SPI_MISO : SPI_NONE;
|
||||
TasmotaGlobal.spi_enabled = spi_mosi + spi_miso;
|
||||
if (!TasmotaGlobal.spi_enabled) {
|
||||
bool valid_cs = (ValidSpiPinUsed(GPIO_SPI_CS) ||
|
||||
ValidSpiPinUsed(GPIO_RC522_CS) ||
|
||||
(ValidSpiPinUsed(GPIO_NRF24_CS) && ValidSpiPinUsed(GPIO_NRF24_DC)) ||
|
||||
ValidSpiPinUsed(GPIO_ILI9341_CS) ||
|
||||
ValidSpiPinUsed(GPIO_ILI9341_DC) || // there are also boards without cs
|
||||
ValidSpiPinUsed(GPIO_EPAPER29_CS) ||
|
||||
ValidSpiPinUsed(GPIO_EPAPER42_CS) ||
|
||||
ValidSpiPinUsed(GPIO_ILI9488_CS) ||
|
||||
ValidSpiPinUsed(GPIO_SSD1351_CS) ||
|
||||
ValidSpiPinUsed(GPIO_RA8876_CS) ||
|
||||
ValidSpiPinUsed(GPIO_ST7789_DC) || // ST7789 CS may be omitted so chk DC too
|
||||
ValidSpiPinUsed(GPIO_ST7789_CS) ||
|
||||
(ValidSpiPinUsed(GPIO_SSD1331_CS) && ValidSpiPinUsed(GPIO_SSD1331_DC)) ||
|
||||
ValidSpiPinUsed(GPIO_SDCARD_CS) ||
|
||||
ValidSpiPinUsed(GPIO_MCP2515_CS)
|
||||
);
|
||||
// If SPI_CS and/or SPI_DC is used they must be valid
|
||||
TasmotaGlobal.spi_enabled = (valid_cs) ? SPI_MOSI_MISO : SPI_NONE;
|
||||
}
|
||||
if (TasmotaGlobal.spi_enabled) {
|
||||
TasmotaGlobal.my_module.io[12] = AGPIO(GPIO_SPI_MISO);
|
||||
SetPin(12, AGPIO(GPIO_SPI_MISO));
|
||||
|
Loading…
x
Reference in New Issue
Block a user