From 05b5c1fcf5a686483a20f5b22da3a15f7f2b7764 Mon Sep 17 00:00:00 2001 From: fvanroie Date: Wed, 25 Mar 2020 11:01:33 +0100 Subject: [PATCH] Add halGetChipModel --- src/hasp_hal.cpp | 39 +++++++++++++++++++++++++++++++++++++++ src/hasp_hal.h | 1 + 2 files changed, 40 insertions(+) diff --git a/src/hasp_hal.cpp b/src/hasp_hal.cpp index 51725aa6..f392bffe 100644 --- a/src/hasp_hal.cpp +++ b/src/hasp_hal.cpp @@ -1,6 +1,10 @@ #include #include "hasp_hal.h" +#if ESP32 +#include "esp_system.h" +#endif + #if defined(ARDUINO_ARCH_ESP32) #include // needed to get the ResetInfo @@ -114,4 +118,39 @@ String halGetCoreVersion() #else return String(ESP.getCoreVersion()); #endif +} + +String halGetChipModel() +{ + String model((char *)0); + model.reserve(128); + +#if ESP8266 + model += F("ESP8266"); +#endif + +#if ESP32 + esp_chip_info_t chip_info; + esp_chip_info(&chip_info); + + model = chip_info.cores; + model += F("core "); + switch(chip_info.model) { + case CHIP_ESP32: + model += F("ESP32"); + break; +#ifndef CHIP_ESP32S2 +#define CHIP_ESP32S2 2 +#endif + case CHIP_ESP32S2: + model += F("ESP32-S2"); + break; + default: + model = F("Unknown ESP"); + } + model += F(" rev"); + model += chip_info.revision; +#endif // ESP32 + + return model; } \ No newline at end of file diff --git a/src/hasp_hal.h b/src/hasp_hal.h index 16fdfd8f..6731218f 100644 --- a/src/hasp_hal.h +++ b/src/hasp_hal.h @@ -7,5 +7,6 @@ uint8_t halGetHeapFragmentation(void); String halGetResetInfo(void); size_t halGetMaxFreeBlock(void); String halGetCoreVersion(void); +String halGetChipModel(); #endif \ No newline at end of file