Skip to content

Namespace Belay.Core

Namespaces

Belay.Core.Examples

Belay.Core.Execution

Belay.Core.Security

Belay.Core.Testing

Classes

AttributeHandler

Simple attribute handler that replaces the complex executor hierarchy. Handles method attributes with direct, understandable logic.

Device

Main entry point for MicroPython device communication. Provides a high-level interface for connecting to and interacting with MicroPython devices.

DeviceConnection

Unified device connection that handles both serial and subprocess communication. Uses sophisticated adaptive Raw REPL protocol with graceful degradation to basic mode. Implements simplified architecture principles while maintaining advanced protocol capabilities.

DeviceDiscovery

Simple device discovery that returns available serial ports. Replaces complex detection logic with basic port enumeration.

DeviceException

Simple exception for all device-related errors. Follows simple error handling pattern with minimal complexity.

DeviceOutputEventArgs

Represents the output received from a device.

DeviceState

Simple state tracking for MicroPython device operations. Replaces complex session management with lightweight state tracking aligned with single-threaded MicroPython device constraints.

DeviceStateChangeEventArgs

Represents a change in device connection state.

DirectExecutor

Direct executor that handles all attribute types via AttributeHandler. Replaces the complex executor hierarchy with a single, focused implementation.

EnhancedExecutionResult

Enhanced execution result with detailed error classification and diagnostics.

LinuxSerialConnection

Minimal Linux-compatible serial connection using file I/O operations. Simple cross-platform serial communication for MicroPython devices.

ProcessSerialConnection

Process-based serial connection that uses external processes for I/O like mpremote does. This approach avoids the FileStream blocking issues on Linux serial devices.

RawReplProtocol

Simple, documented Raw REPL protocol implementation. Replaces complex protocol abstractions with direct, understandable code. See ICD-001 for protocol specification.

RawReplResult

Result from Raw REPL code execution with enhanced error classification.

ResultParser

Simple result parser that replaces complex result mapping infrastructure. Handles conversion from device output to strongly-typed results.

SimpleCache

Simple, efficient caching implementation that replaces the complex caching infrastructure. Uses basic memoization suitable for MicroPython device operations.

SimpleDeviceCapabilities

Simplified device capabilities with efficient batched detection. Replaces sequential capability detection with single optimized call.

SimpleRawRepl

Simple Raw REPL implementation following official MicroPython mpremote patterns. Direct implementation without complex state management or capability detection.

SimplifiedCapabilityDetection

Provides simplified capability detection for MicroPython devices using a single batched approach. Replaces the complex sequential detection system with efficient batched detection.

SimplifiedDevice

Simplified device implementation using direct AttributeHandler and IDeviceConnection. Replaces complex executor hierarchy with direct, documented interfaces per ICD-002.

Interfaces

IDeviceConnection

Simplified device connection interface that replaces the complex IDeviceCommunication hierarchy. Focuses on essential operations without over-abstraction. See ICD-002 for complete specification.

Enums

DeviceConnection.ConnectionType

Connection types supported by this device connection.

DeviceConnection.ConnectionType

Connection types supported by this device connection.

DeviceConnectionState

Represents the connection state of a device.

ExecutionErrorType

Represents the type of error that occurred during code execution. Provides enhanced error classification for better diagnostics and handling.

SimpleDeviceFeatureSet

Hardware features that can be detected on MicroPython devices.

Released under the Apache License 2.0.