From 512b98b59c7460600cedab344f4acd35f2b5ac38 Mon Sep 17 00:00:00 2001 From: wemos Date: Fri, 21 Apr 2017 13:26:49 +0800 Subject: [PATCH 1/3] Add ESP.getChipId() function to get ESP32's ChipID. --- 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); + +} From 80e612d84d7af48c7617294897d8d4c0973f9af8 Mon Sep 17 00:00:00 2001 From: wemos Date: Tue, 2 May 2017 10:45:42 +0800 Subject: [PATCH 2/3] change getChipId() to getEfuseMac() --- cores/esp32/Esp.cpp | 8 ++++---- cores/esp32/Esp.h | 2 +- libraries/ESP32/examples/ChipID/GetChipID/GetChipID.ino | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/cores/esp32/Esp.cpp b/cores/esp32/Esp.cpp index ade82e4c30b..59211445d78 100644 --- a/cores/esp32/Esp.cpp +++ b/cores/esp32/Esp.cpp @@ -214,9 +214,9 @@ bool EspClass::flashRead(uint32_t offset, uint32_t *data, size_t size) } -uint64_t EspClass::getChipId(void) +uint64_t EspClass::getEfuseMac(void) { - uint64_t _chipid; - esp_efuse_read_mac((uint8_t*) (&_chipid)); - return _chipid; + uint64_t _chipmacid; + esp_efuse_read_mac((uint8_t*) (&_chipmacid)); + return _chipmacid; } diff --git a/cores/esp32/Esp.h b/cores/esp32/Esp.h index 34c71ec1b5e..80e995a6e16 100644 --- a/cores/esp32/Esp.h +++ b/cores/esp32/Esp.h @@ -76,7 +76,7 @@ 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(); + uint64_t getEfuseMac(); }; diff --git a/libraries/ESP32/examples/ChipID/GetChipID/GetChipID.ino b/libraries/ESP32/examples/ChipID/GetChipID/GetChipID.ino index d38d59ba4bd..de8a7386b93 100644 --- a/libraries/ESP32/examples/ChipID/GetChipID/GetChipID.ino +++ b/libraries/ESP32/examples/ChipID/GetChipID/GetChipID.ino @@ -5,7 +5,7 @@ void setup() { } void loop() { - chipid=ESP.getChipId();//The chip ID is essentially its MAC address(length: 6 bytes). + chipid=ESP.getEfuseMac();//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. From 2c0bfdbd9db9153c3919288527b16e1940fcc9db Mon Sep 17 00:00:00 2001 From: wemos Date: Mon, 8 May 2017 17:21:35 +0800 Subject: [PATCH 3/3] * Change board:Lolin32 to LOLIN32 * Update LED_BUILTIN pin for LOLIN32 --- boards.txt | 4 ++-- variants/lolin32/pins_arduino.h | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/boards.txt b/boards.txt index 9011cb1374a..e36294eaf0b 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..274f5d231dc 100644 --- a/variants/lolin32/pins_arduino.h +++ b/variants/lolin32/pins_arduino.h @@ -11,10 +11,10 @@ #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; + static const uint8_t TX = 1; static const uint8_t RX = 3;