platformio / platformio-core

Your Gateway to Embedded Software Development Excellence :alien:
https://platformio.org
Apache License 2.0
7.9k stars 792 forks source link

heltec_wifi_kit_32 Build Broken #2107

Closed rnunley closed 5 years ago

rnunley commented 5 years ago

What kind of issue is this?

You can erase any parts of this template not applicable to your Issue.


Configuration

Operating system:

PlatformIO Version (platformio --version): 3.6.4

Description of problem

Build fails on built in Heltec library.

Steps to Reproduce

  1. pio init --board heltec_wifi_kit32
  2. In any file #include "heltec.h"
  3. pio run

Actual Results

====================[ Build | PLATFORMIO_BUILD | Debug ]======================== C:\Users\richa\AppData\Local\JetBrains\Toolbox\apps\CLion\ch-0\183.5429.37\bin\cmake\win\bin\cmake.exe --build C:\Users\richa\OneDrive\Documents\Source\BattleBots\Firmware\BattleBot\cmake-build-debug --target PLATFORMIO_BUILD -- -j 4 Processing heltec_wifi_kit_32 (platform: espressif32; board: heltec_wifi_kit_32; framework: arduino)

Verbose mode can be enabled via -v, --verbose option CONFIGURATION: https://docs.platformio.org/page/boards/espressif32/heltec_wifi_kit_32.html PLATFORM: Espressif 32 > Heltec WIFI Kit 32 HARDWARE: ESP32 240MHz 320KB RAM (4MB Flash) DEBUG: CURRENT(esp-prog) EXTERNAL(esp-prog, iot-bus-jtag, jlink, minimodule, olimex-arm-usb-ocd, olimex-arm-usb-ocd-h, olimex-arm-usb-tiny-h, olimex-jtag-tiny, tumpa) Library Dependency Finder -> http://bit.ly/configure-pio-ldf LDF MODES: FINDER(chain) COMPATIBILITY(soft) Collected 27 compatible libraries Scanning dependencies... Dependency Graph |-- 1.0.1 |-- 1.0.2 | |-- 1.0.1 | |-- 1.0 Archiving .pioenvs\heltec_wifi_kit_32\lib7fe\libBLE.a Indexing .pioenvs\heltec_wifi_kit_32\lib7fe\libBLE.a Compiling .pioenvs\heltec_wifi_kit_32\lib17b\Heltec ESP32 Dev-Boards_ID6051\heltec.cpp.o Compiling .pioenvs\heltec_wifi_kit_32\FrameworkArduino\HardwareSerial.cpp.o Compiling .pioenvs\heltec_wifi_kit_32\FrameworkArduino\IPAddress.cpp.o Compiling .pioenvs\heltec_wifi_kit_32\FrameworkArduino\IPv6Address.cpp.o Compiling .pioenvs\heltec_wifi_kit_32\FrameworkArduino\MD5Builder.cpp.o Compiling .pioenvs\heltec_wifi_kit_32\FrameworkArduino\Print.cpp.o Compiling .pioenvs\heltec_wifi_kit_32\FrameworkArduino\Stream.cpp.o Compiling .pioenvs\heltec_wifi_kit_32\FrameworkArduino\StreamString.cpp.o C:\Users\richa.platformio\lib\Heltec ESP32 Dev-Boards_ID6051\src\heltec.cpp: In member function 'void Heltec_ESP32::VextON()': C:\Users\richa.platformio\lib\Heltec ESP32 Dev-Boards_ID6051\src\heltec.cpp:91:10: error: 'Vext' was not declared in this scope pinMode(Vext,OUTPUT); ^ C:\Users\richa.platformio\lib\Heltec ESP32 Dev-Boards_ID6051\src\heltec.cpp: In member function 'void Heltec_ESP32::VextOFF()': C:\Users\richa.platformio\lib\Heltec ESP32 Dev-Boards_ID6051\src\heltec.cpp:97:10: error: 'Vext' was not declared in this scope pinMode(Vext,OUTPUT); ^ Compiling .pioenvs\heltec_wifi_kit_32\FrameworkArduino\WMath.cpp.o [.pioenvs\heltec_wifi_kit_32\lib17b\Heltec ESP32 Dev-Boards_ID6051\heltec.cpp.o] Error 1 [ERROR] Took 3.11 seconds mingw32-make.exe[3]: [CMakeFiles\PLATFORMIO_BUILD.dir\build.make:56: CMakeFiles/PLATFORMIO_BUILD] Error 1 mingw32-make.exe[2]: [CMakeFiles\Makefile2:109: CMakeFiles/PLATFORMIO_BUILD.dir/all] Error 2 mingw32-make.exe[1]: [CMakeFiles\Makefile2:121: CMakeFiles/PLATFORMIO_BUILD.dir/rule] Error 2 mingw32-make.exe: *** [Makefile:130: PLATFORMIO_BUILD] Error 2

Expected Results

Successful build.

If problems with PlatformIO Build System:

The content of platformio.ini:

[env:heltec_wifi_kit_32]
platform = espressif32
board = heltec_wifi_kit_32
framework = arduino

Source file to reproduce issue:

#include "Arduino.h"
#include "heltec.h"

void setup() {

}

void loop(){

}

Additional info

rnunley commented 5 years ago

I should note that I've reproduced this in CLion as well is running pio run on the command line.

rnunley commented 5 years ago

Goliath86 was kind enough to provide a solution here: https://github.com/HelTecAutomation/Heltec_ESP32/issues/2, and I've got a pull request on the library open that implements it.