From bede55a1ecc37cf1d4f6348b7e8be686ea6e7608 Mon Sep 17 00:00:00 2001 From: Shlomo Zippel Date: Sun, 8 Jan 2023 15:44:11 -0800 Subject: [PATCH] Created ESP32 DotStar Methods (markdown) --- ESP32-DotStar-Methods.md | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 ESP32-DotStar-Methods.md diff --git a/ESP32-DotStar-Methods.md b/ESP32-DotStar-Methods.md new file mode 100644 index 0000000..4807b54 --- /dev/null +++ b/ESP32-DotStar-Methods.md @@ -0,0 +1,29 @@ +# ESP32 Spi DotStar Methods + +These methods all use DMA behind the scenes for async transfer, and most of the SPI buses support multiple pin outputs. Here is a summary of available buses and their supported bit width: + +| MCU | Spi1 | Spi2 | Spi3 | +|-------------|-------------|----------------|-------------| +| ESP32 | 1x, 2x, 4x | 1x, 2x, 4x | 1x, 2x, 4x | +| ESP32-S2 | - | 1x, 2x, 4x, 8x | 1x | +| ESP32-S3 | - | 1x, 2x, 4x, 8x | 1x, 2x, 4x | +| ESP32-C3 | - | 1x, 2x, 4x | - | + +For all of the following methods if a Spi bus number isn't specified then Spi2 will be used by default. A default speed of 10Mhz will be used + +### Spi bus names + +The older ESP32 parts (ESP32, ESP32-S2) used different names for the SPI buses. For example ESP32 used Hspi and Vspi for Spi2 and Spi3, respectively. ESP32-S2 used Fspi and Hspi for Spi2 and Spi3. The newer parts (ESP32-S3, ESP32-C3) dropped these names and is only using the numbered buses. We will always use the numbered buses to avoid the ambiguity + +### Parallel data + +Please note that the current implementation doesn't transpose the output for parallel output methods. Hopefully coming soon + +## DotStarEsp32DmaSpi#Method + +## DotStarEsp32DmaSpi#2BitMethod + +## DotStarEsp32DmaSpi#4BitMethod + +## DotStarEsp32DmaSpi#8BitMethod +