Chat here about code rewrites, mods, etc... with respect to the github project https://github.com/esp8266/Arduino

Moderator: igrr

User avatar
By matkar
#20129 I'm getting to know the Arduino IDE and I'm having the same issue.

I set additional board manager URL to: http://arduino.esp8266.com/package_esp8 ... index.json
I have Esp.h file in C:\Documents and Settings\Owner\Application Data\Arduino15\packages\esp8266\hardware\esp8266\1.6.4-673-g8cd3697\cores\esp8266
The verbose output when build fails is:
Code: Select allArduino: 1.6.4 (Windows XP), Board: "Generic ESP8266 Module, 80 MHz, 115200, 512K (64K SPIFFS)"

In file included from sketch_jun11a.ino:1:0:
C:\Documents and Settings\Owner\Application Data\Arduino15\packages\esp8266\hardware\esp8266\1.6.4-673-g8cd3697\cores\esp8266/Esp.h:68:24: error: 'uint32_t' has not been declared
         void wdtEnable(uint32_t timeout_ms = 0);
                        ^
C:\Documents and Settings\Owner\Application Data\Arduino15\packages\esp8266\hardware\esp8266\1.6.4-673-g8cd3697\cores\esp8266/Esp.h:75:24: error: 'uint32_t' has not been declared
         void deepSleep(uint32_t time_us, WakeMode mode = WAKE_RF_DEFAULT);
                        ^
C:\Documents and Settings\Owner\Application Data\Arduino15\packages\esp8266\hardware\esp8266\1.6.4-673-g8cd3697\cores\esp8266/Esp.h:80:9: error: 'uint16_t' does not name a type
         uint16_t getVcc(void);
         ^
C:\Documents and Settings\Owner\Application Data\Arduino15\packages\esp8266\hardware\esp8266\1.6.4-673-g8cd3697\cores\esp8266/Esp.h:81:9: error: 'uint32_t' does not name a type
         uint32_t getFreeHeap(void);
         ^
C:\Documents and Settings\Owner\Application Data\Arduino15\packages\esp8266\hardware\esp8266\1.6.4-673-g8cd3697\cores\esp8266/Esp.h:83:9: error: 'uint32_t' does not name a type
         uint32_t getChipId(void);
         ^
C:\Documents and Settings\Owner\Application Data\Arduino15\packages\esp8266\hardware\esp8266\1.6.4-673-g8cd3697\cores\esp8266/Esp.h:87:9: error: 'uint8_t' does not name a type
         uint8_t getBootVersion(void);
         ^
C:\Documents and Settings\Owner\Application Data\Arduino15\packages\esp8266\hardware\esp8266\1.6.4-673-g8cd3697\cores\esp8266/Esp.h:88:9: error: 'uint8_t' does not name a type
         uint8_t getBootMode(void);
         ^
C:\Documents and Settings\Owner\Application Data\Arduino15\packages\esp8266\hardware\esp8266\1.6.4-673-g8cd3697\cores\esp8266/Esp.h:90:9: error: 'uint8_t' does not name a type
         uint8_t getCpuFreqMHz(void);
         ^
C:\Documents and Settings\Owner\Application Data\Arduino15\packages\esp8266\hardware\esp8266\1.6.4-673-g8cd3697\cores\esp8266/Esp.h:92:9: error: 'uint32_t' does not name a type
         uint32_t getFlashChipId(void);
         ^
C:\Documents and Settings\Owner\Application Data\Arduino15\packages\esp8266\hardware\esp8266\1.6.4-673-g8cd3697\cores\esp8266/Esp.h:94:9: error: 'uint32_t' does not name a type
         uint32_t getFlashChipRealSize(void);
         ^
C:\Documents and Settings\Owner\Application Data\Arduino15\packages\esp8266\hardware\esp8266\1.6.4-673-g8cd3697\cores\esp8266/Esp.h:96:9: error: 'uint32_t' does not name a type
         uint32_t getFlashChipSize(void);
         ^
C:\Documents and Settings\Owner\Application Data\Arduino15\packages\esp8266\hardware\esp8266\1.6.4-673-g8cd3697\cores\esp8266/Esp.h:97:9: error: 'uint32_t' does not name a type
         uint32_t getFlashChipSpeed(void);
         ^
C:\Documents and Settings\Owner\Application Data\Arduino15\packages\esp8266\hardware\esp8266\1.6.4-673-g8cd3697\cores\esp8266/Esp.h:99:9: error: 'uint32_t' does not name a type
         uint32_t getFlashChipSizeByChipId(void);
         ^
C:\Documents and Settings\Owner\Application Data\Arduino15\packages\esp8266\hardware\esp8266\1.6.4-673-g8cd3697\cores\esp8266/Esp.h:101:16: error: 'uint32_t' does not name a type
         inline uint32_t getCycleCount(void);
                ^
C:\Documents and Settings\Owner\Application Data\Arduino15\packages\esp8266\hardware\esp8266\1.6.4-673-g8cd3697\cores\esp8266/Esp.h:104:1: error: 'uint32_t' does not name a type
 uint32_t EspClass::getCycleCount(void)
 ^
sketch_jun11a.ino: In function 'void setup()':
sketch_jun11a:6: error: 'class EspClass' has no member named 'getChipId'
sketch_jun11a.ino: At global scope:
sketch_jun11a:9: error: variable or field 'loop' declared void
'class EspClass' has no member named 'getChipId'

  This report would have more information with
  "Show verbose output during compilation"
  enabled in File > Preferences.
User avatar
By matkar
#20146 Thank you Cal.
I have switched the Esp.h define with Arduino.h and it compiles now.
I've added parentheses after loop as well.


Code: Select all#include <Arduino.h>

void setup()
{
Serial.begin(115200);
Serial.println(ESP.getChipId());
}

void loop()
{
}
User avatar
By Alex P
#20148 Paste this at the top of your sketch and you should be golden:

Code: Select allextern "C" {
#include "user_interface.h"
#include "Esp.h"
}


I think user_interface.h is the one you will be using the most, but I included Esp.h as well .