Josh-XT / AGiXT

AGiXT is a dynamic AI Agent Automation Platform that seamlessly orchestrates instruction management and complex task execution across diverse AI providers. Combining adaptive memory, smart features, and a versatile plugin system, AGiXT delivers efficient and comprehensive AI solutions.
https://AGiXT.com
MIT License
2.6k stars 346 forks source link

Add Arduino Extension #1204

Closed birdup000 closed 2 months ago

birdup000 commented 3 months ago

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:

Internal changes:

Checklist

birdup000 commented 3 months ago

Wait until I keep testing XD don't wanna send breaking changes in the extensions