Conversation
There was a problem hiding this comment.
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.
BlueAndi
left a comment
There was a problem hiding this comment.
There is much more code that could be in a common HAL to keep the specific HAL as small as possible.
e3ef929 to
6b21835
Compare
There was a problem hiding this comment.
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.
USB Host driver is not implemented yet. Will be done in a separate PR. See #217