-
Notifications
You must be signed in to change notification settings - Fork 7.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ESP.getChipModel() returns incorrect chip name: "ESP32-D0WD" instead of "ESP32-D0WD-V3" #10238
Comments
I would not call this wrong per se. V3 has the meaning of ECO chip version and D0WD is a designation for chip features. You can also query the chip version separately and find that out. And I will not call it V3 migration issue, because we just added it to V3. It was not in V2 before. We can accept PR to change the print if it's really bugging you, but again, I do not consider that being wrong as it is now. |
@me-no-dev Thanks for your speedy response. I would be was out of my depth in a discussion on the semantics and abbreviations involved in the Espressif product codes, but I do find this output misleading because it doesn't correspond to the ESP32 nomenclature in the (attached) ESP32 datasheet. |
@mscott370 can you try the changes from this PR: #10243 |
@me-no-dev i just applied the two line changes manually to my local copy of ESP.cpp and am happy to confirm that it now works a treat! |
Awesome. We will close the issue when the changes are merged |
OK. Cheers!
From: Me No Dev ***@***.***>
Sent: Monday, August 26, 2024 12:53 PM
To: espressif/arduino-esp32 ***@***.***>
Cc: mscott370 ***@***.***>; Mention ***@***.***>
Subject: Re: [espressif/arduino-esp32] ESP.getChipModel() returns incorrect chip name: "ESP32-D0WD" instead of "ESP32-D0WD-V3" (Issue #10238)
Awesome. We will close the issue when the changes are merged
—
Reply to this email directly, view it on GitHub <#10238 (comment)> , or unsubscribe <https://github.com/notifications/unsubscribe-auth/AN3L2HIYETZYZ62DUUYUOL3ZTMCJPAVCNFSM6AAAAABNCM7IDSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGMBZHEZDCMBUGM> .
You are receiving this because you were mentioned. <https://github.com/notifications/beacon/AN3L2HM5PVAF6V5GQBS3LK3ZTMCJPA5CNFSM6AAAAABNCM7IDSWGG33NNVSW45C7OR4XAZNMJFZXG5LFINXW23LFNZ2KUY3PNVWWK3TUL5UWJTUJV2MRG.gif> Message ID: ***@***.*** ***@***.***> >
|
Board
ESP32-DEVKITC-VIE
Device Description
ESP32 WROVER-IE chip on DevKitC V4 board.
Hardware Configuration
No, only serial USB connection to Arduino IDE host.
Version
v3.0.4
IDE Name
Arduino IDE v2.3.2
Operating System
Both on Windows 11 and on Ubuntu Linux 24.04
Flash frequency
80Mhz
PSRAM enabled
yes
Upload speed
115200
Description
When uploading code to ESP32, ESPtool.py identifies the chip model correctly as ESP32-D0WD-V3, but ESP.getChipModel() returns a value of "ESP32-D0WD" which indicates chip model V1 not V3.
This error seems to be caused by the following code in ESP.cpp
270 case EFUSE_RD_CHIP_VER_PKG_ESP32D0WDQ5:
271 if (getChipRevision() == 3) {
272 return "ESP32-D0WD-V3";
273 } else {
274 return "ESP32-D0WD";
275 }
The above code was valid in IDF V4.4 when the value returned by getChipRevision() was simply the major wafer revision number (3) (uint8_t). This value was changed in IDF v5 to uint16_t, consisting of [major version]*100 + [minor version]. In my case, the value returned is 303, so as 303 is not == 3, we fall through into the else clause and return Chip Model = "ESP32-D0WD".
A quick+dirty change of the if-statement to "if (getChipRevision() /100 == 3) {" produces the correct result, so it looks like this is an IDF v5 / Arduino-ESP32 V3 migration issue.
Sketch
Debug Message
Other Steps to Reproduce
No
I have checked existing issues, online documentation and the Troubleshooting Guide
The text was updated successfully, but these errors were encountered: