- Implemented sgl_textline widget for displaying multi-line text with customizable properties such as font, color, and background.
- Added sgl_unzip_image widget to handle compressed image data, including drawing with transparency and color replacement.
- Created sgl_win widget for window management, featuring title text, close button, and customizable appearance attributes.
- Each widget includes necessary functions for creation, property setting, and rendering.
- Modified shell_port.c to replace interrupt-based UART reception with DMA.
- Introduced a DMA buffer for UART data and adjusted the shell buffer handling.
- Added idle interrupt handling to process incoming data from the DMA buffer.
- Updated freertos_f407.ioc to configure DMA for USART1 RX and TX.
- Enabled necessary NVIC interrupts for DMA streams associated with USART1.
- Introduced lvm.h for Lua virtual machine definitions, including functions for type conversion, fast table access, and integer operations.
- Implemented lzio.c and lzio.h for buffered stream handling, providing functionalities for reading from streams and managing buffers.
- Added necessary macros and function declarations to support efficient stream operations and memory management.