An open API service providing package, version and dependency metadata of many open source software ecosystems and registries.

Top 6.5% on proxy.golang.org

proxy.golang.org : github.com/koeng101/irobotroot

Package irobotroot provides a Go interface for interacting with iRobot's Root robot using Bluetooth Low Energy (BLE). This package implements the Root Robot Bluetooth Low Energy Protocol as documented by iRobot Education: https://github.com/iRobotEducation/root-robot-ble-protocol The Root robot is an educational robot designed to teach coding basics to students of various ages and skill levels. This package allows developers to communicate with Root robots using any BLE-capable hardware, enabling custom applications and integrations. BLE Characteristics and Services: The Root Robot uses three main BLE services: Root Identifier service (UUID: 48c5d828-ac2a-442d-97a3-0c9822b04979): An empty service used to uniquely identify Root Robots during device scanning. Device Information service (UUID: 0000180a-0000-1000-8000-00805f9b34fb): Provides static information about the Root Robot, including serial number, firmware version, hardware version, manufacturer name, and robot state. UART service (UUID: 6e400001-b5a3-f393-e0a9-e50e24dcca9e): Used for bi-directional communication with the robot. It contains two characteristics: - RX characteristic (UUID: 6e400002-b5a3-f393-e0a9-e50e24dcca9e): For sending commands to the robot. - TX characteristic (UUID: 6e400003-b5a3-f393-e0a9-e50e24dcca9e): For receiving responses and events from the robot. Packet Structure: Communication with the Root robot is done through 20-byte packets with the following structure: - Device (1 byte): Identifies the subsystem of the robot (e.g., motors, sensors). - Command (1 byte): Specifies the action or query for the device. - Packet ID (1 byte): Used for packet identification and matching responses to requests. - Payload (16 bytes): Contains command-specific data. - Checksum (1 byte): CRC-8 checksum for data integrity verification. Devices: The Root robot is organized into several logical devices, each representing a subsystem: - Device 0: General robot operations - Device 1: Motors - Device 2: Marker/Eraser - Device 3: LED Lights - Device 4: Color Sensor - Device 5: Sound - Device 11: IR Proximity - Device 12: Bumpers - Device 13: Light Sensors - Device 14: Battery - Device 16: Accelerometer - Device 17: Touch Sensors - Device 19: Docking Sensors - Device 20: Cliff Sensor - Device 100: Connectivity Each device implements a set of commands for control and data retrieval. Event Processing System: The package implements an event-driven system using Go's concurrency features: This system allows for efficient, concurrent processing of various robot events while maintaining the simplicity and safety of Go's channel-based communication. For detailed usage instructions and API documentation, refer to the function and type descriptions within this package.

Registry - Source - Documentation - JSON
purl: pkg:golang/github.com/koeng101/irobotroot
License: MIT
Latest release: 2 months ago
Namespace: github.com/koeng101
Last synced: 2 months ago