diff --git a/boards.txt b/boards.txt index 2346810518d..b3cbffc93e2 100644 --- a/boards.txt +++ b/boards.txt @@ -120,3 +120,43 @@ nano32.menu.UploadSpeed.460800.macosx=460800 nano32.menu.UploadSpeed.460800.upload.speed=460800 nano32.menu.UploadSpeed.512000.windows=512000 nano32.menu.UploadSpeed.512000.upload.speed=512000 + +############################################################## +lolin32.name=WEMOS LoLin32 + +lolin32.upload.tool=esptool +lolin32.upload.maximum_size=1044464 +lolin32.upload.maximum_data_size=294912 +lolin32.upload.wait_for_upload_port=true + +lolin32.serial.disableDTR=true +lolin32.serial.disableRTS=true + +lolin32.build.mcu=esp32 +lolin32.build.core=esp32 +lolin32.build.variant=lolin32 +lolin32.build.board=LoLin32 + +lolin32.build.f_cpu=160000000L +lolin32.build.flash_mode=dio +lolin32.build.flash_size=4MB + +lolin32.menu.FlashFreq.80=80MHz +lolin32.menu.FlashFreq.80.build.flash_freq=80m +lolin32.menu.FlashFreq.40=40MHz +lolin32.menu.FlashFreq.40.build.flash_freq=40m + +lolin32.menu.UploadSpeed.921600=921600 +lolin32.menu.UploadSpeed.921600.upload.speed=921600 +lolin32.menu.UploadSpeed.115200=115200 +lolin32.menu.UploadSpeed.115200.upload.speed=115200 +lolin32.menu.UploadSpeed.256000.windows=256000 +lolin32.menu.UploadSpeed.256000.upload.speed=256000 +lolin32.menu.UploadSpeed.230400.windows.upload.speed=256000 +lolin32.menu.UploadSpeed.230400=230400 +lolin32.menu.UploadSpeed.230400.upload.speed=230400 +lolin32.menu.UploadSpeed.460800.linux=460800 +lolin32.menu.UploadSpeed.460800.macosx=460800 +lolin32.menu.UploadSpeed.460800.upload.speed=460800 +lolin32.menu.UploadSpeed.512000.windows=512000 +lolin32.menu.UploadSpeed.512000.upload.speed=512000 \ No newline at end of file diff --git a/package/package_esp32_index.template.json b/package/package_esp32_index.template.json index bc9f4057b71..afc7c6bdb0a 100644 --- a/package/package_esp32_index.template.json +++ b/package/package_esp32_index.template.json @@ -24,6 +24,9 @@ "boards": [ { "name": "ESP32 Dev Module" + }, + { + "name": "WEMOS LoLin32" } ], "toolsDependencies": [ diff --git a/tools/esptool.py b/tools/esptool.py index 755f4cb8428..087345732a3 100755 --- a/tools/esptool.py +++ b/tools/esptool.py @@ -271,13 +271,14 @@ def connect(self): # issue reset-to-bootloader: # RTS = either CH_PD or nRESET (both active low = chip in reset) # DTR = GPIO0 (active low = boot to flasher) - self._port.setDTR(False) - self._port.setRTS(True) - time.sleep(0.05) - self._port.setDTR(True) - self._port.setRTS(False) + + self._port.setDTR(False) # GPIO0 -> 1 + self._port.setRTS(True) # RST -> 0 + self._port.setDTR(True) # GPIO0 -> 0 time.sleep(0.05) - self._port.setDTR(False) + self._port.setRTS(False) # RST -> 1 + time.sleep(0.1) + self._port.timeout = 0.1 last_exception = None diff --git a/variants/lolin32/pins_arduino.h b/variants/lolin32/pins_arduino.h new file mode 100644 index 00000000000..bca43a64dd4 --- /dev/null +++ b/variants/lolin32/pins_arduino.h @@ -0,0 +1,23 @@ +#ifndef Pins_Arduino_h +#define Pins_Arduino_h + +#define EXTERNAL_NUM_INTERRUPTS 16 +#define NUM_DIGITAL_PINS 40 +#define NUM_ANALOG_INPUTS 18 + +#define analogInputToDigitalPin(p) +#define digitalPinToInterrupt(p) (((p)<40)?(p):-1) +#define digitalPinHasPWM(p) (p < 34) + +#define LED_BUILTIN 2 +#define KEY_BUILTIN 0 + +static const uint8_t SDA = 21; +static const uint8_t SCL = 22; + +static const uint8_t SS = 2; +static const uint8_t MOSI = 23; +static const uint8_t MISO = 19; +static const uint8_t SCK = 18; + +#endif /* Pins_Arduino_h */ \ No newline at end of file