A strange situation occurred.
If I build by including a space in “env: esp wrover kit”, there is no error, and if it is connected with ‘_’ or ‘-’ without a space,“env:esp-wrover-kit” a build error (" TFT_BL was not declared in this scope") occurs. Why is this?
[env:esp_wrover_kit] // [env:esp wrover kit]
platform = espressif32
framework = arduino
board = esp-wrover-kit
monitor_speed = 115200
build_flags =
-D LED_BUILTIN=2
build_type = debug
; platform_packages =
; platformio/tool-openocd-esp32@^2.1100.20220706
board_build.filesystem = littlefs
lib_deps = bodmer/TFT_eSPI@^2.4.79
SPI
FS
SPIFFS
- [env:esp wrover kit] build result
Processing esp wrover kit (platform: espressif32; framework: arduino; board: esp-wrover-kit)
--------------------------------------------------------------------------------------------
...
Checking size .pio\build\esp wrover kit\firmware.elf
Advanced Memory Usage is available via "PlatformIO Home > Project Inspect"
RAM: [= ] 5.1% (used 16852 bytes from 327680 bytes)
Flash: [== ] 21.6% (used 283345 bytes from 1310720 bytes)
Building .pio\build\esp wrover kit\firmware.bin
esptool.py v4.2.1
Creating esp32 image...
Merged 2 ELF sections
Successfully created esp32 image.
- [env:esp_wrover_kit] build result
Processing esp_wrover_kit (platform: espressif32; framework: arduino; board: esp-wrover-kit)
---------------------------------------------------------------------------------------------
...
src/main.cpp: In function 'void tft_setup()':
src/main.cpp:65:20: error: 'TFT_BL' was not declared in this scope
gpio_set_level(TFT_BL, 1); // enable backlight
^~~~~~
src/main.cpp:65:20: note: suggested alternative: 'TFT_BLUE'
- main.cpp
#include <stdio.h>
#include <Arduino.h>
#include <freertos/FreeRTOS.h>
#include <freertos/task.h>
#include <freertos/semphr.h>
#include "SPI.h"
#include "TFT_eSPI.h" // driver for spi LCD
static void gpio_setup(void);
static void tft_setup(void);
static void led_test(void);
#define LED_RED GPIO_NUM_0
#define LED_GREEN GPIO_NUM_2
#define LED_BLUE GPIO_NUM_4
TFT_eSPI tft = TFT_eSPI(); // global instance 로 생성
void setup()
{
gpio_setup();
tft_setup();
}
void loop()
{
led_test();
}
static void gpio_setup(void)
{
pinMode(LED_RED, OUTPUT);
pinMode(LED_GREEN, OUTPUT);
pinMode(LED_BLUE, OUTPUT);
}
static void tft_setup(void)
{
gpio_set_level(TFT_BL, 1); // enable backlight
tft.begin();
gpio_set_level(TFT_BL, 0); // enable backlight
tft.fillScreen(0xffff);
delay(500);
tft.fillScreen(0x0000);
delay(200);
tft.fillScreen(ILI9341_RED);
delay(200);
tft.fillScreen(ILI9341_GREEN);
tft.setRotation(0);
tft.setCursor(0, 0);
tft.setTextColor(ILI9341_BLUE);
tft.setTextSize(1);
tft.println("ILI9341 setup");
}
static void led_test(void)
{
digitalWrite(LED_RED, LOW);
digitalWrite(LED_GREEN, LOW);
digitalWrite(LED_BLUE, LOW);
delay(500);
gpio_set_level(LED_RED, HIGH);
gpio_set_level(LED_GREEN, HIGH);
gpio_set_level(LED_BLUE, HIGH);
delay(500);
}