Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This change introduces a new
arduino_control
class that allows for controlling an Arduino board via USB or WiFi. The class provides methods for sending raw commands, reading output, performing digital and analog reads/writes, setting pin modes, and controlling an LED.Motivation and Context
This change is required to enable the ability to control and interact with an Arduino board from within the application. It solves the problem of having to manually interface with the Arduino, allowing for programmatic control and integration with the application's functionality.
How has this been tested?
The changes have been tested by connecting an Arduino Mega board to the development environment via USB and WiFi. The various methods of the
arduino_control
class were tested by sending commands and verifying the expected behavior on the Arduino board. Additionally, unit tests were added to ensure the proper functioning of the class methods.Screenshots (if appropriate)
N/A
Types of changes
Changes visible to users:
feat
- non-breaking change which adds functionality)Internal changes:
refactor
- non-breaking change which only improves the design or structure of existing code, and making no changes to its external behaviour)test
- additions and improvements to unit tests and the smoke tests)Checklist