# Changelog ## v0.3.0 (Latest) ### **Performance & Workflow Improvements** - **Script Merging**: Unified `gen_kconfig.py` functionality into `gen_config_codes.py` - **Performance Boost**: 81% faster execution for full generation (2.017s → 0.378s) - **Unified Workflow**: Single entry point with 8-step streamlined process - **Enhanced Logging & Error Handling**: Removed duplicate information, clearer step descriptions and error output - **Scan Path Display**: Clear visibility of Default, Customer, and Components board paths - **CMake Integration**: Enhanced error reporting with full output display ### **New Board & Device Support** - **ESP-BOX-3 Development Board**: Added comprehensive support for ESP-BOX-3 board (ESP32-S3) - Example: Full peripheral configuration with I2C, I2S, SPI, LEDC, and GPIO support - **SPIFFS Filesystem Device** (`fs_spiffs`): Added SPIFFS filesystem support - **LEDC Control Device** (`ledc_ctrl`): Added LEDC peripheral control device ### **API & Technical Improvements** - **New Peripheral Configuration API**: Added `board_manager_get_periph_config()` function - **Enhanced Device Names**: Added new device name constants in `board_names.h` - Example: `BOARD_DEVICE_NAME_FS_SPIFFS`, `BOARD_DEVICE_TYPE_LEDC_CTRL` - **Improved Header Organization**: Refined peripheral and device header file structure - **Optimized Memory Usage**: Reduced process overhead and code duplication - **Simplified SDK Configuration Parameters**: Reduced redundant sdkconfig control options from 4 to 2 core parameters ### **Testing & Documentation** - **New Test Applications**: Added comprehensive test applications for new `test_dev_fs_spiffs.c`, `test_periph_ledc.c` - **Device and Peripheral Rules**: Added Detailed YAML configuration rules and best practices documentation in `docs/device_and_peripheral_rules.md` ## v0.2.0 ### **New Boards** - Echoear Core Board V1.0 (ESP32-S3) - Full audio, LCD, touch, and SD card support - Dual Eyes Board V1.0 (ESP32-S3) - Dual LCD display with touch support ### **Peripheral Support** - SPI: In Development → Fully Supported - LEDC: Planned → Fully Supported - GPIO: Enhanced with improved type safety and error handling ### **Major Architecture Refactor** - **Complete modular redesign**: Split monolithic script into modular generators - **New generators system**: `config_generator`, `sdkconfig_manager`, `dependency_manager`, `source_scanner` - **Enhanced code generation**: Improved C code generation with better structure and error handling - **Automatic dependency management**: Smart component dependency detection and `idf_component.yml` updates - **SDK configuration automation**: Automatic ESP-IDF feature enabling based on board requirements ### **Code Quality & Safety** - Fixed const qualifier warnings in pointer assignments - Removed redundant `board_periph_handles_num` variable - Fixed int-to-pointer-cast warnings using `uintptr_t` - Enhanced memory efficiency by removing unnecessary global variables - Improved type safety across all peripherals ### **Build System** - Eliminated all compiler warnings related to const qualifiers and type conversions - Simplified data structures and traversal logic - Improved type safety for integer-to-pointer conversions ## v0.1.0 ### Features - Initial release of GMF Board Manager - Basic board configuration management system - YAML-based configuration support - Automatic code generation - Multi-path board scanning - Support for I2C, I2S, GPIO peripherals - Support for audio codecs and SD cards - ESP32-S3 Korvo2 V3, ESP32-S3 Korvo2L, ESP32 Lyrat Mini V1.1, ESP32-C5 Spot board support
idf.py add-dependency "jason-mao/gmf_board_manager^0.3.0-beta3"