* add I2C and SPI tools for hardware interaction - Implemented I2CTool for I2C bus interaction, including device scanning, reading, and writing. - Implemented SPITool for SPI bus communication, supporting device listing, data transfer, and reading. - Added platform-specific implementations for Linux and stubs for non-Linux platforms. - Updated agent loop to register new I2C and SPI tools. - Created documentation for hardware skills, including usage examples and pinmux setup instructions. * Remove build constraints for Linux from I2C and SPI tool files.
19 lines
557 B
Go
19 lines
557 B
Go
//go:build !linux
|
|
|
|
package tools
|
|
|
|
// scan is a stub for non-Linux platforms.
|
|
func (t *I2CTool) scan(args map[string]interface{}) *ToolResult {
|
|
return ErrorResult("I2C is only supported on Linux")
|
|
}
|
|
|
|
// readDevice is a stub for non-Linux platforms.
|
|
func (t *I2CTool) readDevice(args map[string]interface{}) *ToolResult {
|
|
return ErrorResult("I2C is only supported on Linux")
|
|
}
|
|
|
|
// writeDevice is a stub for non-Linux platforms.
|
|
func (t *I2CTool) writeDevice(args map[string]interface{}) *ToolResult {
|
|
return ErrorResult("I2C is only supported on Linux")
|
|
}
|