mirror of
https://github.com/0xFEEDC0DE64/arduino-esp32.git
synced 2025-07-29 10:17:15 +02:00
Esp32 s3 support (#6341)
Co-authored-by: Jason2866 <24528715+Jason2866@users.noreply.github.com> Co-authored-by: Unexpected Maker <seon@unexpectedmaker.com> Co-authored-by: Rodrigo Garcia <rodrigo.garcia@espressif.com> Co-authored-by: Tomáš Pilný <34927466+PilnyTomas@users.noreply.github.com> Co-authored-by: Pedro Minatel <pedro.minatel@espressif.com> Co-authored-by: Ivan Grokhotkov <ivan@espressif.com> Co-authored-by: Jan Procházka <90197375+P-R-O-C-H-Y@users.noreply.github.com> Co-authored-by: Limor "Ladyada" Fried <limor@ladyada.net>
This commit is contained in:
Binary file not shown.
Binary file not shown.
BIN
variants/adafruit_feather_esp32s3_nopsram/bootloader.bin
Normal file
BIN
variants/adafruit_feather_esp32s3_nopsram/bootloader.bin
Normal file
Binary file not shown.
10
variants/adafruit_feather_esp32s3_nopsram/partitions.csv
Normal file
10
variants/adafruit_feather_esp32s3_nopsram/partitions.csv
Normal file
@ -0,0 +1,10 @@
|
||||
# ESP-IDF Partition Table
|
||||
# Name, Type, SubType, Offset, Size, Flags
|
||||
# bootloader.bin,, 0x1000, 32K
|
||||
# partition table,, 0x8000, 4K
|
||||
nvs, data, nvs, 0x9000, 20K,
|
||||
otadata, data, ota, 0xe000, 8K,
|
||||
ota_0, 0, ota_0, 0x10000, 2048K,
|
||||
ota_1, 0, ota_1, 0x210000, 2048K,
|
||||
uf2, app, factory,0x410000, 256K,
|
||||
ffat, data, fat, 0x450000, 3776K,
|
|
71
variants/adafruit_feather_esp32s3_nopsram/pins_arduino.h
Normal file
71
variants/adafruit_feather_esp32s3_nopsram/pins_arduino.h
Normal file
@ -0,0 +1,71 @@
|
||||
#ifndef Pins_Arduino_h
|
||||
#define Pins_Arduino_h
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
#define USB_VID 0x239A
|
||||
#define USB_PID 0x8113
|
||||
#define USB_MANUFACTURER "Adafruit"
|
||||
#define USB_PRODUCT "Feather ESP32-S3 No PSRAM"
|
||||
#define USB_SERIAL "" // Empty string for MAC adddress
|
||||
|
||||
#define EXTERNAL_NUM_INTERRUPTS 46
|
||||
#define NUM_DIGITAL_PINS 48
|
||||
#define NUM_ANALOG_INPUTS 20
|
||||
|
||||
#define analogInputToDigitalPin(p) (((p)<20)?(analogChannelToDigitalPin(p)):-1)
|
||||
#define digitalPinToInterrupt(p) (((p)<48)?(p):-1)
|
||||
#define digitalPinHasPWM(p) (p < 46)
|
||||
|
||||
#define LED_BUILTIN 13
|
||||
|
||||
#define PIN_NEOPIXEL 33
|
||||
#define NEOPIXEL_NUM 1 // number of neopixels
|
||||
#define NEOPIXEL_POWER 21 // power pin
|
||||
#define NEOPIXEL_POWER_ON HIGH // power pin state when on
|
||||
#define I2C_POWER 7 // I2C power pin
|
||||
#define PIN_I2C_POWER 7 // I2C power pin
|
||||
|
||||
|
||||
static const uint8_t TX = 39;
|
||||
static const uint8_t RX = 38;
|
||||
#define TX1 TX
|
||||
#define RX1 RX
|
||||
|
||||
static const uint8_t SDA = 3;
|
||||
static const uint8_t SCL = 4;
|
||||
|
||||
static const uint8_t SS = 42;
|
||||
static const uint8_t MOSI = 35;
|
||||
static const uint8_t SCK = 36;
|
||||
static const uint8_t MISO = 37;
|
||||
|
||||
static const uint8_t A0 = 18;
|
||||
static const uint8_t A1 = 17;
|
||||
static const uint8_t A2 = 16;
|
||||
static const uint8_t A3 = 15;
|
||||
static const uint8_t A4 = 14;
|
||||
static const uint8_t A5 = 8;
|
||||
static const uint8_t A6 = 3;
|
||||
static const uint8_t A7 = 4;
|
||||
static const uint8_t A8 = 5;
|
||||
static const uint8_t A9 = 6;
|
||||
static const uint8_t A10 = 9;
|
||||
static const uint8_t A11 = 10;
|
||||
static const uint8_t A12 = 11;
|
||||
static const uint8_t A13 = 12;
|
||||
static const uint8_t A14 = 13;
|
||||
|
||||
static const uint8_t T3 = 3;
|
||||
static const uint8_t T4 = 4;
|
||||
static const uint8_t T5 = 5;
|
||||
static const uint8_t T6 = 6;
|
||||
static const uint8_t T8 = 8;
|
||||
static const uint8_t T9 = 9;
|
||||
static const uint8_t T10 = 10;
|
||||
static const uint8_t T11 = 11;
|
||||
static const uint8_t T12 = 12;
|
||||
static const uint8_t T13 = 13;
|
||||
static const uint8_t T14 = 14;
|
||||
|
||||
#endif /* Pins_Arduino_h */
|
BIN
variants/adafruit_feather_esp32s3_nopsram/tinyuf2.bin
Normal file
BIN
variants/adafruit_feather_esp32s3_nopsram/tinyuf2.bin
Normal file
Binary file not shown.
43
variants/adafruit_feather_esp32s3_nopsram/variant.cpp
Normal file
43
variants/adafruit_feather_esp32s3_nopsram/variant.cpp
Normal file
@ -0,0 +1,43 @@
|
||||
/*
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* Copyright (c) 2021 Ha Thach (tinyusb.org) for Adafruit Industries
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
|
||||
#include "esp32-hal-gpio.h"
|
||||
#include "pins_arduino.h"
|
||||
|
||||
extern "C" {
|
||||
|
||||
// Initialize variant/board, called before setup()
|
||||
void initVariant(void)
|
||||
{
|
||||
// This board has a power control pin, and we must set it to output and high
|
||||
// in order to enable the NeoPixels.
|
||||
pinMode(NEOPIXEL_POWER, OUTPUT);
|
||||
digitalWrite(NEOPIXEL_POWER, HIGH);
|
||||
|
||||
// turn on the I2C power by setting LDO enable pin 'high'
|
||||
pinMode(PIN_I2C_POWER, OUTPUT);
|
||||
digitalWrite(PIN_I2C_POWER, HIGH);
|
||||
}
|
||||
}
|
BIN
variants/adafruit_qtpy_esp32s3_nopsram/bootloader.bin
Normal file
BIN
variants/adafruit_qtpy_esp32s3_nopsram/bootloader.bin
Normal file
Binary file not shown.
10
variants/adafruit_qtpy_esp32s3_nopsram/partitions.csv
Normal file
10
variants/adafruit_qtpy_esp32s3_nopsram/partitions.csv
Normal file
@ -0,0 +1,10 @@
|
||||
# ESP-IDF Partition Table
|
||||
# Name, Type, SubType, Offset, Size, Flags
|
||||
# bootloader.bin,, 0x1000, 32K
|
||||
# partition table,, 0x8000, 4K
|
||||
nvs, data, nvs, 0x9000, 20K,
|
||||
otadata, data, ota, 0xe000, 8K,
|
||||
ota_0, 0, ota_0, 0x10000, 2048K,
|
||||
ota_1, 0, ota_1, 0x210000, 2048K,
|
||||
uf2, app, factory,0x410000, 256K,
|
||||
ffat, data, fat, 0x450000, 3776K,
|
|
56
variants/adafruit_qtpy_esp32s3_nopsram/pins_arduino.h
Normal file
56
variants/adafruit_qtpy_esp32s3_nopsram/pins_arduino.h
Normal file
@ -0,0 +1,56 @@
|
||||
#ifndef Pins_Arduino_h
|
||||
#define Pins_Arduino_h
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
#define USB_VID 0x239A
|
||||
#define USB_PID 0x8119
|
||||
#define USB_MANUFACTURER "Adafruit"
|
||||
#define USB_PRODUCT "QT Py ESP32-S3 No PSRAM"
|
||||
#define USB_SERIAL "" // Empty string for MAC adddress
|
||||
|
||||
#define EXTERNAL_NUM_INTERRUPTS 46
|
||||
#define NUM_DIGITAL_PINS 48
|
||||
#define NUM_ANALOG_INPUTS 20
|
||||
|
||||
#define analogInputToDigitalPin(p) (((p)<20)?(analogChannelToDigitalPin(p)):-1)
|
||||
#define digitalPinToInterrupt(p) (((p)<48)?(p):-1)
|
||||
#define digitalPinHasPWM(p) (p < 46)
|
||||
|
||||
#define PIN_NEOPIXEL 39
|
||||
#define NEOPIXEL_NUM 1 // number of neopixels
|
||||
#define NEOPIXEL_POWER 38 // power pin
|
||||
#define NEOPIXEL_POWER_ON HIGH // power pin state when on
|
||||
|
||||
static const uint8_t TX = 5;
|
||||
static const uint8_t RX = 16;
|
||||
#define TX1 TX
|
||||
#define RX1 RX
|
||||
|
||||
static const uint8_t SDA = 7;
|
||||
static const uint8_t SCL = 6;
|
||||
|
||||
static const uint8_t SDA1 = 41;
|
||||
static const uint8_t SCL1 = 40;
|
||||
|
||||
static const uint8_t SS = 42;
|
||||
static const uint8_t MOSI = 35;
|
||||
static const uint8_t SCK = 36;
|
||||
static const uint8_t MISO = 37;
|
||||
|
||||
static const uint8_t A0 = 18;
|
||||
static const uint8_t A1 = 17;
|
||||
static const uint8_t A2 = 9;
|
||||
static const uint8_t A3 = 8;
|
||||
static const uint8_t A4 = 7;
|
||||
static const uint8_t A5 = 6;
|
||||
static const uint8_t A6 = 5;
|
||||
static const uint8_t A7 = 16;
|
||||
|
||||
static const uint8_t T5 = 5;
|
||||
static const uint8_t T6 = 6;
|
||||
static const uint8_t T7 = 7;
|
||||
static const uint8_t T8 = 8;
|
||||
static const uint8_t T9 = 9;
|
||||
|
||||
#endif /* Pins_Arduino_h */
|
BIN
variants/adafruit_qtpy_esp32s3_nopsram/tinyuf2.bin
Normal file
BIN
variants/adafruit_qtpy_esp32s3_nopsram/tinyuf2.bin
Normal file
Binary file not shown.
39
variants/adafruit_qtpy_esp32s3_nopsram/variant.cpp
Normal file
39
variants/adafruit_qtpy_esp32s3_nopsram/variant.cpp
Normal file
@ -0,0 +1,39 @@
|
||||
/*
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* Copyright (c) 2021 Ha Thach (tinyusb.org) for Adafruit Industries
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
|
||||
#include "esp32-hal-gpio.h"
|
||||
#include "pins_arduino.h"
|
||||
|
||||
extern "C" {
|
||||
|
||||
// Initialize variant/board, called before setup()
|
||||
void initVariant(void)
|
||||
{
|
||||
// This board has a power control pin, and we must set it to output and high
|
||||
// in order to enable the NeoPixels.
|
||||
pinMode(NEOPIXEL_POWER, OUTPUT);
|
||||
digitalWrite(NEOPIXEL_POWER, HIGH);
|
||||
}
|
||||
}
|
@ -3,6 +3,9 @@
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
#define USB_VID 0x303a
|
||||
#define USB_PID 0x1001
|
||||
|
||||
#define EXTERNAL_NUM_INTERRUPTS 46
|
||||
#define NUM_DIGITAL_PINS 48
|
||||
#define NUM_ANALOG_INPUTS 20
|
||||
@ -17,10 +20,10 @@ static const uint8_t RX = 44;
|
||||
static const uint8_t SDA = 8;
|
||||
static const uint8_t SCL = 9;
|
||||
|
||||
static const uint8_t SS = 34;
|
||||
static const uint8_t MOSI = 35;
|
||||
static const uint8_t MISO = 37;
|
||||
static const uint8_t SCK = 36;
|
||||
static const uint8_t SS = 10;
|
||||
static const uint8_t MOSI = 11;
|
||||
static const uint8_t MISO = 13;
|
||||
static const uint8_t SCK = 12;
|
||||
|
||||
static const uint8_t A0 = 1;
|
||||
static const uint8_t A1 = 2;
|
||||
@ -58,7 +61,4 @@ static const uint8_t T12 = 12;
|
||||
static const uint8_t T13 = 13;
|
||||
static const uint8_t T14 = 14;
|
||||
|
||||
static const uint8_t DAC1 = 17;
|
||||
static const uint8_t DAC2 = 18;
|
||||
|
||||
#endif /* Pins_Arduino_h */
|
||||
|
69
variants/esp32s3box/pins_arduino.h
Normal file
69
variants/esp32s3box/pins_arduino.h
Normal file
@ -0,0 +1,69 @@
|
||||
#ifndef Pins_Arduino_h
|
||||
#define Pins_Arduino_h
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
#define USB_VID 0x303a
|
||||
#define USB_PID 0x1001
|
||||
|
||||
#define EXTERNAL_NUM_INTERRUPTS 46
|
||||
#define NUM_DIGITAL_PINS 48
|
||||
#define NUM_ANALOG_INPUTS 20
|
||||
|
||||
#define analogInputToDigitalPin(p) (((p)<20)?(esp32_adc2gpio[(p)]):-1)
|
||||
#define digitalPinToInterrupt(p) (((p)<48)?(p):-1)
|
||||
#define digitalPinHasPWM(p) (p < 46)
|
||||
|
||||
static const uint8_t TX = 43;
|
||||
static const uint8_t RX = 44;
|
||||
|
||||
static const uint8_t SDA = 41;
|
||||
static const uint8_t SCL = 40;
|
||||
|
||||
static const uint8_t SS = 10;
|
||||
static const uint8_t MOSI = 11;
|
||||
static const uint8_t MISO = 13;
|
||||
static const uint8_t SCK = 12;
|
||||
|
||||
static const uint8_t A8 = 9;
|
||||
static const uint8_t A9 = 10;
|
||||
static const uint8_t A10 = 11;
|
||||
static const uint8_t A11 = 12;
|
||||
static const uint8_t A12 = 13;
|
||||
static const uint8_t A13 = 14;
|
||||
|
||||
static const uint8_t T9 = 9;
|
||||
static const uint8_t T10 = 10;
|
||||
static const uint8_t T11 = 11;
|
||||
static const uint8_t T12 = 12;
|
||||
static const uint8_t T13 = 13;
|
||||
static const uint8_t T14 = 14;
|
||||
|
||||
// Wire1 for ES7210 MIC ADC, ES8311 I2S DAC, ICM-42607-P IMU and TT21100 Touch Panel
|
||||
#define I2C_SDA 8
|
||||
#define I2C_SCL 18
|
||||
|
||||
#define ES7210_ADDR 0x40 //MIC ADC
|
||||
#define ES8311_ADDR 0x18 //I2S DAC
|
||||
#define ICM42607P_ADDR 0x68 //IMU
|
||||
#define TT21100_ADDR 0x24 //Touch Panel
|
||||
|
||||
#define TFT_DC 4
|
||||
#define TFT_CS 5
|
||||
#define TFT_MOSI 6
|
||||
#define TFT_CLK 7
|
||||
#define TFT_MISO 0
|
||||
#define TFT_BL 45
|
||||
#define TFT_RST 48
|
||||
|
||||
#define I2S_LRCK 47
|
||||
#define I2S_MCLK 2
|
||||
#define I2S_SCLK 17
|
||||
#define I2S_SDIN 16
|
||||
#define I2S_DOUT 15
|
||||
|
||||
#define PA_PIN 46 //Audio Amp Power
|
||||
#define MUTE_PIN 1 //MUTE Button
|
||||
#define TS_IRQ 3 //Touch Screen IRQ
|
||||
|
||||
#endif /* Pins_Arduino_h */
|
71
variants/esp32s3camlcd/pins_arduino.h
Normal file
71
variants/esp32s3camlcd/pins_arduino.h
Normal file
@ -0,0 +1,71 @@
|
||||
#ifndef Pins_Arduino_h
|
||||
#define Pins_Arduino_h
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
#define USB_VID 0x303a
|
||||
#define USB_PID 0x1001
|
||||
|
||||
#define EXTERNAL_NUM_INTERRUPTS 46
|
||||
#define NUM_DIGITAL_PINS 48
|
||||
#define NUM_ANALOG_INPUTS 20
|
||||
|
||||
#define analogInputToDigitalPin(p) (((p)<20)?(esp32_adc2gpio[(p)]):-1)
|
||||
#define digitalPinToInterrupt(p) (((p)<48)?(p):-1)
|
||||
#define digitalPinHasPWM(p) (p < 46)
|
||||
|
||||
static const uint8_t TX = 43;
|
||||
static const uint8_t RX = 44;
|
||||
|
||||
static const uint8_t SDA = 17;
|
||||
static const uint8_t SCL = 18;
|
||||
|
||||
static const uint8_t SS = 10;
|
||||
static const uint8_t MOSI = 11;
|
||||
static const uint8_t MISO = 13;
|
||||
static const uint8_t SCK = 12;
|
||||
|
||||
// Wire1 for Cam and TS
|
||||
#define I2C_SDA 17
|
||||
#define I2C_SCL 18
|
||||
|
||||
#define PWDN_GPIO_NUM -1
|
||||
#define RESET_GPIO_NUM -1
|
||||
#define XCLK_GPIO_NUM 40
|
||||
#define SIOD_GPIO_NUM 17
|
||||
#define SIOC_GPIO_NUM 18
|
||||
#define Y9_GPIO_NUM 39
|
||||
#define Y8_GPIO_NUM 41
|
||||
#define Y7_GPIO_NUM 42
|
||||
#define Y6_GPIO_NUM 12
|
||||
#define Y5_GPIO_NUM 3
|
||||
#define Y4_GPIO_NUM 14
|
||||
#define Y3_GPIO_NUM 47
|
||||
#define Y2_GPIO_NUM 13
|
||||
#define VSYNC_GPIO_NUM 21
|
||||
#define HREF_GPIO_NUM 38
|
||||
#define PCLK_GPIO_NUM 11
|
||||
|
||||
#define TFT_FREQ 40000000
|
||||
#define TFT_BITS 8
|
||||
#define TFT_WIDTH 480
|
||||
#define TFT_HEIGHT 320
|
||||
#define TFT_WR 4
|
||||
#define TFT_DC 2
|
||||
#define TFT_D0 45
|
||||
#define TFT_D1 16
|
||||
#define TFT_D2 15
|
||||
#define TFT_D3 10
|
||||
#define TFT_D4 8
|
||||
#define TFT_D5 7
|
||||
#define TFT_D6 6
|
||||
#define TFT_D7 5
|
||||
|
||||
#define SDMMC_CMD 20
|
||||
#define SDMMC_CLK 9
|
||||
#define SDMMC_DATA 19
|
||||
|
||||
#define MIC_CLK 0
|
||||
#define MIC_DATA 1
|
||||
|
||||
#endif /* Pins_Arduino_h */
|
98
variants/esp32s3usbotg/pins_arduino.h
Normal file
98
variants/esp32s3usbotg/pins_arduino.h
Normal file
@ -0,0 +1,98 @@
|
||||
#ifndef Pins_Arduino_h
|
||||
#define Pins_Arduino_h
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
#define USB_VID 0x303a
|
||||
#define USB_PID 0x1001
|
||||
|
||||
#define EXTERNAL_NUM_INTERRUPTS 46
|
||||
#define NUM_DIGITAL_PINS 48
|
||||
#define NUM_ANALOG_INPUTS 20
|
||||
|
||||
#define analogInputToDigitalPin(p) (((p)<20)?(analogChannelToDigitalPin(p)):-1)
|
||||
#define digitalPinToInterrupt(p) (((p)<48)?(p):-1)
|
||||
#define digitalPinHasPWM(p) (p < 46)
|
||||
|
||||
static const uint8_t TX = 43;
|
||||
static const uint8_t RX = 44;
|
||||
|
||||
static const uint8_t SDA = 45;
|
||||
static const uint8_t SCL = 46;
|
||||
|
||||
static const uint8_t SS = 34;
|
||||
static const uint8_t MOSI = 35;
|
||||
static const uint8_t MISO = 37;
|
||||
static const uint8_t SCK = 36;
|
||||
|
||||
static const uint8_t A0 = 1;
|
||||
static const uint8_t A1 = 2;
|
||||
static const uint8_t A2 = 3;
|
||||
|
||||
static const uint8_t T3 = 3;
|
||||
|
||||
// SDCARD Slot
|
||||
#define BOARD_HAS_SDMMC
|
||||
#define SDMMC_D2 33 // SDMMC Data2
|
||||
#define SDMMC_D3 34 // SDMMC Data3 / SPI CS
|
||||
#define SDMMC_CMD 35 // SDMMC CMD / SPI MOSI
|
||||
#define SDMMC_CLK 36 // SDMMC CLK / SPI SCK
|
||||
#define SDMMC_D0 37 // SDMMC Data0 / SPI MISO
|
||||
#define SDMMC_D1 38 // SDMMC Data1
|
||||
#define BOARD_MAX_SDMMC_FREQ SDMMC_FREQ_DEFAULT
|
||||
|
||||
// 240x240 LCD
|
||||
#define BOARD_HAS_SPI_LCD
|
||||
#define LCD_MODEL ST7789
|
||||
#define LCD_WIDTH 240
|
||||
#define LCD_HEIGHT 240 // *RAM height is actually 320!
|
||||
#define LCD_MISO -1 // LCD Does not use MISO.
|
||||
#define LCD_DC 4 // Used to switch data and command status.
|
||||
#define LCD_CS 5 // used to enable LCD, low level to enable.
|
||||
#define LCD_CLK 6 // LCD SPI Clock.
|
||||
#define LCD_MOSI 7 // LCD SPI MOSI.
|
||||
#define LCD_RST 8 // used to reset LCD, low level to reset.
|
||||
#define LCD_BL 9 // LCD backlight control.
|
||||
|
||||
// Buttons
|
||||
#define BUTTON_OK 0 // OK button, low level when pressed.
|
||||
#define BUTTON_UP 10 // UP button, low level when pressed.
|
||||
#define BUTTON_DOWN 11 // Down button, low level when pressed.
|
||||
#define BUTTON_MENU 14 // Menu button, low level when pressed.
|
||||
|
||||
// LEDs
|
||||
#define LED_GREEN 15 // the light is lit when set high level.
|
||||
#define LED_YELLOW 16 // the light is lit when set high level.
|
||||
|
||||
// Board Controls
|
||||
#define DEV_VBUS_EN 12 // High level to enable DEV_VBUS power supply.
|
||||
#define BOOST_EN 13 // High level to enable Battery Boost circuit.
|
||||
#define LIMIT_EN 17 // Enable USB_HOST current limiting IC, high level enable.
|
||||
#define USB_HOST_EN 18 // Used to switch the USB interface. When high level, the USB_HOST interface is enabled. When low level, the USB_DEV interface is enabled.
|
||||
|
||||
// Board Sensors
|
||||
#define OVER_CURRENT 21 // Current overrun signal, high level means overrun.
|
||||
#define HOST_VOLTS 1 // USB_DEV voltage monitoring, ADC1 channel 0. actual_v = value_v * 3.7
|
||||
#define BAT_VOLTS 2 // Battery voltage monitoring, ADC1 channel 1. actual_v = value_v * 2
|
||||
|
||||
// USB Port
|
||||
#define USB_DN 19 // USB D-
|
||||
#define USB_DP 20 // USB D+
|
||||
|
||||
// Bottom header
|
||||
#define MTCK 39
|
||||
#define MTDO 40
|
||||
#define MTDI 41
|
||||
#define MTMS 42
|
||||
// #define FREE_6 3 // Idle, can be customized.
|
||||
// #define FREE_4 26 // Idle, can be customized.
|
||||
// #define FREE_1 45 // Idle, can be customized.
|
||||
// #define FREE_2 46 // Idle, can be customized.
|
||||
// #define FREE_5 47 // Idle, can be customized.
|
||||
// #define FREE_3 48 // Idle, can be customized.
|
||||
|
||||
typedef enum { USB_HOST_POWER_OFF, USB_HOST_POWER_VBUS, USB_HOST_POWER_BAT } UsbHostPower_t;
|
||||
void usbHostPower(UsbHostPower_t mode);
|
||||
void usbHostEnable(bool enable);
|
||||
|
||||
#endif /* Pins_Arduino_h */
|
46
variants/esp32s3usbotg/variant.cpp
Normal file
46
variants/esp32s3usbotg/variant.cpp
Normal file
@ -0,0 +1,46 @@
|
||||
#include "Arduino.h"
|
||||
|
||||
void usbHostPower(UsbHostPower_t mode){
|
||||
static UsbHostPower_t m = USB_HOST_POWER_OFF;
|
||||
if(m == mode){
|
||||
return;
|
||||
}
|
||||
if(mode == USB_HOST_POWER_OFF){
|
||||
digitalWrite(LIMIT_EN, LOW);
|
||||
if(m == USB_HOST_POWER_VBUS){
|
||||
digitalWrite(DEV_VBUS_EN, LOW);
|
||||
} else if(m == USB_HOST_POWER_BAT){
|
||||
digitalWrite(BOOST_EN, LOW);
|
||||
}
|
||||
} else if(mode == USB_HOST_POWER_VBUS){
|
||||
if(m == USB_HOST_POWER_BAT){
|
||||
digitalWrite(BOOST_EN, LOW);
|
||||
}
|
||||
digitalWrite(DEV_VBUS_EN, HIGH);
|
||||
} else if(mode == USB_HOST_POWER_BAT){
|
||||
if(m == USB_HOST_POWER_VBUS){
|
||||
digitalWrite(DEV_VBUS_EN, LOW);
|
||||
}
|
||||
digitalWrite(BOOST_EN, HIGH);
|
||||
}
|
||||
if(mode != USB_HOST_POWER_OFF){
|
||||
digitalWrite(LIMIT_EN, HIGH);
|
||||
}
|
||||
m = mode;
|
||||
}
|
||||
|
||||
void usbHostEnable(bool enable){
|
||||
digitalWrite(USB_HOST_EN, enable);
|
||||
}
|
||||
|
||||
extern "C" void initVariant(void){
|
||||
// Route USB to Device Side
|
||||
pinMode(BOOST_EN, OUTPUT); digitalWrite(BOOST_EN, LOW);
|
||||
pinMode(LIMIT_EN, OUTPUT); digitalWrite(LIMIT_EN, LOW);
|
||||
pinMode(DEV_VBUS_EN, OUTPUT); digitalWrite(DEV_VBUS_EN, LOW);
|
||||
pinMode(USB_HOST_EN, OUTPUT); digitalWrite(USB_HOST_EN, LOW);
|
||||
|
||||
// Turn Off LCD
|
||||
pinMode(LCD_RST, OUTPUT); digitalWrite(LCD_RST, LOW);
|
||||
pinMode(LCD_BL, OUTPUT); digitalWrite(LCD_BL, LOW);
|
||||
}
|
68
variants/um_feathers3/pins_arduino.h
Normal file
68
variants/um_feathers3/pins_arduino.h
Normal file
@ -0,0 +1,68 @@
|
||||
#ifndef Pins_Arduino_h
|
||||
#define Pins_Arduino_h
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
#define USB_VID 0x303A
|
||||
#define USB_PID 0x80D6
|
||||
#define USB_MANUFACTURER "Unexpected Maker"
|
||||
#define USB_PRODUCT "FeatherS3"
|
||||
#define USB_SERIAL ""
|
||||
|
||||
#define EXTERNAL_NUM_INTERRUPTS 46
|
||||
#define NUM_DIGITAL_PINS 21
|
||||
#define NUM_ANALOG_INPUTS 13
|
||||
|
||||
#define analogInputToDigitalPin(p) (((p)<20)?(esp32_adc2gpio[(p)]):-1)
|
||||
#define digitalPinToInterrupt(p) (((p)<48)?(p):-1)
|
||||
#define digitalPinHasPWM(p) (p < 46)
|
||||
|
||||
static const uint8_t TX = 43;
|
||||
static const uint8_t RX = 44;
|
||||
|
||||
static const uint8_t SDA = 8;
|
||||
static const uint8_t SCL = 9;
|
||||
|
||||
static const uint8_t SS = 5;
|
||||
static const uint8_t MOSI = 35;
|
||||
static const uint8_t MISO = 37;
|
||||
static const uint8_t SDO = 35;
|
||||
static const uint8_t SDI = 37;
|
||||
static const uint8_t SCK = 36;
|
||||
|
||||
static const uint8_t A0 = 1;
|
||||
static const uint8_t A1 = 2;
|
||||
static const uint8_t A2 = 3;
|
||||
static const uint8_t A3 = 4;
|
||||
static const uint8_t A4 = 5;
|
||||
static const uint8_t A5 = 6;
|
||||
static const uint8_t A6 = 7;
|
||||
static const uint8_t A7 = 8;
|
||||
static const uint8_t A8 = 9;
|
||||
static const uint8_t A9 = 10;
|
||||
static const uint8_t A10 = 11;
|
||||
static const uint8_t A11 = 12;
|
||||
static const uint8_t A12 = 13;
|
||||
|
||||
static const uint8_t T1 = 1;
|
||||
static const uint8_t T3 = 3;
|
||||
static const uint8_t T5 = 5;
|
||||
static const uint8_t T6 = 6;
|
||||
static const uint8_t T7 = 7;
|
||||
static const uint8_t T8 = 8;
|
||||
static const uint8_t T9 = 9;
|
||||
static const uint8_t T10 = 10;
|
||||
static const uint8_t T11 = 11;
|
||||
static const uint8_t T12 = 12;
|
||||
static const uint8_t T14 = 14;
|
||||
|
||||
static const uint8_t VBAT_SENSE = 2;
|
||||
static const uint8_t VBUS_SENSE = 34;
|
||||
|
||||
static const uint8_t RGB_DATA = 40;
|
||||
static const uint8_t RGB_PWR = 39;
|
||||
static const uint8_t LDO2 = 39;
|
||||
static const uint8_t LED_BUILTIN = 13;
|
||||
static const uint8_t LED = 13;
|
||||
|
||||
#endif /* Pins_Arduino_h */
|
68
variants/um_pros3/pins_arduino.h
Normal file
68
variants/um_pros3/pins_arduino.h
Normal file
@ -0,0 +1,68 @@
|
||||
#ifndef Pins_Arduino_h
|
||||
#define Pins_Arduino_h
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
#define USB_VID 0x303A
|
||||
#define USB_PID 0x80D3
|
||||
#define USB_MANUFACTURER "Unexpected Maker"
|
||||
#define USB_PRODUCT "ProS3"
|
||||
#define USB_SERIAL ""
|
||||
|
||||
#define EXTERNAL_NUM_INTERRUPTS 46
|
||||
#define NUM_DIGITAL_PINS 27
|
||||
#define NUM_ANALOG_INPUTS 14
|
||||
|
||||
#define analogInputToDigitalPin(p) (((p)<20)?(esp32_adc2gpio[(p)]):-1)
|
||||
#define digitalPinToInterrupt(p) (((p)<48)?(p):-1)
|
||||
#define digitalPinHasPWM(p) (p < 46)
|
||||
|
||||
static const uint8_t TX = 43;
|
||||
static const uint8_t RX = 44;
|
||||
|
||||
static const uint8_t SDA = 8;
|
||||
static const uint8_t SCL = 9;
|
||||
|
||||
static const uint8_t SS = 34;
|
||||
static const uint8_t MOSI = 35;
|
||||
static const uint8_t MISO = 37;
|
||||
static const uint8_t SDO = 35;
|
||||
static const uint8_t SDI = 37;
|
||||
static const uint8_t SCK = 36;
|
||||
|
||||
static const uint8_t A0 = 1;
|
||||
static const uint8_t A1 = 2;
|
||||
static const uint8_t A2 = 3;
|
||||
static const uint8_t A3 = 4;
|
||||
static const uint8_t A4 = 5;
|
||||
static const uint8_t A5 = 6;
|
||||
static const uint8_t A6 = 7;
|
||||
static const uint8_t A7 = 8;
|
||||
static const uint8_t A8 = 9;
|
||||
static const uint8_t A11 = 12;
|
||||
static const uint8_t A12 = 13;
|
||||
static const uint8_t A13 = 14;
|
||||
static const uint8_t A14 = 15;
|
||||
static const uint8_t A15 = 16;
|
||||
|
||||
static const uint8_t T1 = 1;
|
||||
static const uint8_t T2 = 2;
|
||||
static const uint8_t T3 = 3;
|
||||
static const uint8_t T4 = 4;
|
||||
static const uint8_t T5 = 5;
|
||||
static const uint8_t T6 = 6;
|
||||
static const uint8_t T7 = 7;
|
||||
static const uint8_t T8 = 8;
|
||||
static const uint8_t T9 = 9;
|
||||
static const uint8_t T12 = 12;
|
||||
static const uint8_t T13 = 13;
|
||||
static const uint8_t T14 = 14;
|
||||
|
||||
static const uint8_t VBAT_SENSE = 10;
|
||||
static const uint8_t VBUS_SENSE = 33;
|
||||
|
||||
static const uint8_t RGB_DATA = 18;
|
||||
static const uint8_t RGB_PWR = 17;
|
||||
static const uint8_t LDO2 = 17;
|
||||
|
||||
#endif /* Pins_Arduino_h */
|
59
variants/um_tinys3/pins_arduino.h
Normal file
59
variants/um_tinys3/pins_arduino.h
Normal file
@ -0,0 +1,59 @@
|
||||
#ifndef Pins_Arduino_h
|
||||
#define Pins_Arduino_h
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
#define USB_VID 0x303A
|
||||
#define USB_PID 0x80D0
|
||||
#define USB_MANUFACTURER "Unexpected Maker"
|
||||
#define USB_PRODUCT "TinyS3"
|
||||
#define USB_SERIAL ""
|
||||
|
||||
#define EXTERNAL_NUM_INTERRUPTS 46
|
||||
#define NUM_DIGITAL_PINS 17
|
||||
#define NUM_ANALOG_INPUTS 9
|
||||
|
||||
#define analogInputToDigitalPin(p) (((p)<20)?(esp32_adc2gpio[(p)]):-1)
|
||||
#define digitalPinToInterrupt(p) (((p)<48)?(p):-1)
|
||||
#define digitalPinHasPWM(p) (p < 46)
|
||||
|
||||
static const uint8_t TX = 43;
|
||||
static const uint8_t RX = 44;
|
||||
|
||||
static const uint8_t SDA = 8;
|
||||
static const uint8_t SCL = 9;
|
||||
|
||||
static const uint8_t SS = 34;
|
||||
static const uint8_t MOSI = 35;
|
||||
static const uint8_t MISO = 37;
|
||||
static const uint8_t SDO = 35;
|
||||
static const uint8_t SDI = 37;
|
||||
static const uint8_t SCK = 36;
|
||||
|
||||
static const uint8_t A0 = 1;
|
||||
static const uint8_t A1 = 2;
|
||||
static const uint8_t A2 = 3;
|
||||
static const uint8_t A3 = 4;
|
||||
static const uint8_t A4 = 5;
|
||||
static const uint8_t A5 = 6;
|
||||
static const uint8_t A6 = 7;
|
||||
static const uint8_t A7 = 8;
|
||||
static const uint8_t A8 = 9;
|
||||
|
||||
static const uint8_t T1 = 1;
|
||||
static const uint8_t T2 = 2;
|
||||
static const uint8_t T3 = 3;
|
||||
static const uint8_t T4 = 4;
|
||||
static const uint8_t T5 = 5;
|
||||
static const uint8_t T6 = 6;
|
||||
static const uint8_t T7 = 7;
|
||||
static const uint8_t T8 = 8;
|
||||
static const uint8_t T9 = 9;
|
||||
|
||||
static const uint8_t VBAT_SENSE = 10;
|
||||
static const uint8_t VBUS_SENSE = 33;
|
||||
|
||||
static const uint8_t RGB_DATA = 18;
|
||||
static const uint8_t RGB_PWR = 17;
|
||||
|
||||
#endif /* Pins_Arduino_h */
|
Reference in New Issue
Block a user