Skip to content

unihiker K10编译失败 #20

@rockets-cn

Description

@rockets-cn
Image

检测到编译错误: Error during build: text section exceeds available space in board
Error during build: text section exceeds available space in board

Image

`#include <Arduino.h>

#include <WiFi.h>
#include <driver/spi_common.h>
#include <esp_heap_caps.h>
#include "ai_vox_engine.h"
#include "ai_vox_observer.h"
#include "audio_input_device_sph0645.h"
#include "i2s_std_audio_output_device.h"
#include <esp_lcd_panel_io.h>
#include <esp_lcd_panel_ops.h>
#include <esp_lcd_panel_vendor.h>
#include "display.h"

#define WIFI_SSID "test"
#define WIFI_PASSWORD "12345678"

auto g_observer = std::make_shared<ai_vox::Observer>();
constexpr gpio_num_t kMicPinBclk = GPIO_NUM_0;
constexpr gpio_num_t kMicPinWs = GPIO_NUM_0;
constexpr gpio_num_t kMicPinDin = GPIO_NUM_0;
constexpr gpio_num_t kSpeakerPinBclk = GPIO_NUM_0;
constexpr gpio_num_t kSpeakerPinWs = GPIO_NUM_0;
constexpr gpio_num_t kSpeakerPinDout = GPIO_NUM_0;
constexpr gpio_num_t kTriggerPin = GPIO_NUM_0;
auto audio_input_device = std::make_shared(kMicPinBclk, kMicPinWs, kMicPinDin);
auto audio_output_device = std::make_shared<ai_vox::I2sStdAudioOutputDevice>(kSpeakerPinBclk, kSpeakerPinWs, kSpeakerPinDout);
constexpr gpio_num_t kDisplayBacklightPin = GPIO_NUM_0;
constexpr gpio_num_t kDisplayMosiPin = GPIO_NUM_0;
constexpr gpio_num_t kDisplayClkPin = GPIO_NUM_0;
constexpr gpio_num_t kDisplayDcPin = GPIO_NUM_0;
constexpr gpio_num_t kDisplayRstPin = GPIO_NUM_0;
constexpr gpio_num_t kDisplayCsPin = GPIO_NUM_0;
constexpr auto kDisplaySpiMode = 0;
constexpr uint32_t kDisplayWidth = 240;
constexpr uint32_t kDisplayHeight = 240;
constexpr bool kDisplayMirrorX = false;
constexpr bool kDisplayMirrorY = false;
constexpr bool kDisplayInvertColor = true;
constexpr bool kDisplaySwapXY = false;
constexpr auto kDisplayRgbElementOrder = LCD_RGB_ELEMENT_ORDER_RGB;
std::unique_ptr g_display;
void InitDisplay() {
pinMode(kDisplayBacklightPin, OUTPUT);
analogWrite(kDisplayBacklightPin, 255);
spi_bus_config_t buscfg{
.mosi_io_num = kDisplayMosiPin,
.miso_io_num = GPIO_NUM_NC,
.sclk_io_num = kDisplayClkPin,
.quadwp_io_num = GPIO_NUM_NC,
.quadhd_io_num = GPIO_NUM_NC,
.max_transfer_sz = kDisplayWidth * kDisplayHeight * sizeof(uint16_t),
};
ESP_ERROR_CHECK(spi_bus_initialize(SPI3_HOST, &buscfg, SPI_DMA_CH_AUTO));
esp_lcd_panel_io_handle_t panel_io = nullptr;
esp_lcd_panel_handle_t panel = nullptr;
// 液晶屏控制IO初始化
ESP_LOGD(TAG, "Install panel IO");
esp_lcd_panel_io_spi_config_t io_config = {};
io_config.cs_gpio_num = kDisplayCsPin;
io_config.dc_gpio_num = kDisplayDcPin;
io_config.spi_mode = kDisplaySpiMode;
io_config.pclk_hz = 40 * 1000 * 1000;
io_config.trans_queue_depth = 10;
io_config.lcd_cmd_bits = 8;
io_config.lcd_param_bits = 8;
ESP_ERROR_CHECK(esp_lcd_new_panel_io_spi(SPI3_HOST, &io_config, &panel_io));

// 初始化液晶屏驱动芯片
ESP_LOGD(TAG, "Install LCD driver");
esp_lcd_panel_dev_config_t panel_config = {};
panel_config.reset_gpio_num = kDisplayRstPin;
panel_config.rgb_ele_order = kDisplayRgbElementOrder;
panel_config.bits_per_pixel = 16;
ESP_ERROR_CHECK(esp_lcd_new_panel_st7789(panel_io, &panel_config, &panel));
esp_lcd_panel_reset(panel);
esp_lcd_panel_init(panel);
esp_lcd_panel_invert_color(panel, kDisplayInvertColor);
esp_lcd_panel_swap_xy(panel, kDisplaySwapXY);
esp_lcd_panel_mirror(panel, kDisplayMirrorX, kDisplayMirrorY);
g_display = std::make_unique(panel_io, panel, kDisplayWidth, kDisplayHeight, 0, 0, kDisplayMirrorX, kDisplayMirrorY, kDisplaySwapXY);
g_display->Start();
}

void setup() {

WiFi.useStaticBuffers(true);
WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
}
Serial.begin(115200);

auto& ai_vox_engine = ai_vox::Engine::GetInstance();
ai_vox_engine.SetObserver(g_observer);
ai_vox_engine.SetTrigger(kTriggerPin);
ai_vox_engine.Start(audio_input_device, audio_output_device);

InitDisplay();

}

void loop() {

}`

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions