mirror of
https://github.com/0xFEEDC0DE64/arduino-esp32.git
synced 2025-07-29 02:07: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:
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);
|
||||
}
|
Reference in New Issue
Block a user