Im working with a ESP32-S3 based LCD from waveshare, i downloaded the example they provide and it worked and compiled without issue, but when i imported the sketch to platformio, it fails to compile at the same errors every time, what should i do?
This is the board im using:
The output from compilation is the following:
Processing esp32-s3-devkitm-1 (platform: espressif32; board: esp32-s3-devkitm-1; framework: arduino)
---------------------------------------------------------------------------------------------------------------------------------------------------------------
Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/espressif32/esp32-s3-devkitm-1.html
PLATFORM: Espressif 32 (6.11.0) > Espressif ESP32-S3-DevKitM-1
HARDWARE: ESP32S3 240MHz, 320KB RAM, 8MB Flash
DEBUG: Current (esp-builtin) On-board (esp-builtin) External (cmsis-dap, esp-bridge, 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)
PACKAGES:
- framework-arduinoespressif32 @ 3.20017.241212+sha.dcc1105b
- tool-esptoolpy @ 1.40501.0 (4.5.1)
- toolchain-riscv32-esp @ 8.4.0+2021r2-patch5
- toolchain-xtensa-esp32s3 @ 8.4.0+2021r2-patch5
Converting LVGL_Arduino.ino
LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 35 compatible libraries
Scanning dependencies...
Dependency Graph
|-- lvgl @ 8.3.10
|-- ESP32-audioI2S @ 2.0.0
|-- SPI @ 2.0.0
|-- Wire @ 2.0.0
|-- SD_MMC @ 2.0.0
|-- FS @ 2.0.0
|-- WiFi @ 2.0.0
|-- ESP32 BLE Arduino @ 2.0.0
Building in release mode
Compiling .pio\build\esp32-s3-devkitm-1\src\Audio_PCM5101.cpp.o
Compiling .pio\build\esp32-s3-devkitm-1\src\BAT_Driver.cpp.o
Compiling .pio\build\esp32-s3-devkitm-1\src\Display_ST7789.cpp.o
Compiling .pio\build\esp32-s3-devkitm-1\src\Gyro_QMI8658.cpp.o
Compiling .pio\build\esp32-s3-devkitm-1\src\I2C_Driver.cpp.o
Compiling .pio\build\esp32-s3-devkitm-1\src\LVGL_Arduino.ino.cpp.o
Compiling .pio\build\esp32-s3-devkitm-1\src\LVGL_Driver.cpp.o
Compiling .pio\build\esp32-s3-devkitm-1\src\LVGL_Example.cpp.o
Compiling .pio\build\esp32-s3-devkitm-1\src\LVGL_Music.cpp.o
Compiling .pio\build\esp32-s3-devkitm-1\src\PWR_Key.cpp.o
Compiling .pio\build\esp32-s3-devkitm-1\src\RTC_PCF85063.cpp.o
Compiling .pio\build\esp32-s3-devkitm-1\src\SD_Card.cpp.o
Compiling .pio\build\esp32-s3-devkitm-1\src\Touch_CST328.cpp.o
Compiling .pio\build\esp32-s3-devkitm-1\src\Wireless.cpp.o
src/Display_ST7789.cpp: In function 'void Backlight_Init()':
src/Display_ST7789.cpp:220:3: error: 'ledcAttach' was not declared in this scope
ledcAttach(LCD_Backlight_PIN, Frequency, Resolution);
^~~~~~~~~~
src/Display_ST7789.cpp:220:3: note: suggested alternative: 'ledcAttachPin'
ledcAttach(LCD_Backlight_PIN, Frequency, Resolution);
^~~~~~~~~~
ledcAttachPin
*** [.pio\build\esp32-s3-devkitm-1\src\Display_ST7789.cpp.o] Error 1
src/RTC_PCF85063.cpp: In function 'void PCF85063_Set_Alarm(datetime_t)':
src/RTC_PCF85063.cpp:166:24: warning: narrowing conversion of '(((int)decToBcd(((int)time.datetime_t::second))) & (~128))' from 'int' to 'uint8_t' {aka 'unsigned char'} inside { } [-Wnarrowing]
decToBcd(time.second)&(~RTC_ALARM),
~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/RTC_PCF85063.cpp:167:24: warning: narrowing conversion of '(((int)decToBcd(((int)time.datetime_t::minute))) & (~128))' from 'int' to 'uint8_t' {aka 'unsigned char'} inside { } [-Wnarrowing]
decToBcd(time.minute)&(~RTC_ALARM),
~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/RTC_PCF85063.cpp:168:22: warning: narrowing conversion of '(((int)decToBcd(((int)time.datetime_t::hour))) & (~128))' from 'int' to 'uint8_t' {aka 'unsigned char'} inside { } [-Wnarrowing]
decToBcd(time.hour)&(~RTC_ALARM),
~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
src/LVGL_Music.cpp:752:37: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
lv_label_set_text_fmt(time_obj, "%"LV_PRIu32":%02"LV_PRIu32, time_act / 60, time_act % 60);
^
src/LVGL_Music.cpp:752:49: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
lv_label_set_text_fmt(time_obj, "%"LV_PRIu32":%02"LV_PRIu32, time_act / 60, time_act % 60);
^
src/Wireless.cpp: In function 'int ble_scan_number()':
src/Wireless.cpp:44:51: error: cannot convert 'BLEScanResults' to 'BLEScanResults*' in initialization
BLEScanResults *foundDevices = pBLEScan->start(5);
^
*** [.pio\build\esp32-s3-devkitm-1\src\Wireless.cpp.o] Error 1
================================================================= [FAILED] Took 6.84 seconds =================================================================
* The terminal process "C:\Users\cybershibo\.platformio\penv\Scripts\platformio.exe 'run', '--environment', 'esp32-s3-devkitm-1'" terminated with exit code: 1.
* Terminal will be reused by tasks, press any key to close it.
This is my platformio.ini:
[env:esp32-s3-devkitm-1]
platform = espressif32
board = esp32-s3-devkitm-1
framework = arduino
lib_extra_dirs = ~/Documents/Arduino/libraries