jason-mao/gmf_board_manager

0.3.0-beta3

Pre-release
uploaded 1 week ago
Board manager for ESP-GMF

changelog

# 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

Links

Supports all targets

License: Custom

To add this component to your project, run:

idf.py add-dependency "jason-mao/gmf_board_manager^0.3.0-beta3"

or download archive

Stats

  • Archive size
    Archive size ~ 964.83 KB
  • Downloaded in total
    Downloaded in total 26 times
  • Downloaded this version
    This version: 3 times

Badge

jason-mao/gmf_board_manager version: 0.3.0-beta3
|