Skip to content

Commit a60eda2

Browse files
authored
Merge pull request #54 from Nicolai-Electronics/renze/update-device-information
Update device information to new EFUSE format
2 parents 377ee32 + aa08624 commit a60eda2

1 file changed

Lines changed: 18 additions & 0 deletions

File tree

main/device_information.c

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
#include "esp_efuse.h"
55
#include "esp_efuse_custom_table.h"
66
#include "esp_efuse_table.h"
7+
#include "esp_idf_version.h"
78

89
esp_err_t read_device_identity(device_identity_t* out_identity) {
910
esp_err_t res;
@@ -55,10 +56,27 @@ esp_err_t read_device_identity(device_identity_t* out_identity) {
5556
return res;
5657
}
5758

59+
#if ESP_IDF_VERSION_MAJOR >= 5 && ESP_IDF_VERSION_MINOR >= 5
60+
res = esp_efuse_read_field_blob(ESP_EFUSE_WAFER_VERSION_MAJOR_LO, &out_identity->waver_rev_major, 2);
61+
if (res != ESP_OK) {
62+
return res;
63+
}
64+
65+
uint8_t version_major_hi = 0;
66+
67+
res = esp_efuse_read_field_blob(ESP_EFUSE_WAFER_VERSION_MAJOR_HI, &version_major_hi, 1);
68+
if (res != ESP_OK) {
69+
return res;
70+
}
71+
72+
out_identity->waver_rev_major |= (version_major_hi << 2);
73+
#else
74+
// Fallback for ESP-IDF version 5.4 and earlier
5875
res = esp_efuse_read_field_blob(ESP_EFUSE_WAFER_VERSION_MAJOR, &out_identity->waver_rev_major, 2);
5976
if (res != ESP_OK) {
6077
return res;
6178
}
79+
#endif
6280

6381
res = esp_efuse_read_field_blob(ESP_EFUSE_WAFER_VERSION_MINOR, &out_identity->waver_rev_minor, 4);
6482
if (res != ESP_OK) {

0 commit comments

Comments
 (0)