Compiling StandardFirmataWiFi for ESP8266 fail

Hello all,

I am trying to compile StandardFirmataWifi.ino for ESP8266 (ESP12), I have installed the esp8266 core for arduino, the firmata library from git that includes the StandardFirmataWiFi.

Here is the partial console output

_[Thu Sep 22 03:23:54 2016] Processing esp12e (upload_speed: 9600, platform: espressif8266_stage, build_flags: -Wl,-Tesp8266.flash.4m1m.ld, board: esp12e, framework: arduino)
_ --------------------------------------------------------------------------------
_ Verbose mode can be enabled via -v, --verbose option
_ Collected 29 compatible libraries
_ Looking for dependencies…
_ Library Dependency Graph
_ |-- v1.0

_ |-- v2.5.3
_ |-- <Servo(esp8266)> v1.0.2
_ |-- v0.10.0
_ |-- v1.0
_ Compiling .pioenvs/esp12e/lib/ESP8266WiFi/ESP8266WiFi.o
_ Compiling .pioenvs/esp12e/lib/ESP8266WiFi/ESP8266WiFiAP.o
_ Compiling .pioenvs/esp12e/lib/ESP8266WiFi/ESP8266WiFiGeneric.o
_ Compiling .pioenvs/esp12e/lib/ESP8266WiFi/ESP8266WiFiMulti.o
_ Compiling .pioenvs/esp12e/lib/ESP8266WiFi/ESP8266WiFiSTA.o
_ Compiling .pioenvs/esp12e/lib/ESP8266WiFi/ESP8266WiFiScan.o
_ Compiling .pioenvs/esp12e/lib/ESP8266WiFi/WiFiClient.o
_ Compiling .pioenvs/esp12e/lib/ESP8266WiFi/WiFiClientSecure.o
_ Compiling .pioenvs/esp12e/lib/ESP8266WiFi/WiFiServer.o
_ Compiling .pioenvs/esp12e/lib/ESP8266WiFi/WiFiUdp.o
_ Compiling .pioenvs/esp12e/lib/Firmata_ID307/Firmata.o
_ Compiling .pioenvs/esp12e/lib/Firmata_ID307/utility/BLEStream.o
_ Compiling .pioenvs/esp12e/lib/Firmata_ID307/utility/EthernetClientStream.o
_ Compiling .pioenvs/esp12e/lib/Firmata_ID307/utility/SerialFirmata.o
_ Compiling .pioenvs/esp12e/lib/Firmata_ID307/utility/WiFiStream.o
_ Compiling .pioenvs/esp12e/lib/Servo/esp8266/Servo.o
_ Archiving .pioenvs/esp12e/lib/libESP8266WiFi.a
_ Indexing .pioenvs/esp12e/lib/libESP8266WiFi.a
_ Compiling .pioenvs/esp12e/lib/WiFi101_ID299/WiFi.o
_ Archiving .pioenvs/esp12e/lib/libFirmata_ID307.a
_ Compiling .pioenvs/esp12e/lib/WiFi101_ID299/WiFiClient.o
_ Indexing .pioenvs/esp12e/lib/libFirmata_ID307.a
_ Compiling .pioenvs/esp12e/lib/WiFi101_ID299/WiFiMDNSResponder.o
_ In file included from /home/mhanuel/.platformio/packages/framework-arduinoespressif8266/cores/esp8266/esp8266_peri.h:24:0,
_ from /home/mhanuel/.platformio/packages/framework-arduinoespressif8266/cores/esp8266/Arduino.h:38,
_ from /home/mhanuel/.platformio/lib/WiFi101_ID299/src/WiFi101.h:25,
_ from /home/mhanuel/.platformio/lib/WiFi101_ID299/src/WiFiClient.cpp:25:
_ /home/mhanuel/.platformio/packages/framework-arduinoespressif8266/tools/sdk/include/c_types.h:30:29: error: conflicting declaration ‘typedef unsigned int uint32’
_ typedef unsigned int uint32;
_ ^
_ In file included from /home/mhanuel/.platformio/lib/WiFi101_ID299/src/common/include/nm_common.h:45:0,
_ from /home/mhanuel/.platformio/lib/WiFi101_ID299/src/socket/include/socket.h:53,
_ from /home/mhanuel/.platformio/lib/WiFi101_ID299/src/WiFiClient.cpp:21:
_ /home/mhanuel/.platformio/lib/WiFi101_ID299/src/bsp/include/nm_bsp.h:110:23: error: ‘uint32’ has a previous declaration as ‘typedef long unsigned int uint32’
_ typedef unsigned long uint32;
_ ^
_ In file included from /home/mhanuel/.platformio/packages/framework-arduinoespressif8266/cores/esp8266/esp8266_peri.h:24:0,
_ from /home/mhanuel/.platformio/packages/framework-arduinoespressif8266/cores/esp8266/Arduino.h:38,
_ from /home/mhanuel/.platformio/lib/WiFi101_ID299/src/WiFi101.h:25,
_ from /home/mhanuel/.platformio/lib/WiFi101_ID299/src/WiFiClient.cpp:25:
_ /home/mhanuel/.platformio/packages/framework-arduinoespressif8266/tools/sdk/include/c_types.h:33:29: error: conflicting declaration ‘typedef int sint32’
_ typedef signed int sint32;
_ ^
_ In file included from /home/mhanuel/.platformio/lib/WiFi101_ID299/src/common/include/nm_common.h:45:0,
_ from /home/mhanuel/.platformio/lib/WiFi101_ID299/src/socket/include/socket.h:53,
_ from /home/mhanuel/.platformio/lib/WiFi101_ID299/src/WiFiClient.cpp:21:
_ /home/mhanuel/.platformio/lib/WiFi101_ID299/src/bsp/include/nm_bsp.h:133:22: error: ‘sint32’ has a previous declaration as ‘typedef long int sint32’
_ typedef signed long sint32;
_ ^
_ In file included from /home/mhanuel/.platformio/lib/WiFi101_ID299/src/common/include/nm_common.h:45:0,
_ from /home/mhanuel/.platformio/lib/WiFi101_ID299/src/driver/include/m2m_wifi.h:49,
_ from /home/mhanuel/.platformio/lib/WiFi101_ID299/src/WiFi101.h:28,
_ from /home/mhanuel/.platformio/lib/WiFi101_ID299/src/WiFi.cpp:20:
_ /home/mhanuel/.platformio/lib/WiFi101_ID299/src/bsp/include/nm_bsp.h:110:23: error: conflicting declaration ‘typedef long unsigned int uint32’
_ typedef unsigned long uint32;
_ ^
_ In file included from /home/mhanuel/.platformio/packages/framework-arduinoespressif8266/cores/esp8266/esp8266_peri.h:24:0,
_ from /home/mhanuel/.platformio/packages/framework-arduinoespressif8266/cores/esp8266/Arduino.h:38,
_ from /home/mhanuel/.platformio/lib/WiFi101_ID299/src/WiFi101.h:25,

It seems a conflict for type definitions.

Am I missing something? Perhaps some flag in platform.ini file.

Will appreciate your comments,

Do you need that Wi-Fi 101 library?

Well I think the compiler is not setting or detecting the wifiConfig.h defines,

here is a extract of .h file

//do not modify the following 11 lines
#if defined(ARDUINO_SAMD_MKR1000) && !defined(WIFI_101)
// automatically include if compiling for MRK1000
#define WIFI_101
#endif
#ifdef WIFI_101
#include <WiFi101.h>
#include “utility/WiFiClientStream.h”
#include “utility/WiFiServerStream.h”
_ #define WIFI_LIB_INCLUDED_
#endif

for example if compiled under arduino, I would expect the IDE to setup the environment for esp8266, if it’s including wifi101 that explain the problem but then how to avoid it, without uninstalling wifi101 library?

I appreciate your comments,

You need Redirecting...

Thank you very much, now I can compile.