Skip to content

Commit

Permalink
ESP32-C6: T3-C6 board pins map
Browse files Browse the repository at this point in the history
  • Loading branch information
lyusupov committed Jan 29, 2024
1 parent 36e07dd commit 73b788e
Show file tree
Hide file tree
Showing 3 changed files with 60 additions and 4 deletions.
26 changes: 22 additions & 4 deletions software/firmware/source/SoftRF/src/platform/ESP32.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -634,8 +634,10 @@ static void ESP32_setup()
#elif defined(CONFIG_IDF_TARGET_ESP32C6)
switch (flash_id)
{
case MakeFlashId(ZBIT_ID, ZBIT_ZB25VQ32B): /* WT0132C6 */
case MakeFlashId(ST_ID, XMC_XM25QH32B): /* ESP32-C6-MINI-1U */
esp32_board = ESP32_LILYGO_T3C6;
break;
case MakeFlashId(ZBIT_ID, ZBIT_ZB25VQ32B): /* WT0132C6 */
default:
esp32_board = ESP32_C6_DEVKIT;
break;
Expand Down Expand Up @@ -1262,8 +1264,6 @@ static void ESP32_setup()
lmic_pins.rst = LMIC_UNUSED_PIN;
lmic_pins.busy = SOC_GPIO_PIN_C3_TXE;

/* TBD */

#endif /* CONFIG_IDF_TARGET_ESP32C3 */

#if defined(CONFIG_IDF_TARGET_ESP32C6)
Expand All @@ -1273,7 +1273,13 @@ static void ESP32_setup()
lmic_pins.rst = LMIC_UNUSED_PIN;
lmic_pins.busy = SOC_GPIO_PIN_C6_TXE;

/* TBD */
} else if (esp32_board == ESP32_LILYGO_T3C6) {

lmic_pins.nss = SOC_GPIO_PIN_T3C6_SS;
lmic_pins.rst = SOC_GPIO_PIN_T3C6_RST;
lmic_pins.busy = SOC_GPIO_PIN_T3C6_BUSY;
lmic_pins.txe = SOC_GPIO_PIN_T3C6_ANT_TX;
lmic_pins.rxe = SOC_GPIO_PIN_T3C6_ANT_RX;

#endif /* CONFIG_IDF_TARGET_ESP32C6 */
}
Expand Down Expand Up @@ -2885,6 +2891,10 @@ static void ESP32_SPI_begin()
SPI.begin(SOC_GPIO_PIN_C6_SCK, SOC_GPIO_PIN_C6_MISO,
SOC_GPIO_PIN_C6_MOSI, SOC_GPIO_PIN_C6_SS);
break;
case ESP32_LILYGO_T3C6:
SPI.begin(SOC_GPIO_PIN_T3C6_SCK, SOC_GPIO_PIN_T3C6_MISO,
SOC_GPIO_PIN_T3C6_MOSI, SOC_GPIO_PIN_T3C6_SS);
break;
default:
SPI.begin(SOC_GPIO_PIN_SCK, SOC_GPIO_PIN_MISO,
SOC_GPIO_PIN_MOSI, SOC_GPIO_PIN_SS);
Expand Down Expand Up @@ -2970,6 +2980,10 @@ static void ESP32_swSer_begin(unsigned long baud)
Serial.println(F("INFO: ESP32-C6 DevKit is detected."));
Serial_GNSS_In.begin(baud, SERIAL_IN_BITS,
SOC_GPIO_PIN_C6_GNSS_RX, SOC_GPIO_PIN_C6_GNSS_TX);
} else if (esp32_board == ESP32_LILYGO_T3C6) {
Serial.println(F("INFO: LilyGO T3-C6 is detected."));
Serial_GNSS_In.begin(baud, SERIAL_IN_BITS,
SOC_GPIO_PIN_T3C6_GNSS_RX, SOC_GPIO_PIN_T3C6_GNSS_TX);
} else {
/* open Standalone's GNSS port */
Serial_GNSS_In.begin(baud, SERIAL_IN_BITS,
Expand Down Expand Up @@ -3864,6 +3878,10 @@ static bool ESP32_Baro_setup()

Wire.setPins(SOC_GPIO_PIN_C6_SDA, SOC_GPIO_PIN_C6_SCL);

} else if (esp32_board == ESP32_LILYGO_T3C6) {

Wire.setPins(SOC_GPIO_PIN_T3C6_SDA, SOC_GPIO_PIN_T3C6_SCL);

} else if (hw_info.model != SOFTRF_MODEL_PRIME_MK2) {

if ((hw_info.rf != RF_IC_SX1276 && hw_info.rf != RF_IC_SX1262) ||
Expand Down
2 changes: 2 additions & 0 deletions software/firmware/source/SoftRF/src/platform/ESP32.h
Original file line number Diff line number Diff line change
Expand Up @@ -228,6 +228,7 @@ extern Adafruit_NeoPixel strip;
#include "iomap/LilyGO_TTWR.h"
#include "iomap/Heltec_Tracker.h"
#include "iomap/WT0132C6.h"
#include "iomap/LilyGO_T3C6.h"

extern WebServer server;

Expand Down Expand Up @@ -255,6 +256,7 @@ enum esp32_board_id {
ESP32_LILYGO_T_TWR_V2_0,
ESP32_LILYGO_T_TWR_V2_1,
ESP32_HELTEC_TRACKER,
ESP32_LILYGO_T3C6,
};

/* https://github.com/espressif/usb-pids/blob/main/allocated-pids.txt#L313 */
Expand Down
36 changes: 36 additions & 0 deletions software/firmware/source/SoftRF/src/platform/iomap/LilyGO_T3C6.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@

/* ESP32-C6 */
#define SOC_GPIO_PIN_T3C6_CONS_RX 17
#define SOC_GPIO_PIN_T3C6_CONS_TX 16

// GNSS module (ext.)
#define SOC_GPIO_PIN_T3C6_GNSS_RX 23
#define SOC_GPIO_PIN_T3C6_GNSS_TX 22
#define SOC_GPIO_PIN_T3C6_GNSS_PPS 21

// USB CDC/JTAG
#define SOC_GPIO_PIN_T3C6_USB_DP 13
#define SOC_GPIO_PIN_T3C6_USB_DN 12

// SPI
#define SOC_GPIO_PIN_T3C6_MOSI 0
#define SOC_GPIO_PIN_T3C6_MISO 1
#define SOC_GPIO_PIN_T3C6_SCK 6
#define SOC_GPIO_PIN_T3C6_SS 18

// SX1262 (S62F)
#define SOC_GPIO_PIN_T3C6_RST 4
#define SOC_GPIO_PIN_T3C6_BUSY 3
#define SOC_GPIO_PIN_T3C6_DIO1 2
#define SOC_GPIO_PIN_T3C6_DIO2 5
#define SOC_GPIO_PIN_T3C6_ANT_RX 15
#define SOC_GPIO_PIN_T3C6_ANT_TX 14

// I2C (ext.)
#define SOC_GPIO_PIN_T3C6_SDA 19
#define SOC_GPIO_PIN_T3C6_SCL 20

// NRF905 (NC)
#define SOC_GPIO_PIN_T3C6_TXE 7 /* TBD */
#define SOC_GPIO_PIN_T3C6_CE 8 /* TBD */
#define SOC_GPIO_PIN_T3C6_PWR 9 /* TBD */

0 comments on commit 73b788e

Please sign in to comment.