Changelog

# Changelog

All notable changes to the VIEWE DeskNob BSP are documented in this file.

The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [0.1.2] - 2026-11-12

### Changed
- Pull display/touch drivers from Component Registry: `viewesmart/esp_lcd_gc9b72` and `viewesmart/esp_lcd_touch_cst826` (no longer local `path:` overrides).

## [0.1.1] - 2026-11-12

### Fixed
- `bsp_display_new()`: use temporary handles and free SPI bus / panel on failure (no half-init “fake success”).
- `bsp_display_start_with_config()`: clear `s_disp` if LVGL adapter start fails; bind `max_transfer_sz` to draw buffer size.
- Touch I2C port: use the other port from `CONFIG_BSP_I2C_NUM` instead of hard-coding `I2C_NUM_1`.
- `BSP_CAPS_USB_MSC` now follows `CONFIG_BSP_USB_MSC`; USB APIs are stubbed when the feature is disabled.
- Button create: destroy already-created buttons if a later button fails.
- Audio I2S: delete channels on init failure.
- USB MSC: unmount wear-levelling / tear down SD MSC storage on storage or driver install failure.
- Touch: accept (0,0) on the round panel; demote per-touch logs to debug.
- Rename touch component to `esp_lcd_touch_cst826` (hardware is CST826, not CST816S).

### Changed
- Default LVGL stripe height `40` → `10` (align with Espressif SPI/QSPI BSP boards: `max_transfer = width × 2 × 10`).
- Default LVGL path uses DMA internal SRAM (`SPI_WITHOUT_PSRAM`) instead of PSRAM bounce buffers.
- `idf_component.yml`: add `url` and `license`; bump version to `0.1.1`.

### Added
- Root `LICENSE` (Apache-2.0) and this `CHANGELOG.md`.

## [0.1.0] - 2026-11-09

### Added
- Initial BSP for VIEWE DeskNob (ESP32-S31): display, touch, audio, SD, buttons, LED strip, battery, Wi-Fi/BT helpers, optional USB MSC.