Skip to content

Conversation

@gabryelreyes
Copy link
Collaborator

@gabryelreyes gabryelreyes commented Dec 27, 2025

USB Host driver is not implemented yet. Will be done in a separate PR. See #217

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds support for Hardware V2 by introducing the HALTargetV2 library, which provides hardware abstraction for an ESP32-S3 based platform. The implementation is largely a copy of the existing HALTarget with adaptations for new GPIO pin assignments and button handling.

Key Changes:

  • New HALTargetV2 library implementing hardware abstraction for ESP32-S3 platform
  • New PlatformIO build environments for ESP32-S3 target (RemoteControlTargetV2)
  • Hardware drivers for network, MQTT, USB host, robot communication, LEDs, buttons, battery monitoring, and file system

Reviewed changes

Copilot reviewed 30 out of 30 changed files in this pull request and generated 14 comments.

Show a summary per file
File Description
platformio.ini Adds ESP32-S3 target configuration and RemoteControlTargetV2 build environment
lib/HALTargetV2/src/USBHost.h/cpp USB Host stream implementation with placeholder methods (not fully implemented)
lib/HALTargetV2/src/Robot.h/cpp Robot communication driver using USB Host
lib/HALTargetV2/src/Network.h/cpp WiFi network management with station and AP modes
lib/HALTargetV2/src/MqttClient.h/cpp MQTT client implementation with connection state management
lib/HALTargetV2/src/Led*.h/cpp LED drivers for RGB LED channels
lib/HALTargetV2/src/Io.hpp I/O pin abstraction templates for digital and analog pins
lib/HALTargetV2/src/GPIO.h/cpp GPIO pin definitions and initialization for ESP32-S3 hardware
lib/HALTargetV2/src/FileHandler.h/cpp LittleFS file system operations
lib/HALTargetV2/src/ButtonDrv.h/cpp Button driver with debouncing and interrupt handling
lib/HALTargetV2/src/Button.h/cpp Button interface implementation
lib/HALTargetV2/src/Battery.h/cpp Battery voltage monitoring and charge level calculation
lib/HALTargetV2/src/Board.h/cpp Main board interface aggregating all hardware components
lib/HALTargetV2/library.json Library metadata and dependencies
.github/workflows/main.yml CI workflow updates to include RemoteControlTargetV2 builds

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link
Owner

@BlueAndi BlueAndi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is much more code that could be in a common HAL to keep the specific HAL as small as possible.

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 13 out of 13 changed files in this pull request and generated 5 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@gabryelreyes gabryelreyes merged commit 1c2e2d8 into main Jan 5, 2026
21 checks passed
@gabryelreyes gabryelreyes deleted the feature/HardwareV2 branch January 5, 2026 10:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants