upd struct of prj

This commit is contained in:
01trisha 2026-02-27 08:23:15 +07:00
parent 9a688e62a7
commit fa806d5d4b
7 changed files with 10 additions and 155 deletions

BIN
.DS_Store vendored

Binary file not shown.

1
.gitignore vendored
View File

@ -11,3 +11,4 @@ ui/
# VSCode # VSCode
.vscode .vscode
.DS_Store

View File

@ -70,9 +70,9 @@ target_include_directories(lvgl PUBLIC ${PROJECT_SOURCE_DIR} ${SDL2_INCLUDE_DIRS
# Create the main executable, depending on the FreeRTOS option # Create the main executable, depending on the FreeRTOS option
if(USE_FREERTOS) if(USE_FREERTOS)
add_executable(main add_executable(main
${PROJECT_SOURCE_DIR}/src/main_sim.c ${PROJECT_SOURCE_DIR}/src/main.c
${PROJECT_SOURCE_DIR}/src/freertos_main.cpp ${PROJECT_SOURCE_DIR}/src/freertos_main.cpp
${PROJECT_SOURCE_DIR}/src/mouse_cursor_icon.c ${PROJECT_SOURCE_DIR}/assets/mouse_cursor_icon.c
${PROJECT_SOURCE_DIR}/src/FreeRTOS_Posix_Port.c ${PROJECT_SOURCE_DIR}/src/FreeRTOS_Posix_Port.c
${FREERTOS_SOURCES} # Add only if USE_FREERTOS is enabled ${FREERTOS_SOURCES} # Add only if USE_FREERTOS is enabled
) )
@ -80,8 +80,8 @@ if(USE_FREERTOS)
target_link_libraries(main freertos_config FreeRTOS) target_link_libraries(main freertos_config FreeRTOS)
else() else()
add_executable(main add_executable(main
${PROJECT_SOURCE_DIR}/src/main_sim.c ${PROJECT_SOURCE_DIR}/src/main.c
${PROJECT_SOURCE_DIR}/src/mouse_cursor_icon.c ${PROJECT_SOURCE_DIR}/assets/mouse_cursor_icon.c
) )
endif() endif()

View File

@ -18,7 +18,7 @@ UI интерфейс для контроллера кондиционера-д
``` ```
├── src/ ├── src/
│ ├── main_sim.c # Точка входа для симулятора │ ├── main.c # Точка входа для симулятора
│ ├── gui_generated.c # Основной код UI │ ├── gui_generated.c # Основной код UI
│ └── gui_generated.h # Заголовочный файл UI │ └── gui_generated.h # Заголовочный файл UI
├── assets/ # Изображения и шрифты (.c файлы) ├── assets/ # Изображения и шрифты (.c файлы)

View File

@ -1,12 +1,8 @@
/** /**
* @file main * @file main_sim
* * Simulator entry point for GUI Editor design
*/ */
/*********************
* INCLUDES
*********************/
#ifndef _DEFAULT_SOURCE #ifndef _DEFAULT_SOURCE
#define _DEFAULT_SOURCE /* needed for usleep() */ #define _DEFAULT_SOURCE /* needed for usleep() */
#endif #endif
@ -20,57 +16,12 @@
#include <pthread.h> #include <pthread.h>
#endif #endif
#include "lvgl/lvgl.h" #include "lvgl/lvgl.h"
#include "lvgl/examples/lv_examples.h"
#include "lvgl/demos/lv_demos.h"
#include <SDL.h> #include <SDL.h>
#include "gui_generated.h"
/*********************
* DEFINES
*********************/
/**********************
* TYPEDEFS
**********************/
/**********************
* STATIC PROTOTYPES
**********************/
static lv_display_t * hal_init(int32_t w, int32_t h); static lv_display_t * hal_init(int32_t w, int32_t h);
/**********************
* STATIC VARIABLES
**********************/
/**********************
* MACROS
**********************/
/**********************
* GLOBAL FUNCTIONS
**********************/
extern void freertos_main(void); extern void freertos_main(void);
extern void placeWidgets();
/*********************
* DEFINES
*********************/
/**********************
* TYPEDEFS
**********************/
/**********************
* VARIABLES
**********************/
/**********************
* STATIC PROTOTYPES
**********************/
/**********************
* GLOBAL FUNCTIONS
**********************/
int main(int argc, char **argv) int main(int argc, char **argv)
{ {
@ -85,7 +36,7 @@ int main(int argc, char **argv)
#if LV_USE_OS == LV_OS_NONE #if LV_USE_OS == LV_OS_NONE
placeWidgets(); gui_init();
while(1) { while(1) {
/* Periodically call the lv_task handler. /* Periodically call the lv_task handler.
@ -108,10 +59,6 @@ int main(int argc, char **argv)
return 0; return 0;
} }
/**********************
* STATIC FUNCTIONS
**********************/
/** /**
* Initialize the Hardware Abstraction Layer (HAL) for the LVGL graphics * Initialize the Hardware Abstraction Layer (HAL) for the LVGL graphics
* library * library

View File

@ -1,93 +0,0 @@
/**
* @file main_sim
* Simulator entry point for GUI Editor design
*/
#ifndef _DEFAULT_SOURCE
#define _DEFAULT_SOURCE /* needed for usleep() */
#endif
#include <stdlib.h>
#include <stdio.h>
#ifdef _MSC_VER
#include <Windows.h>
#else
#include <unistd.h>
#include <pthread.h>
#endif
#include "lvgl/lvgl.h"
#include <SDL.h>
#include "gui_generated.h"
static lv_display_t * hal_init(int32_t w, int32_t h);
extern void freertos_main(void);
int main(int argc, char **argv)
{
(void)argc; /*Unused*/
(void)argv; /*Unused*/
/*Initialize LVGL*/
lv_init();
/*Initialize the HAL (display, input devices, tick) for LVGL*/
hal_init(800, 480);
#if LV_USE_OS == LV_OS_NONE
gui_init();
while(1) {
/* Periodically call the lv_task handler.
* It could be done in a timer interrupt or an OS task too.*/
lv_timer_handler();
#ifdef _MSC_VER
Sleep(5);
#else
usleep(5 * 1000);
#endif
}
#elif LV_USE_OS == LV_OS_FREERTOS
/* Run FreeRTOS and create lvgl task */
freertos_main();
#endif
return 0;
}
/**
* Initialize the Hardware Abstraction Layer (HAL) for the LVGL graphics
* library
*/
static lv_display_t * hal_init(int32_t w, int32_t h)
{
lv_group_set_default(lv_group_create());
lv_display_t * disp = lv_sdl_window_create(w, h);
lv_indev_t * mouse = lv_sdl_mouse_create();
lv_indev_set_group(mouse, lv_group_get_default());
lv_indev_set_display(mouse, disp);
lv_display_set_default(disp);
LV_IMAGE_DECLARE(mouse_cursor_icon); /*Declare the image file.*/
lv_obj_t * cursor_obj;
cursor_obj = lv_image_create(lv_screen_active()); /*Create an image object for the cursor */
lv_image_set_src(cursor_obj, &mouse_cursor_icon); /*Set the image source*/
lv_indev_set_cursor(mouse, cursor_obj); /*Connect the image object to the driver*/
lv_indev_t * mousewheel = lv_sdl_mousewheel_create();
lv_indev_set_display(mousewheel, disp);
lv_indev_set_group(mousewheel, lv_group_get_default());
lv_indev_t * kb = lv_sdl_keyboard_create();
lv_indev_set_display(kb, disp);
lv_indev_set_group(kb, lv_group_get_default());
return disp;
}