You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
MIPI Display attached to Esp32P4-Function-EV-Board.
IDE Name
Espressif IDE(V5.3.2)
Operating System
Windows11
Description
I am working with an ESP32-P4 Function-EV-Board and using the Espressif IDE (v5.3.2). I imported the MIPI-DSI example and completed the compilation. After flashing the code, no data is displayed on the MIPI display. However, the output on Tera Term is :
SP-ROM:esp32p4-eco2-20240710
Build:Jul 10 2024
rst:0x3 (SW_SYS_RESET),boot:0xc (SPI_FAST_FLASH_BOOT)
Core0 Saved PC:0x4ff00766
Core1 Saved PC:0x4ff03afa
SPI mode:DIO, clock div:1
load:0x4ff33ce0,len:0x18e4
load:0x4ff2abd0,len:0xd74
load:0x4ff2cbd0,len:0x322c
entry 0x4ff2abda
I (203) esp_image: segment 5: paddr=00085318 vaddr=4ff0a7m
I (240) hex_psram: dev id : 0x03 (generation 4)
I (245) hex_psram: density : 0x07 (256 Mbit)
I (251) hex_psram: good-die : 0x06 (Pass)
I (256) hex_psram: SRF : 0x02 (Slow Refresh)
I (262) hex_psram: BurstType : 0x00 ( Wrap)
I (267) hex_psram: BurstLen : 0x03 (2048 Byte)
I (272) hex_psram: BitMode : 0x01 (X16 Mode)
I (277) hex_psram: Readlatency : 0x04 (14 cycles@Fixed)
I (283) hex_psram: DriveStrength: 0x00 (1/1)
I (289) MSPI DQS: tuning success, best phase id is 2
I (472) MSPI DQS: tuning success, best delayline id is 11
I (473) esp_psram: Found 32MB PSRAM device
I (473) esp_psram: Speed: 200MHz
I (476) hex_psram: psram CS IO is dedicated
I (480) cpu_start: Multicore app
I (1434) esp_psram: SPI SRAM memory test OK
W (1443) clk: esp_perip_clk_init() has not been implemented yet
I (1450) cpu_start: Pro cpu start user code
I (1450) cpu_start: cpu freq: 360000000 Hz
I (1450) app_init: Application information:
I (1453) app_init: Project name: mipi_dsi_panel
I (1459) app_init: App version: 1
I (1463) app_init: Compile time: Jan 18 2025 11:52:37
I (1469) app_init: ELF file SHA256: 5c42771e6...
I (1475) app_init: ESP-IDF: v5.3.2-dirty
I (1480) efuse_init: Min chip rev: v0.1
I (1485) efuse_init: Max chip rev: v1.99
I (1490) efuse_init: Chip rev: v1.0
I (1495) heap_init: Initializing. RAM available for dynamic allocation:
I (1502) heap_init: At 4FF24A40 len 00016580 (89 KiB): RAM
I (1508) heap_init: At 4FF3AFC0 len 00004BF0 (18 KiB): RAM
I (1514) heap_init: At 4FF40000 len 00060000 (384 KiB): RAM
I (1521) heap_init: At 50108080 len 00007F80 (31 KiB): RTCRAM
I (1527) heap_init: At 3010005C len 00001FA4 (7 KiB): TCM
I (1533) esp_psram: Adding pool of 32768K of PSRAM memory to heap allocator
I (1542) spi_flash: detected chip: generic
I (1545) spi_flash: flash io: dio
W (1549) spi_flash: Detected size(16384k) larger than the size in the binary image header(2048k). Using the size in the binary image header.
I (1563) main_task: Started on CPU0
I (1573) esp_psram: Reserving pool of 32K of internal memory for DMA/internal allocations
I (1573) main_task: Calling app_main()
I (1583) gpio: GPIO[20]| InputEn: 0| OutputEn: 1| OpenDrain: 0| Pullup: 0| Pulldown: 0| Intr:0
I (1593) example: MIPI DSI PHY Powered on
I (1593) example: Install MIPI DSI LCD control IO
I (1603) example: Install MIPI DSI LCD data panel
I (1603) ek79007: version: 1.0.1
I (1773) example: Initialize LVGL library
I (1773) example: Allocate separate LVGL draw buffers
I (1773) example: Register DPI panel event callback for LVGL flush ready notification
I (1773) example: Use esp_timer as LVGL tick timer
I (1783) example: Create LVGL task
I (1783) example: Starting LVGL task
I (1823) example: Display LVGL Meter Widget
I (1833) main_task: Returned from app_main()
Sketch
/* * SPDX-FileCopyrightText: 2023-2024 Espressif Systems (Shanghai) CO LTD * * SPDX-License-Identifier: CC0-1.0*/
#include<stdio.h>
#include"sdkconfig.h"
#include"freertos/FreeRTOS.h"
#include"freertos/task.h"
#include"freertos/semphr.h"
#include"esp_timer.h"
#include"esp_lcd_panel_ops.h"
#include"esp_lcd_mipi_dsi.h"
#include"esp_ldo_regulator.h"
#include"driver/gpio.h"
#include"esp_err.h"
#include"esp_log.h"
#include"lvgl.h"
#include"esp_lcd_ili9881c.h"
#include"esp_lcd_ek79007.h"staticconstchar *TAG = "example";
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// Please update the following configuration according to your LCD Spec //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
#if CONFIG_EXAMPLE_LCD_USE_ILI9881C
// FPS = 80000000/(40+140+40+800)/(4+16+16+1280) = 60Hz
#defineEXAMPLE_MIPI_DSI_DPI_CLK_MHZ80
#defineEXAMPLE_MIPI_DSI_LCD_H_RES800
#defineEXAMPLE_MIPI_DSI_LCD_V_RES1280
#defineEXAMPLE_MIPI_DSI_LCD_HSYNC40
#defineEXAMPLE_MIPI_DSI_LCD_HBP140
#defineEXAMPLE_MIPI_DSI_LCD_HFP40
#defineEXAMPLE_MIPI_DSI_LCD_VSYNC4
#defineEXAMPLE_MIPI_DSI_LCD_VBP16
#defineEXAMPLE_MIPI_DSI_LCD_VFP16
#elif CONFIG_EXAMPLE_LCD_USE_EK79007
//FPS = 48000000/(10+120+120+1024)/(1+20+10+600) = 60Hz
#defineEXAMPLE_MIPI_DSI_DPI_CLK_MHZ48
#defineEXAMPLE_MIPI_DSI_LCD_H_RES1024
#defineEXAMPLE_MIPI_DSI_LCD_V_RES600
#defineEXAMPLE_MIPI_DSI_LCD_HSYNC10
#defineEXAMPLE_MIPI_DSI_LCD_HBP120
#defineEXAMPLE_MIPI_DSI_LCD_HFP120
#defineEXAMPLE_MIPI_DSI_LCD_VSYNC1
#defineEXAMPLE_MIPI_DSI_LCD_VBP20
#defineEXAMPLE_MIPI_DSI_LCD_VFP10
#endif
#defineEXAMPLE_MIPI_DSI_LANE_NUM2// 2 data lanes
#defineEXAMPLE_MIPI_DSI_LANE_BITRATE_MBPS1000// 1Gbps//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// Please update the following configuration according to your Board Design //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// The "VDD_MIPI_DPHY" should be supplied with 2.5V, it can source from the internal LDO regulator or from external LDO chip
#defineEXAMPLE_MIPI_DSI_PHY_PWR_LDO_CHAN3// LDO_VO3 is connected to VDD_MIPI_DPHY
#defineEXAMPLE_MIPI_DSI_PHY_PWR_LDO_VOLTAGE_MV2500
#defineEXAMPLE_LCD_BK_LIGHT_ON_LEVEL1
#defineEXAMPLE_LCD_BK_LIGHT_OFF_LEVEL !EXAMPLE_LCD_BK_LIGHT_ON_LEVEL
#defineEXAMPLE_PIN_NUM_BK_LIGHT -1
#defineEXAMPLE_PIN_NUM_LCD_RST -1
#if CONFIG_EXAMPLE_MONITOR_FPS_BY_GPIO
#defineEXAMPLE_PIN_NUM_FPS_MONITOR20// Monitor the FPS by toggling the GPIO
#endif//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// Please update the following configuration according to your Application ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
#defineEXAMPLE_LVGL_DRAW_BUF_LINES200// number of display lines in each draw buffer
#defineEXAMPLE_LVGL_TICK_PERIOD_MS2
#defineEXAMPLE_LVGL_TASK_MAX_DELAY_MS500
#defineEXAMPLE_LVGL_TASK_MIN_DELAY_MS1
#defineEXAMPLE_LVGL_TASK_STACK_SIZE (4 * 1024)
#defineEXAMPLE_LVGL_TASK_PRIORITY2static SemaphoreHandle_t lvgl_api_mux = NULL;
externvoidexample_lvgl_demo_ui(lv_display_t *disp);
staticvoidexample_lvgl_flush_cb(lv_display_t *disp, constlv_area_t *area, uint8_t *px_map)
{
esp_lcd_panel_handle_t panel_handle = lv_display_get_user_data(disp);
int offsetx1 = area->x1;
int offsetx2 = area->x2;
int offsety1 = area->y1;
int offsety2 = area->y2;
// pass the draw buffer to the driveresp_lcd_panel_draw_bitmap(panel_handle, offsetx1, offsety1, offsetx2 + 1, offsety2 + 1, px_map);
}
staticvoidexample_increase_lvgl_tick(void *arg)
{
/* Tell LVGL how many milliseconds has elapsed */lv_tick_inc(EXAMPLE_LVGL_TICK_PERIOD_MS);
}
staticboolexample_lvgl_lock(int timeout_ms)
{
// Convert timeout in milliseconds to FreeRTOS ticks// If `timeout_ms` is set to -1, the program will block until the condition is metconst TickType_t timeout_ticks = (timeout_ms == -1) ? portMAX_DELAY : pdMS_TO_TICKS(timeout_ms);
returnxSemaphoreTakeRecursive(lvgl_api_mux, timeout_ticks) == pdTRUE;
}
staticvoidexample_lvgl_unlock(void)
{
xSemaphoreGiveRecursive(lvgl_api_mux);
}
staticvoidexample_lvgl_port_task(void *arg)
{
ESP_LOGI(TAG, "Starting LVGL task");
uint32_t task_delay_ms = EXAMPLE_LVGL_TASK_MAX_DELAY_MS;
while (1) {
ESP_LOGI(TAG, "Starting ....................");
// Lock the mutex due to the LVGL APIs are not thread-safeif (example_lvgl_lock(-1)) {
task_delay_ms = lv_timer_handler();
// Release the mutexexample_lvgl_unlock();
}
if (task_delay_ms > EXAMPLE_LVGL_TASK_MAX_DELAY_MS) {
task_delay_ms = EXAMPLE_LVGL_TASK_MAX_DELAY_MS;
} elseif (task_delay_ms < EXAMPLE_LVGL_TASK_MIN_DELAY_MS) {
task_delay_ms = EXAMPLE_LVGL_TASK_MIN_DELAY_MS;
}
vTaskDelay(pdMS_TO_TICKS(task_delay_ms));
}
}
staticboolexample_notify_lvgl_flush_ready(esp_lcd_panel_handle_t panel, esp_lcd_dpi_panel_event_data_t *edata, void *user_ctx)
{
lv_display_t *disp = (lv_display_t *)user_ctx;
lv_display_flush_ready(disp);
returnfalse;
}
#if CONFIG_EXAMPLE_MONITOR_FPS_BY_GPIO
staticboolexample_monitor_fps(esp_lcd_panel_handle_t panel, esp_lcd_dpi_panel_event_data_t *edata, void *user_ctx)
{
staticint io_level = 0;
// please note, the real FPS should be 2*frequency of this GPIO togglinggpio_set_level(EXAMPLE_PIN_NUM_FPS_MONITOR, io_level);
io_level = !io_level;
returnfalse;
}
#endifstaticvoidexample_bsp_enable_dsi_phy_power(void)
{
// Turn on the power for MIPI DSI PHY, so it can go from "No Power" state to "Shutdown" stateesp_ldo_channel_handle_t ldo_mipi_phy = NULL;
#ifdef EXAMPLE_MIPI_DSI_PHY_PWR_LDO_CHAN
esp_ldo_channel_config_t ldo_mipi_phy_config = {
.chan_id = EXAMPLE_MIPI_DSI_PHY_PWR_LDO_CHAN,
.voltage_mv = EXAMPLE_MIPI_DSI_PHY_PWR_LDO_VOLTAGE_MV,
};
ESP_ERROR_CHECK(esp_ldo_acquire_channel(&ldo_mipi_phy_config, &ldo_mipi_phy));
ESP_LOGI(TAG, "MIPI DSI PHY Powered on");
#endif
}
staticvoidexample_bsp_init_lcd_backlight(void)
{
#if EXAMPLE_PIN_NUM_BK_LIGHT >= 0
gpio_config_t bk_gpio_config = {
.mode = GPIO_MODE_OUTPUT,
.pin_bit_mask = 1ULL << EXAMPLE_PIN_NUM_BK_LIGHT
};
ESP_ERROR_CHECK(gpio_config(&bk_gpio_config));
#endif
}
staticvoidexample_bsp_set_lcd_backlight(uint32_t level)
{
#if EXAMPLE_PIN_NUM_BK_LIGHT >= 0
gpio_set_level(EXAMPLE_PIN_NUM_BK_LIGHT, level);
#endif
}
#if CONFIG_EXAMPLE_MONITOR_FPS_BY_GPIO
staticvoidexample_bsp_init_fps_monitor_io(void)
{
gpio_config_t monitor_io_conf = {
.mode = GPIO_MODE_OUTPUT,
.pin_bit_mask = 1ULL << EXAMPLE_PIN_NUM_FPS_MONITOR,
};
ESP_ERROR_CHECK(gpio_config(&monitor_io_conf));
}
#endifvoidapp_main(void)
{
#if CONFIG_EXAMPLE_MONITOR_FPS_BY_GPIO
example_bsp_init_fps_monitor_io();
#endifexample_bsp_enable_dsi_phy_power();
example_bsp_init_lcd_backlight();
example_bsp_set_lcd_backlight(EXAMPLE_LCD_BK_LIGHT_OFF_LEVEL);
// create MIPI DSI bus first, it will initialize the DSI PHY as wellesp_lcd_dsi_bus_handle_t mipi_dsi_bus;
esp_lcd_dsi_bus_config_t bus_config = {
.bus_id = 0,
.num_data_lanes = EXAMPLE_MIPI_DSI_LANE_NUM,
.phy_clk_src = MIPI_DSI_PHY_CLK_SRC_DEFAULT,
.lane_bit_rate_mbps = EXAMPLE_MIPI_DSI_LANE_BITRATE_MBPS,
};
ESP_ERROR_CHECK(esp_lcd_new_dsi_bus(&bus_config, &mipi_dsi_bus));
ESP_LOGI(TAG, "Install MIPI DSI LCD control IO");
esp_lcd_panel_io_handle_t mipi_dbi_io;
// we use DBI interface to send LCD commands and parametersesp_lcd_dbi_io_config_t dbi_config = {
.virtual_channel = 0,
.lcd_cmd_bits = 8, // according to the LCD spec
.lcd_param_bits = 8, // according to the LCD spec
};
ESP_ERROR_CHECK(esp_lcd_new_panel_io_dbi(mipi_dsi_bus, &dbi_config, &mipi_dbi_io));
ESP_LOGI(TAG, "Install MIPI DSI LCD data panel");
esp_lcd_panel_handle_t mipi_dpi_panel = NULL;
esp_lcd_dpi_panel_config_t dpi_config = {
.virtual_channel = 0,
.dpi_clk_src = MIPI_DSI_DPI_CLK_SRC_DEFAULT,
.dpi_clock_freq_mhz = EXAMPLE_MIPI_DSI_DPI_CLK_MHZ,
.in_color_format = LCD_COLOR_FMT_RGB888,
.video_timing = {
.h_size = EXAMPLE_MIPI_DSI_LCD_H_RES,
.v_size = EXAMPLE_MIPI_DSI_LCD_V_RES,
.hsync_back_porch = EXAMPLE_MIPI_DSI_LCD_HBP,
.hsync_pulse_width = EXAMPLE_MIPI_DSI_LCD_HSYNC,
.hsync_front_porch = EXAMPLE_MIPI_DSI_LCD_HFP,
.vsync_back_porch = EXAMPLE_MIPI_DSI_LCD_VBP,
.vsync_pulse_width = EXAMPLE_MIPI_DSI_LCD_VSYNC,
.vsync_front_porch = EXAMPLE_MIPI_DSI_LCD_VFP,
},
#if CONFIG_EXAMPLE_USE_DMA2D_COPY_FRAME
.flags.use_dma2d = true,
#endif
};
#if CONFIG_EXAMPLE_LCD_USE_ILI9881C
ili9881c_vendor_config_t vendor_config = {
.mipi_config = {
.dsi_bus = mipi_dsi_bus,
.dpi_config = &dpi_config,
.lane_num = EXAMPLE_MIPI_DSI_LANE_NUM,
},
};
esp_lcd_panel_dev_config_t lcd_dev_config = {
.reset_gpio_num = EXAMPLE_PIN_NUM_LCD_RST,
.rgb_ele_order = LCD_RGB_ELEMENT_ORDER_RGB,
.bits_per_pixel = 24,
.vendor_config = &vendor_config,
};
ESP_ERROR_CHECK(esp_lcd_new_panel_ili9881c(mipi_dbi_io, &lcd_dev_config, &mipi_dpi_panel));
#elif CONFIG_EXAMPLE_LCD_USE_EK79007
ek79007_vendor_config_t vendor_config = {
.mipi_config = {
.dsi_bus = mipi_dsi_bus,
.dpi_config = &dpi_config,
},
};
esp_lcd_panel_dev_config_t lcd_dev_config = {
.reset_gpio_num = EXAMPLE_PIN_NUM_LCD_RST,
.rgb_ele_order = LCD_RGB_ELEMENT_ORDER_RGB,
.bits_per_pixel = 24,
.vendor_config = &vendor_config,
};
ESP_ERROR_CHECK(esp_lcd_new_panel_ek79007(mipi_dbi_io, &lcd_dev_config, &mipi_dpi_panel));
#endifESP_ERROR_CHECK(esp_lcd_panel_reset(mipi_dpi_panel));
ESP_ERROR_CHECK(esp_lcd_panel_init(mipi_dpi_panel));
// turn on backlightexample_bsp_set_lcd_backlight(EXAMPLE_LCD_BK_LIGHT_ON_LEVEL);
ESP_LOGI(TAG, "Initialize LVGL library");
lv_init();
// create a lvgl displaylv_display_t *display = lv_display_create(EXAMPLE_MIPI_DSI_LCD_H_RES, EXAMPLE_MIPI_DSI_LCD_V_RES);
// associate the mipi panel handle to the displaylv_display_set_user_data(display, mipi_dpi_panel);
// create draw buffervoid *buf1 = NULL;
void *buf2 = NULL;
ESP_LOGI(TAG, "Allocate separate LVGL draw buffers");
// Note:// Keep the display buffer in **internal** RAM can speed up the UI because LVGL uses it a lot and it should have a fast access time// This example allocate the buffer from PSRAM mainly because we want to save the internal RAMsize_t draw_buffer_sz = EXAMPLE_MIPI_DSI_LCD_H_RES * EXAMPLE_LVGL_DRAW_BUF_LINES * sizeof(lv_color_t);
buf1 = heap_caps_malloc(draw_buffer_sz, MALLOC_CAP_SPIRAM);
assert(buf1);
buf2 = heap_caps_malloc(draw_buffer_sz, MALLOC_CAP_SPIRAM);
assert(buf2);
// initialize LVGL draw bufferslv_display_set_buffers(display, buf1, buf2, draw_buffer_sz, LV_DISPLAY_RENDER_MODE_PARTIAL);
// set color depthlv_display_set_color_format(display, LV_COLOR_FORMAT_RGB888);
// set the callback which can copy the rendered image to an area of the displaylv_display_set_flush_cb(display, example_lvgl_flush_cb);
ESP_LOGI(TAG, "Register DPI panel event callback for LVGL flush ready notification");
esp_lcd_dpi_panel_event_callbacks_t cbs = {
.on_color_trans_done = example_notify_lvgl_flush_ready,
#if CONFIG_EXAMPLE_MONITOR_FPS_BY_GPIO
.on_refresh_done = example_monitor_fps,
#endif
};
ESP_ERROR_CHECK(esp_lcd_dpi_panel_register_event_callbacks(mipi_dpi_panel, &cbs, display));
ESP_LOGI(TAG, "Use esp_timer as LVGL tick timer");
constesp_timer_create_args_t lvgl_tick_timer_args = {
.callback = &example_increase_lvgl_tick,
.name = "lvgl_tick"
};
esp_timer_handle_t lvgl_tick_timer = NULL;
ESP_ERROR_CHECK(esp_timer_create(&lvgl_tick_timer_args, &lvgl_tick_timer));
ESP_ERROR_CHECK(esp_timer_start_periodic(lvgl_tick_timer, EXAMPLE_LVGL_TICK_PERIOD_MS * 1000));
// LVGL APIs are meant to be called across the threads without protection, so we use a mutex here
lvgl_api_mux = xSemaphoreCreateRecursiveMutex();
assert(lvgl_api_mux);
ESP_LOGI(TAG, "Create LVGL task");
xTaskCreate(example_lvgl_port_task, "LVGL", EXAMPLE_LVGL_TASK_STACK_SIZE, NULL, EXAMPLE_LVGL_TASK_PRIORITY, NULL);
ESP_LOGI(TAG, "Display LVGL Meter Widget");
// Lock the mutex due to the LVGL APIs are not thread-safeif (example_lvgl_lock(-1)) {
example_lvgl_demo_ui(display);
// Release the mutexexample_lvgl_unlock();
}
}
Other Steps to Reproduce
No response
I have checked existing issues, README.md and ESP32 Forum
I confirm I have checked existing issues, online documentation and Troubleshooting guide.
The text was updated successfully, but these errors were encountered:
Board
Esp32-P4-Function-EV-Board
Hardware Description
MIPI Display attached to Esp32P4-Function-EV-Board.
IDE Name
Espressif IDE(V5.3.2)
Operating System
Windows11
Description
I am working with an ESP32-P4 Function-EV-Board and using the Espressif IDE (v5.3.2). I imported the MIPI-DSI example and completed the compilation. After flashing the code, no data is displayed on the MIPI display. However, the output on Tera Term is :
SP-ROM:esp32p4-eco2-20240710
Build:Jul 10 2024
rst:0x3 (SW_SYS_RESET),boot:0xc (SPI_FAST_FLASH_BOOT)
Core0 Saved PC:0x4ff00766
Core1 Saved PC:0x4ff03afa
SPI mode:DIO, clock div:1
load:0x4ff33ce0,len:0x18e4
load:0x4ff2abd0,len:0xd74
load:0x4ff2cbd0,len:0x322c
entry 0x4ff2abda
I (203) esp_image: segment 5: paddr=00085318 vaddr=4ff0a7m
I (240) hex_psram: dev id : 0x03 (generation 4)
I (245) hex_psram: density : 0x07 (256 Mbit)
I (251) hex_psram: good-die : 0x06 (Pass)
I (256) hex_psram: SRF : 0x02 (Slow Refresh)
I (262) hex_psram: BurstType : 0x00 ( Wrap)
I (267) hex_psram: BurstLen : 0x03 (2048 Byte)
I (272) hex_psram: BitMode : 0x01 (X16 Mode)
I (277) hex_psram: Readlatency : 0x04 (14 cycles@Fixed)
I (283) hex_psram: DriveStrength: 0x00 (1/1)
I (289) MSPI DQS: tuning success, best phase id is 2
I (472) MSPI DQS: tuning success, best delayline id is 11
I (473) esp_psram: Found 32MB PSRAM device
I (473) esp_psram: Speed: 200MHz
I (476) hex_psram: psram CS IO is dedicated
I (480) cpu_start: Multicore app
I (1434) esp_psram: SPI SRAM memory test OK
W (1443) clk: esp_perip_clk_init() has not been implemented yet
I (1450) cpu_start: Pro cpu start user code
I (1450) cpu_start: cpu freq: 360000000 Hz
I (1450) app_init: Application information:
I (1453) app_init: Project name: mipi_dsi_panel
I (1459) app_init: App version: 1
I (1463) app_init: Compile time: Jan 18 2025 11:52:37
I (1469) app_init: ELF file SHA256: 5c42771e6...
I (1475) app_init: ESP-IDF: v5.3.2-dirty
I (1480) efuse_init: Min chip rev: v0.1
I (1485) efuse_init: Max chip rev: v1.99
I (1490) efuse_init: Chip rev: v1.0
I (1495) heap_init: Initializing. RAM available for dynamic allocation:
I (1502) heap_init: At 4FF24A40 len 00016580 (89 KiB): RAM
I (1508) heap_init: At 4FF3AFC0 len 00004BF0 (18 KiB): RAM
I (1514) heap_init: At 4FF40000 len 00060000 (384 KiB): RAM
I (1521) heap_init: At 50108080 len 00007F80 (31 KiB): RTCRAM
I (1527) heap_init: At 3010005C len 00001FA4 (7 KiB): TCM
I (1533) esp_psram: Adding pool of 32768K of PSRAM memory to heap allocator
I (1542) spi_flash: detected chip: generic
I (1545) spi_flash: flash io: dio
W (1549) spi_flash: Detected size(16384k) larger than the size in the binary image header(2048k). Using the size in the binary image header.
I (1563) main_task: Started on CPU0
I (1573) esp_psram: Reserving pool of 32K of internal memory for DMA/internal allocations
I (1573) main_task: Calling app_main()
I (1583) gpio: GPIO[20]| InputEn: 0| OutputEn: 1| OpenDrain: 0| Pullup: 0| Pulldown: 0| Intr:0
I (1593) example: MIPI DSI PHY Powered on
I (1593) example: Install MIPI DSI LCD control IO
I (1603) example: Install MIPI DSI LCD data panel
I (1603) ek79007: version: 1.0.1
I (1773) example: Initialize LVGL library
I (1773) example: Allocate separate LVGL draw buffers
I (1773) example: Register DPI panel event callback for LVGL flush ready notification
I (1773) example: Use esp_timer as LVGL tick timer
I (1783) example: Create LVGL task
I (1783) example: Starting LVGL task
I (1823) example: Display LVGL Meter Widget
I (1833) main_task: Returned from app_main()
Sketch
Other Steps to Reproduce
No response
I have checked existing issues, README.md and ESP32 Forum
The text was updated successfully, but these errors were encountered: