From 46423c86972b999bdb9a81ea9fe6e1ba85851d5d Mon Sep 17 00:00:00 2001 From: wemos Date: Thu, 3 Nov 2016 15:25:30 +0800 Subject: [PATCH 1/5] Add "WEMOS LoLon32" boards support. --- boards.txt | 40 +++++++++++++++++++++++ package/package_esp32_index.template.json | 3 ++ variants/lolin32/pins_arduino.h | 23 +++++++++++++ 3 files changed, 66 insertions(+) create mode 100644 variants/lolin32/pins_arduino.h 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/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 From aa3733e772b848dbd2f79ed669b8f9366b2e0fdf Mon Sep 17 00:00:00 2001 From: wemos Date: Tue, 8 Nov 2016 16:53:15 +0800 Subject: [PATCH 2/5] change LoLin32's SS to GPIO5 --- variants/lolin32/pins_arduino.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/variants/lolin32/pins_arduino.h b/variants/lolin32/pins_arduino.h index bca43a64dd4..a266ca86fde 100644 --- a/variants/lolin32/pins_arduino.h +++ b/variants/lolin32/pins_arduino.h @@ -15,7 +15,7 @@ static const uint8_t SDA = 21; static const uint8_t SCL = 22; -static const uint8_t SS = 2; +static const uint8_t SS = 5; static const uint8_t MOSI = 23; static const uint8_t MISO = 19; static const uint8_t SCK = 18; From 89aa576f6412a32f1bcfb0be11bc042c6b8633f2 Mon Sep 17 00:00:00 2001 From: wemos Date: Fri, 18 Nov 2016 16:53:44 +0800 Subject: [PATCH 3/5] fix --- boards.txt | 4 ---- 1 file changed, 4 deletions(-) diff --git a/boards.txt b/boards.txt index bd297d8e928..86cfcb9e408 100644 --- a/boards.txt +++ b/boards.txt @@ -159,9 +159,6 @@ 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 -<<<<<<< HEAD -lolin32.menu.UploadSpeed.512000.upload.speed=512000 -======= lolin32.menu.UploadSpeed.512000.upload.speed=512000 ############################################################## @@ -243,4 +240,3 @@ quantum.menu.UploadSpeed.460800.macosx=460800 quantum.menu.UploadSpeed.460800.upload.speed=460800 quantum.menu.UploadSpeed.512000.windows=512000 quantum.menu.UploadSpeed.512000.upload.speed=512000 ->>>>>>> remotes/upstream/master From 7920f769770bfae23891e89df028c7402fdee014 Mon Sep 17 00:00:00 2001 From: wemos Date: Tue, 11 Apr 2017 11:51:02 +0800 Subject: [PATCH 4/5] Change board's name to "LOLIN32" Change BUILTIN_LED to GPIO5 --- boards.txt | 4 ++-- variants/lolin32/pins_arduino.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/boards.txt b/boards.txt index d3e12857940..9e996bc1c67 100644 --- a/boards.txt +++ b/boards.txt @@ -181,7 +181,7 @@ nano32.menu.UploadSpeed.512000.upload.speed=512000 ############################################################## -lolin32.name=WEMOS LoLin32 +lolin32.name=WEMOS LOLIN32 lolin32.upload.tool=esptool lolin32.upload.maximum_size=1044464 @@ -194,7 +194,7 @@ lolin32.serial.disableRTS=true lolin32.build.mcu=esp32 lolin32.build.core=esp32 lolin32.build.variant=lolin32 -lolin32.build.board=LoLin32 +lolin32.build.board=LOLIN32 lolin32.build.f_cpu=240000000L lolin32.build.flash_mode=dio diff --git a/variants/lolin32/pins_arduino.h b/variants/lolin32/pins_arduino.h index 3bb26f1e94c..5e729356340 100644 --- a/variants/lolin32/pins_arduino.h +++ b/variants/lolin32/pins_arduino.h @@ -11,7 +11,7 @@ #define digitalPinToInterrupt(p) (((p)<40)?(p):-1) #define digitalPinHasPWM(p) (p < 34) -static const uint8_t LED_BUILTIN = 2; +static const uint8_t LED_BUILTIN = 5; #define BUILTIN_LED LED_BUILTIN // backward compatibility static const uint8_t KEY_BUILTIN = 0; From 2095b2945aab449e89390b465c94c1a169bd5168 Mon Sep 17 00:00:00 2001 From: wemos Date: Fri, 21 Apr 2017 12:29:44 +0800 Subject: [PATCH 5/5] Add ESP.getChipId() function to get ESP32's ChipID like ESP8266. --- cores/esp32/Esp.cpp | 8 ++++++++ cores/esp32/Esp.h | 2 ++ .../ESP32/examples/ChipID/GetChipID/GetChipID.ino | 14 ++++++++++++++ 3 files changed, 24 insertions(+) create mode 100644 libraries/ESP32/examples/ChipID/GetChipID/GetChipID.ino diff --git a/cores/esp32/Esp.cpp b/cores/esp32/Esp.cpp index e80a5e92272..ade82e4c30b 100644 --- a/cores/esp32/Esp.cpp +++ b/cores/esp32/Esp.cpp @@ -212,3 +212,11 @@ bool EspClass::flashRead(uint32_t offset, uint32_t *data, size_t size) { return spi_flash_read(offset, (uint32_t*) data, size) == ESP_OK; } + + +uint64_t EspClass::getChipId(void) +{ + uint64_t _chipid; + esp_efuse_read_mac((uint8_t*) (&_chipid)); + return _chipid; +} diff --git a/cores/esp32/Esp.h b/cores/esp32/Esp.h index 2af27de9cf7..34c71ec1b5e 100644 --- a/cores/esp32/Esp.h +++ b/cores/esp32/Esp.h @@ -76,6 +76,8 @@ class EspClass bool flashWrite(uint32_t offset, uint32_t *data, size_t size); bool flashRead(uint32_t offset, uint32_t *data, size_t size); + uint64_t getChipId(); + }; extern EspClass ESP; diff --git a/libraries/ESP32/examples/ChipID/GetChipID/GetChipID.ino b/libraries/ESP32/examples/ChipID/GetChipID/GetChipID.ino new file mode 100644 index 00000000000..d38d59ba4bd --- /dev/null +++ b/libraries/ESP32/examples/ChipID/GetChipID/GetChipID.ino @@ -0,0 +1,14 @@ +uint64_t chipid; + +void setup() { + Serial.begin(115200); +} + +void loop() { + chipid=ESP.getChipId();//The chip ID is essentially its MAC address(length: 6 bytes). + Serial.printf("ESP32 Chip ID = %04X",(uint16_t)(chipid>>32));//print High 2 bytes + Serial.printf("%08X\n",(uint32_t)chipid);//print Low 4bytes. + + delay(3000); + +}