新增了部分代码注释

This commit is contained in:
ipason 2025-04-28 17:49:47 +08:00
parent f9b3b1b272
commit 25b8f6a191
9 changed files with 54 additions and 18 deletions

View File

@ -16,6 +16,10 @@ static esp_lcd_touch_handle_t tp = NULL;
static SemaphoreHandle_t lvgl_mux = NULL; static SemaphoreHandle_t lvgl_mux = NULL;
static const char *TAG = "LCD_Init"; static const char *TAG = "LCD_Init";
/* 用于初始化配置的全局变量 */
static lv_disp_draw_buf_t disp_buf; // Contains internal graphic buffer(s) called draw buffer(s)
static lv_disp_drv_t disp_drv; // Contains callback functions
/** /**
* @brief LVGL库 * @brief LVGL库
* *
@ -166,6 +170,8 @@ static void example_lvgl_port_task(void *arg)
static void example_init_i80_bus(esp_lcd_panel_io_handle_t *io_handle, void *user_ctx) static void example_init_i80_bus(esp_lcd_panel_io_handle_t *io_handle, void *user_ctx)
{ {
ESP_LOGI(TAG, "Initialize Intel 8080 bus"); ESP_LOGI(TAG, "Initialize Intel 8080 bus");
/* 创建i80总线控制句柄 */
esp_lcd_i80_bus_handle_t i80_bus = NULL; esp_lcd_i80_bus_handle_t i80_bus = NULL;
esp_lcd_i80_bus_config_t bus_config = { esp_lcd_i80_bus_config_t bus_config = {
.clk_src = LCD_CLK_SRC_DEFAULT, .clk_src = LCD_CLK_SRC_DEFAULT,
@ -185,8 +191,10 @@ static void example_init_i80_bus(esp_lcd_panel_io_handle_t *io_handle, void *use
.max_transfer_bytes = EXAMPLE_LCD_H_RES * 100 * sizeof(uint16_t), .max_transfer_bytes = EXAMPLE_LCD_H_RES * 100 * sizeof(uint16_t),
.dma_burst_size = EXAMPLE_DMA_BURST_SIZE, .dma_burst_size = EXAMPLE_DMA_BURST_SIZE,
}; };
/* 根据配置创建 i80总线控制句柄 */
ESP_ERROR_CHECK(esp_lcd_new_i80_bus(&bus_config, &i80_bus)); ESP_ERROR_CHECK(esp_lcd_new_i80_bus(&bus_config, &i80_bus));
/* 配置i80总线IO引脚 */
esp_lcd_panel_io_i80_config_t io_config = { esp_lcd_panel_io_i80_config_t io_config = {
.cs_gpio_num = EXAMPLE_PIN_NUM_CS, .cs_gpio_num = EXAMPLE_PIN_NUM_CS,
.pclk_hz = EXAMPLE_LCD_PIXEL_CLOCK_HZ, .pclk_hz = EXAMPLE_LCD_PIXEL_CLOCK_HZ,
@ -289,10 +297,8 @@ static void example_init_touch_panel(void)
*/ */
void initialize_display_and_touch(void) void initialize_display_and_touch(void)
{ {
static lv_disp_draw_buf_t disp_buf; // Contains internal graphic buffer(s) called draw buffer(s)
static lv_disp_drv_t disp_drv; // Contains callback functions
/* Check if the backlight pin is valid */ /* 确定背光是否可用 */
#if EXAMPLE_PIN_NUM_BK_LIGHT >= 0 #if EXAMPLE_PIN_NUM_BK_LIGHT >= 0
ESP_LOGI(TAG, "Turn off LCD backlight"); ESP_LOGI(TAG, "Turn off LCD backlight");
gpio_config_t bk_gpio_config = { gpio_config_t bk_gpio_config = {
@ -300,13 +306,15 @@ void initialize_display_and_touch(void)
.pin_bit_mask = 1ULL << EXAMPLE_PIN_NUM_BK_LIGHT .pin_bit_mask = 1ULL << EXAMPLE_PIN_NUM_BK_LIGHT
}; };
ESP_ERROR_CHECK(gpio_config(&bk_gpio_config)); ESP_ERROR_CHECK(gpio_config(&bk_gpio_config));
/* 关闭LCD背光 */
gpio_set_level(EXAMPLE_PIN_NUM_BK_LIGHT, EXAMPLE_LCD_BK_LIGHT_OFF_LEVEL); gpio_set_level(EXAMPLE_PIN_NUM_BK_LIGHT, EXAMPLE_LCD_BK_LIGHT_OFF_LEVEL);
#endif // EXAMPLE_PIN_NUM_BK_LIGHT >= 0 #endif // EXAMPLE_PIN_NUM_BK_LIGHT >= 0
/* Initialize i80 bus */ /* 初始化i80总线 */
esp_lcd_panel_io_handle_t io_handle = NULL; esp_lcd_panel_io_handle_t io_handle = NULL;
example_init_i80_bus(&io_handle, &disp_drv); example_init_i80_bus(&io_handle, &disp_drv);
/* Initialize lcd control panel */
/* 初始化LCD控制panel */
esp_lcd_panel_handle_t panel_handle = NULL; esp_lcd_panel_handle_t panel_handle = NULL;
example_init_lcd_panel(io_handle, &panel_handle); example_init_lcd_panel(io_handle, &panel_handle);
@ -322,7 +330,7 @@ void initialize_display_and_touch(void)
//gpio_set_level(EXAMPLE_PIN_NUM_BK_LIGHT, EXAMPLE_LCD_BK_LIGHT_ON_LEVEL); //gpio_set_level(EXAMPLE_PIN_NUM_BK_LIGHT, EXAMPLE_LCD_BK_LIGHT_ON_LEVEL);
#endif // EXAMPLE_PIN_NUM_BK_LIGHT >= 0 #endif // EXAMPLE_PIN_NUM_BK_LIGHT >= 0
/* Place the initialization of the touch screen driver here */ /* 初始化触摸屏 */
example_init_touch_panel(); example_init_touch_panel();
ESP_LOGI(TAG, "Initialize LVGL library"); ESP_LOGI(TAG, "Initialize LVGL library");

View File

@ -75,7 +75,7 @@ extern "C" {
#define EXAMPLE_LVGL_TASK_MAX_DELAY_MS 500 #define EXAMPLE_LVGL_TASK_MAX_DELAY_MS 500
#define EXAMPLE_LVGL_TASK_MIN_DELAY_MS 1 #define EXAMPLE_LVGL_TASK_MIN_DELAY_MS 1
#define EXAMPLE_LVGL_TASK_STACK_SIZE (16 * 1024) #define EXAMPLE_LVGL_TASK_STACK_SIZE (16 * 1024)
#define EXAMPLE_LVGL_TASK_PRIORITY 2 #define EXAMPLE_LVGL_TASK_PRIORITY 3
#define EXAMPLE_DMA_BURST_SIZE (64) #define EXAMPLE_DMA_BURST_SIZE (64)

View File

@ -127,11 +127,15 @@ static esp_err_t s_example_write_file(const char *path, char *data)
* *
* *
* @param[in] data * @param[in] data
* @param[in] file_name
* @param[in] functionName
* @param[in] taskName
* @param[in] line_num
* @param[in] freeStack
* @return 0
*/ */
esp_err_t example_write_log(char *data,char *file_name,char *functionName,char *taskName,uint16_t line_num,int32_t freeStack) esp_err_t example_write_log(char *data,char *file_name,char *functionName,char *taskName,uint16_t line_num,int32_t freeStack)
{ {
ESP_LOGI(SD_TAG, "Opening file %s", sdData.log_file_dir);
FILE *f = fopen(sdData.log_file_dir, "a+"); FILE *f = fopen(sdData.log_file_dir, "a+");
if (f == NULL) { if (f == NULL) {
ESP_LOGE(SD_TAG, "Failed to open file for writing"); ESP_LOGE(SD_TAG, "Failed to open file for writing");

View File

@ -120,6 +120,9 @@ void on_spinboxRate_valueChanged(lv_event_t * e)
/* 更新SD卡中需要存储的频率数据 */ /* 更新SD卡中需要存储的频率数据 */
sdData.flux_test_result.current_rate = FluxMachineData.breathRate; sdData.flux_test_result.current_rate = FluxMachineData.breathRate;
#if LOG_RECORD_ENABLE
WRITE_LOG_TO_SD("正常情况下呼吸频率更改切换");
#endif
} }
/** /**
@ -296,6 +299,9 @@ void on_spinboxStage_valueChanged(lv_event_t * e)
/* 更新当前挡位数据 */ /* 更新当前挡位数据 */
sdData.flux_test_result.current_stage = value; sdData.flux_test_result.current_stage = value;
#if LOG_RECORD_ENABLE
WRITE_LOG_TO_SD("正常情况下的挡位切换");
#endif
} }
/** /**
@ -571,10 +577,10 @@ void on_dropdown_deviceTypeBS_valueChanged(lv_event_t * e)
/* 更新挡位显示范围 */ /* 更新挡位显示范围 */
if (index == Spirit3) if (index == Spirit3)
{ {
lv_spinbox_set_range(ui_pageHome_spinboxStage,1,4); //lv_spinbox_set_range(ui_pageHome_spinboxStage,1,4);
lv_spinbox_set_range(ui_pageHome_spinboxStageBS,1,4); lv_spinbox_set_range(ui_pageHome_spinboxStageBS,1,4);
}else{ }else{
lv_spinbox_set_range(ui_pageHome_spinboxStage,1,6); //lv_spinbox_set_range(ui_pageHome_spinboxStage,1,6);
lv_spinbox_set_range(ui_pageHome_spinboxStageBS,1,6); lv_spinbox_set_range(ui_pageHome_spinboxStageBS,1,6);
} }

View File

@ -31,4 +31,8 @@ void on_sliderLight_valueChanged(lv_event_t * e)
// Update duty to apply the new value // Update duty to apply the new value
ESP_ERROR_CHECK(ledc_update_duty(LEDC_LOW_SPEED_MODE, LEDC_CHANNEL_0)); ESP_ERROR_CHECK(ledc_update_duty(LEDC_LOW_SPEED_MODE, LEDC_CHANNEL_0));
#if LOG_RECORD_ENABLE
WRITE_LOG_TO_SD("修改亮度");
#endif
} }

View File

@ -109,6 +109,11 @@ void on_buttonConnectWifi_clicked(lv_event_t * e)
ESP_LOGI("TAG", "wifi_init_sta finished."); ESP_LOGI("TAG", "wifi_init_sta finished.");
esp_wifi_connect(); esp_wifi_connect();
#if LOG_RECORD_ENABLE
WRITE_LOG_TO_SD("进行Wifi连接");
#endif
#endif #endif
} }

View File

@ -357,7 +357,7 @@ void uart2_echoTask(void* arg)
uint8_t *data = (uint8_t *) malloc(BUF_SIZE); uint8_t *data = (uint8_t *) malloc(BUF_SIZE);
ESP_LOGI("uart2_echoTask", "UART2 ECHO TEST: start test"); //ESP_LOGI("uart2_echoTask", "UART2 ECHO TEST: start test");
#if LOG_RECORD_ENABLE #if LOG_RECORD_ENABLE
WRITE_LOG_TO_SD("呼吸模拟器消息处理任务初始化完毕") WRITE_LOG_TO_SD("呼吸模拟器消息处理任务初始化完毕")
@ -373,7 +373,7 @@ void uart2_echoTask(void* arg)
// Write data back to the UART // Write data back to the UART
uart_write_bytes(ECHO_UART_PORT_NUM2, (const char *) data, len); uart_write_bytes(ECHO_UART_PORT_NUM2, (const char *) data, len);
ESP_LOGI("uart2_echoTask", "Read %d bytes: '%s'", len, data); //ESP_LOGI("uart2_echoTask", "Read %d bytes: '%s'", len, data);
} }
} }

View File

@ -112,7 +112,7 @@ extern "C" void app_main(void)
vTaskDelay(PROGRESS_DELAY_TIME/portTICK_PERIOD_MS); vTaskDelay(PROGRESS_DELAY_TIME/portTICK_PERIOD_MS);
/*初始化电源管理系统*/ /*初始化电源管理系统*/
xTaskCreate(power_management_task, "powerTask", 4 * 1024, NULL, 2, NULL); xTaskCreate(power_management_task, "powerTask", 4 * 1024, NULL, 1, NULL);
lv_bar_set_value(ui_pageWelCome_barStartProgress,50,LV_ANIM_ON); lv_bar_set_value(ui_pageWelCome_barStartProgress,50,LV_ANIM_ON);
lv_label_set_text(ui_pageWelCome_labelStartInfo,"power management system 50%"); lv_label_set_text(ui_pageWelCome_labelStartInfo,"power management system 50%");
vTaskDelay(PROGRESS_DELAY_TIME/portTICK_PERIOD_MS); vTaskDelay(PROGRESS_DELAY_TIME/portTICK_PERIOD_MS);
@ -123,13 +123,13 @@ extern "C" void app_main(void)
/*创建串口任务*/ /*创建串口任务*/
/*创建UART1响应任务*/ /*创建UART1响应任务*/
xTaskCreate(uart1_echoTask, "uart1_echo_task", 8*1024, NULL, 10, NULL); xTaskCreate(uart1_echoTask, "uart1_echo_task", 8*1024, NULL, 2, NULL);
lv_bar_set_value(ui_pageWelCome_barStartProgress,90,LV_ANIM_ON); lv_bar_set_value(ui_pageWelCome_barStartProgress,90,LV_ANIM_ON);
lv_label_set_text(ui_pageWelCome_labelStartInfo,"serial port task 90%"); lv_label_set_text(ui_pageWelCome_labelStartInfo,"serial port task 90%");
vTaskDelay(PROGRESS_DELAY_TIME/portTICK_PERIOD_MS); vTaskDelay(PROGRESS_DELAY_TIME/portTICK_PERIOD_MS);
/*创建本地时间同步任务*/ /*创建本地时间同步任务*/
xTaskCreate(time_synic_task, "time_synic_task", 8*1024, NULL, 10, NULL); xTaskCreate(time_synic_task, "time_synic_task", 8*1024, NULL, 2, NULL);
/* 创建BS测试LED闪烁任务同时挂起 */ /* 创建BS测试LED闪烁任务同时挂起 */
xTaskCreate(bs_test_led_task, "bs_test_led_task", 4 * 1024, NULL, 2, &bs_stateLED_task_handle); xTaskCreate(bs_test_led_task, "bs_test_led_task", 4 * 1024, NULL, 2, &bs_stateLED_task_handle);
@ -141,7 +141,7 @@ extern "C" void app_main(void)
#if 1/* 支持呼吸模拟器 */ #if 1/* 支持呼吸模拟器 */
/* 创建UART2响应任务 */ /* 创建UART2响应任务 */
xTaskCreate(uart2_echoTask, "uart2_echo_task", ECHO_TASK_STACK_SIZE, NULL, 10, NULL); xTaskCreate(uart2_echoTask, "uart2_echo_task", ECHO_TASK_STACK_SIZE, NULL, 2, NULL);
lv_bar_set_value(ui_pageWelCome_barStartProgress,100,LV_ANIM_ON); lv_bar_set_value(ui_pageWelCome_barStartProgress,100,LV_ANIM_ON);
lv_label_set_text(ui_pageWelCome_labelStartInfo,"serial port task 100%"); lv_label_set_text(ui_pageWelCome_labelStartInfo,"serial port task 100%");
vTaskDelay(PROGRESS_DELAY_TIME/portTICK_PERIOD_MS); vTaskDelay(PROGRESS_DELAY_TIME/portTICK_PERIOD_MS);

View File

@ -2155,7 +2155,16 @@ CONFIG_LV_ASSERT_HANDLER_INCLUDE="assert.h"
# #
# Others # Others
# #
# CONFIG_LV_USE_PERF_MONITOR is not set CONFIG_LV_USE_PERF_MONITOR=y
# CONFIG_LV_PERF_MONITOR_ALIGN_TOP_LEFT is not set
# CONFIG_LV_PERF_MONITOR_ALIGN_TOP_MID is not set
# CONFIG_LV_PERF_MONITOR_ALIGN_TOP_RIGHT is not set
# CONFIG_LV_PERF_MONITOR_ALIGN_BOTTOM_LEFT is not set
# CONFIG_LV_PERF_MONITOR_ALIGN_BOTTOM_MID is not set
CONFIG_LV_PERF_MONITOR_ALIGN_BOTTOM_RIGHT=y
# CONFIG_LV_PERF_MONITOR_ALIGN_LEFT_MID is not set
# CONFIG_LV_PERF_MONITOR_ALIGN_RIGHT_MID is not set
# CONFIG_LV_PERF_MONITOR_ALIGN_CENTER is not set
# CONFIG_LV_USE_REFR_DEBUG is not set # CONFIG_LV_USE_REFR_DEBUG is not set
# CONFIG_LV_SPRINTF_CUSTOM is not set # CONFIG_LV_SPRINTF_CUSTOM is not set
CONFIG_LV_SPRINTF_USE_FLOAT=y CONFIG_LV_SPRINTF_USE_FLOAT=y