* Update project version to 2.2.1 and refactor camera component handling
- Incremented project version from 2.2.0 to 2.2.1 in CMakeLists.txt.
- Removed legacy esp32_camera component and replaced it with esp_video for ESP32-S3 and ESP32-P4 boards.
- Updated board implementations to utilize the new esp_video component, ensuring compatibility and improved functionality.
- Cleaned up Kconfig options related to camera selection, streamlining the configuration process.
- Enhanced camera initialization logic across various board files to support the new component structure.
* Refactor camera handling in AtomS3R CAM/M12 EchoBase board
- Replaced the legacy EspVideo component with the new Esp32Camera class for improved camera functionality.
- Updated camera initialization logic to utilize a more structured configuration approach, enhancing clarity and maintainability.
- Removed outdated comments and code related to the previous camera implementation in the README file.
* Update camera configuration for atoms3r-cam-m12-echo-base
- Removed outdated camera configuration options from config.json to streamline the setup.
- Retained essential partition table configuration for improved clarity.
* Enhance Esp32Camera functionality and memory management
- Added esp_timer.h for improved timing functionality.
- Streamlined camera initialization by removing redundant frame buffer setup and logging.
- Improved memory allocation for JPEG encoding and added error handling for unsupported pixel formats.
- Updated comments for clarity and consistency, ensuring better understanding of the code flow.
Introduces a new esp32s3_camera implementation for ESP32-S3 boards using the esp_camera component, with conditional compilation and Kconfig options to select between esp_camera and esp_video. Updates board initialization code and config files to use the new camera class where appropriate, and adjusts build system and dependencies to support both camera components on ESP32-S3 and ESP32-P4 targets.
* Refactor application error handling and improve network task logic
- Updated error handling for modem initialization failure in Application::Initialize().
- Added new error message for modem initialization in English and Chinese language files.
- Simplified lambda captures in NetworkTask to avoid unnecessary references.
- Set main task priority in Application::Run() for better performance.
* Add support for Bread Compact NT26 board
- Introduced new board configuration for Bread Compact NT26 in CMakeLists.txt and Kconfig.
- Added board-specific implementation in compact_nt26_board.cc and nt26_board.cc.
- Created configuration files for NT26, including config.h and config.json.
- Updated dependencies in idf_component.yml to include uart-eth-modem.
- Translated error messages in config.h for OLED display type selection to English.
- Enhanced display and button initialization logic for NT26 board.
* Update project version and improve build configuration
- Updated project version from 2.1.0 to 2.2.0 in CMakeLists.txt.
- Enabled minimal build configuration to include only essential components.
- Updated README files to replace QQ group links with Discord links for community engagement.
* Update Bread Compact NT26 board configuration name in config.json
* fix compile errors
* Update uart-eth-modem dependency format in idf_component.yml
* fix esp32 compiling errors
* Update CMakeLists.txt to change component dependency from REQUIRES to PRIV_REQUIRES for esp_pm, esp_psram, and esp_driver_gpio
* Refactor CMakeLists.txt to explicitly list board common source files and update include directories for better clarity and organization.
* Add esp_driver_ppa as a dependency in CMakeLists.txt
* content: New support for third-party boards: waveshare ESP32-C6-Touch-AMOLED-1.8
* content: Change the TAG of ESP32-C6-Touch-AMOLED-1.8
* content: Change the config.json of ESP32-C6-Touch-AMOLED-1.8
Introduces PowerManager and integrates it into the ESP32S3-Korvo2-V3 board class to monitor battery level, charging status, and manage power save mode. Adds power_manager.h with battery ADC reading, calibration, and event callbacks. Updates board initialization to support power management and power save timer functionality.
Added camera-related sdkconfig options to esp32s3-korvo2-v3 and kevin-sp-v4-dev config.json files. Updated esp32s3_korvo2_v3_board.cc to implement button actions for WiFi config and chat state toggling. Refactored kevin-sp-v4_board.cc to unify I2C bus usage for codec and camera, and adjusted SCCB initialization logic.
* Enhance audio feedback mechanism by introducing a flag to play a popup sound after transitioning to listening mode. Update Schedule method to accept rvalue references for callbacks. Bump esp-ml307 component version to 3.5.3. Adjust signal strength thresholds in Ml307Board for better accuracy.
* Update esp-wifi-connect component version to 3.0.2 in idf_component.yml
* Adjust Wi-Fi signal strength thresholds in WifiBoard for improved accuracy in network state icon representation.
* Upgrade component version
* update fonts component version
* Handle OTA error code
* Update project version to 2.1.0 and add device state machine implementation
- Upgrade esp-wifi-connect to 3.0.0, allowing reconfiguring wifi without rebooting
- Introduce device state machine with state change notification in new files
- Remove obsolete device state event files
- Update application logic to utilize new state machine
- Minor adjustments in various board implementations for state handling
* fix compile errors
* Refactor power saving mode implementation to use PowerSaveLevel enumeration
- Updated Application class to replace SetPowerSaveMode with SetPowerSaveLevel, allowing for LOW_POWER and PERFORMANCE settings.
- Modified various board implementations to align with the new power save level structure.
- Ensured consistent handling of power save levels across different board files, enhancing code maintainability and clarity.
* Refactor power save level checks across multiple board implementations
- Updated the condition for power save level checks in various board files to ensure that the power save timer only wakes up when the level is not set to LOW_POWER.
- Improved consistency in handling power save levels, enhancing code clarity and maintainability.
* Refactor EnterWifiConfigMode calls in board implementations
- Updated calls to EnterWifiConfigMode to use the appropriate instance reference (self or board) across multiple board files.
- Improved code consistency and clarity in handling device state during WiFi configuration mode entry.
* Add cellular modem event handling and improve network status updates
- Introduced new network events for cellular modem operations, including detecting, registration errors, and timeouts.
- Enhanced the Application class to handle different network states and update the display status accordingly.
- Refactored Ml307Board to implement a callback mechanism for network events, improving modularity and responsiveness.
- Updated dual_network_board and board headers to support new network event callbacks, ensuring consistent handling across board implementations.
* update esp-wifi-connect version
* Update WiFi configuration tool messages across multiple board implementations to clarify user actions
* otto v1.4.0 MCP
1.使用MCP协议控制机器人
2.gif继承lcdDisplay,避免修改lcdDisplay
* otto v1.4.1 gif as components
gif as components
* electronBot v1.1.0 mcp
1.增加electronBot支持
2.mcp协议
3.gif 作为组件
4.display子类
* 规范代码
1.规范代码
2.修复切换主题死机bug
* fix(ota): 修复 ottoRobot和electronBot OTA 升级崩溃问题 bug
* 1.增加robot舵机初始位置校准
2.fix(mcp_sever) 超出范围异常捕获类型 bug
* refactor: Update Electron and Otto emoji display implementations
- Removed GIF selection from Kconfig for Electron and Otto boards.
- Updated Electron and Otto bot versions to 2.0.4 in their respective config files.
- Refactored emoji display classes to utilize EmojiCollection for managing emojis.
- Enhanced chat label setup and status display functionality in both classes.
- Cleaned up unused code and improved initialization logging for emoji displays.
* Rename OTTO_ICON_FONT.c to otto_icon_font.c
* Rename OTTO_ICON_FONT.c to otto_icon_font.c
* refactor: Update Otto emoji display configurations and functionalities
- Changed chat label text mode to circular scrolling for both Otto and Electron emoji displays.
- Bumped Otto robot version to 2.0.5 in the configuration file.
- Added new actions for Otto robot including Sit, WhirlwindLeg, Fitness, Greeting, Shy, RadioCalisthenics, MagicCircle, and Showcase.
- Enhanced servo sequence handling and added support for executing custom servo sequences.
- Improved logging and error handling for servo sequence execution.
* refactor: Update chat label long mode for Electron and Otto emoji displays
- Changed chat label text mode from wrap to circular scrolling for both Electron and Otto emoji displays.
- Improved consistency in chat label setup across both implementations.
* Update Otto robot README with new actions and parameters
* Update Otto controller parameters for oscillation settings
- Changed default oscillation period from 500ms to 300ms.
- Increased default steps from 5.0 to 8.0.
- Updated default amplitude from 20 degrees to 0 degrees.
- Enhanced documentation with new examples for oscillation modes and sequences.
* Fix default amplitude initialization in Otto controller to use a single zero instead of two digits.
* chore: update txp666/otto-emoji-gif-component version to 1.0.3 in idf_component.yml
* Refactor Otto controller
- Consolidated movement actions into a unified tool for the Otto robot, allowing for a single action command with various parameters.
- Removed individual movement tools (walk, turn, jump, etc.) and replaced them with a more flexible action system.
* Enhance Otto robot functionality by adding WebSocket control server and IP address retrieval feature. Updated config to support WebSocket, and revised README to include new control options and usage examples.
* Add camera support for Otto Robot board
- Introduced configuration option to enable the Otto Robot camera in Kconfig.
- Updated config.h to define camera-related GPIO pins and settings.
- Modified config.json to include camera configuration.
- Enhanced otto_robot.cc to initialize I2C and camera components when the camera is enabled.
- Adjusted power_manager.h to manage battery updates during camera operations.
- Removed unused SetupChatLabel method from OttoEmojiDisplay class.
* Refactor Otto Robot configuration and initialization
- Removed the camera configuration option from Kconfig and related code.
- Introduced a new HardwareConfig struct to encapsulate hardware pin definitions and settings.
- Updated config.h to define camera and non-camera configurations using the new struct.
- Refactored otto_controller.cc and otto_robot.cc to utilize the HardwareConfig struct for initialization.
- Enhanced camera detection and initialization logic based on hardware version.
- Improved audio codec initialization based on configuration settings.
* otto v1.4.0 MCP
1.使用MCP协议控制机器人
2.gif继承lcdDisplay,避免修改lcdDisplay
* otto v1.4.1 gif as components
gif as components
* electronBot v1.1.0 mcp
1.增加electronBot支持
2.mcp协议
3.gif 作为组件
4.display子类
* 规范代码
1.规范代码
2.修复切换主题死机bug
* fix(ota): 修复 ottoRobot和electronBot OTA 升级崩溃问题 bug
* 1.增加robot舵机初始位置校准
2.fix(mcp_sever) 超出范围异常捕获类型 bug
* refactor: Update Electron and Otto emoji display implementations
- Removed GIF selection from Kconfig for Electron and Otto boards.
- Updated Electron and Otto bot versions to 2.0.4 in their respective config files.
- Refactored emoji display classes to utilize EmojiCollection for managing emojis.
- Enhanced chat label setup and status display functionality in both classes.
- Cleaned up unused code and improved initialization logging for emoji displays.
* Rename OTTO_ICON_FONT.c to otto_icon_font.c
* Rename OTTO_ICON_FONT.c to otto_icon_font.c
* refactor: Update Otto emoji display configurations and functionalities
- Changed chat label text mode to circular scrolling for both Otto and Electron emoji displays.
- Bumped Otto robot version to 2.0.5 in the configuration file.
- Added new actions for Otto robot including Sit, WhirlwindLeg, Fitness, Greeting, Shy, RadioCalisthenics, MagicCircle, and Showcase.
- Enhanced servo sequence handling and added support for executing custom servo sequences.
- Improved logging and error handling for servo sequence execution.
* refactor: Update chat label long mode for Electron and Otto emoji displays
- Changed chat label text mode from wrap to circular scrolling for both Electron and Otto emoji displays.
- Improved consistency in chat label setup across both implementations.
* Update Otto robot README with new actions and parameters
* Update Otto controller parameters for oscillation settings
- Changed default oscillation period from 500ms to 300ms.
- Increased default steps from 5.0 to 8.0.
- Updated default amplitude from 20 degrees to 0 degrees.
- Enhanced documentation with new examples for oscillation modes and sequences.
* Fix default amplitude initialization in Otto controller to use a single zero instead of two digits.
* chore: update txp666/otto-emoji-gif-component version to 1.0.3 in idf_component.yml
* Refactor Otto controller
- Consolidated movement actions into a unified tool for the Otto robot, allowing for a single action command with various parameters.
- Removed individual movement tools (walk, turn, jump, etc.) and replaced them with a more flexible action system.
* Enhance Otto robot functionality by adding WebSocket control server and IP address retrieval feature. Updated config to support WebSocket, and revised README to include new control options and usage examples.
* Add camera support for Otto Robot board
- Introduced configuration option to enable the Otto Robot camera in Kconfig.
- Updated config.h to define camera-related GPIO pins and settings.
- Modified config.json to include camera configuration.
- Enhanced otto_robot.cc to initialize I2C and camera components when the camera is enabled.
- Adjusted power_manager.h to manage battery updates during camera operations.
- Removed unused SetupChatLabel method from OttoEmojiDisplay class.
* Added new board for hu-087 smart AI watch
* Added a README with link to prouct on Aliexpress
* Trying to control chatbot mode instead of listening state
* Removed the esp32-s3 prefix for the board
* Changed board name to match folder naming
* Fixed formating and long URL
* Fixed typo in README.md
* feat: add keepalive check for Himax client and handle restart
* fix: adjust layout and positioning for top and bottom bars
* fix: fix other param restoring default when modifying one param .
* Upgrade component version
* update fonts component version
* change lcd display layout from grids to layers
* Update English README as default
* Handle OTA error code
* otto v1.4.0 MCP
1.使用MCP协议控制机器人
2.gif继承lcdDisplay,避免修改lcdDisplay
* otto v1.4.1 gif as components
gif as components
* electronBot v1.1.0 mcp
1.增加electronBot支持
2.mcp协议
3.gif 作为组件
4.display子类
* 规范代码
1.规范代码
2.修复切换主题死机bug
* fix(ota): 修复 ottoRobot和electronBot OTA 升级崩溃问题 bug
* 1.增加robot舵机初始位置校准
2.fix(mcp_sever) 超出范围异常捕获类型 bug
* refactor: Update Electron and Otto emoji display implementations
- Removed GIF selection from Kconfig for Electron and Otto boards.
- Updated Electron and Otto bot versions to 2.0.4 in their respective config files.
- Refactored emoji display classes to utilize EmojiCollection for managing emojis.
- Enhanced chat label setup and status display functionality in both classes.
- Cleaned up unused code and improved initialization logging for emoji displays.
* Rename OTTO_ICON_FONT.c to otto_icon_font.c
* Rename OTTO_ICON_FONT.c to otto_icon_font.c
* refactor: Update Otto emoji display configurations and functionalities
- Changed chat label text mode to circular scrolling for both Otto and Electron emoji displays.
- Bumped Otto robot version to 2.0.5 in the configuration file.
- Added new actions for Otto robot including Sit, WhirlwindLeg, Fitness, Greeting, Shy, RadioCalisthenics, MagicCircle, and Showcase.
- Enhanced servo sequence handling and added support for executing custom servo sequences.
- Improved logging and error handling for servo sequence execution.
* refactor: Update chat label long mode for Electron and Otto emoji displays
- Changed chat label text mode from wrap to circular scrolling for both Electron and Otto emoji displays.
- Improved consistency in chat label setup across both implementations.
* Update Otto robot README with new actions and parameters
* Update Otto controller parameters for oscillation settings
- Changed default oscillation period from 500ms to 300ms.
- Increased default steps from 5.0 to 8.0.
- Updated default amplitude from 20 degrees to 0 degrees.
- Enhanced documentation with new examples for oscillation modes and sequences.
* Fix default amplitude initialization in Otto controller to use a single zero instead of two digits.
* chore: update txp666/otto-emoji-gif-component version to 1.0.3 in idf_component.yml
* Refactor Otto controller
- Consolidated movement actions into a unified tool for the Otto robot, allowing for a single action command with various parameters.
- Removed individual movement tools (walk, turn, jump, etc.) and replaced them with a more flexible action system.
* Enhance Otto robot functionality by adding WebSocket control server and IP address retrieval feature. Updated config to support WebSocket, and revised README to include new control options and usage examples.
* Add support for the Waveshare ESP32-C6-Touch-AMOLED-2.06 third-party board
* Fix the known issues
* Fix the name
* Update screen brightness
* readme content error correction
* Update the default wake-up word configuration for the ESP32-P4 chip
* Refactor DSI bus configuration for LCD panel
* Update MIPI DSI bus configuration for LCD
* Update MIPI DSI bus configuration structure
* Cancel redundant configuration
* Cancel redundant configuration