UNPKG

jlink-mcp

Version:

MCP server for SEGGER J-Link debug probes — LLM-driven embedded debugging with RTT, GDB server, and Trice/Pigweed support

72 lines 2.22 kB
import { EventEmitter } from "events"; export interface ParsedLogLine { /** Device uptime timestamp like "00:03:09.516,100" */ deviceTime: string | null; /** Log level: dbg, inf, wrn, err */ level: string | null; /** Module name like "main", "inference_engine" */ module: string | null; /** The actual log message */ message: string; /** Original raw line */ raw: string; } export interface RTTMessage { channel: number; timestamp: Date; /** Raw data from the device */ rawData: string; /** Cleaned lines (ANSI stripped, headers removed) */ lines: ParsedLogLine[]; } /** * Connects to RTT via telnet (when JLinkGDBServer is running). * JLinkGDBServer exposes RTT channel 0 on a configurable telnet port (default 19021). * * Automatically strips ANSI escape codes and SEGGER banners. * Parses Zephyr-style log lines into structured fields. */ export declare class RTTClient extends EventEmitter { private socket; private host; private port; private messages; /** Flat buffer of all parsed log lines for searching */ private allLines; private maxMessages; private maxLines; private reconnectTimer; private connected; private lineBuffer; constructor(host?: string, port?: number); /** Connect to RTT telnet port */ connect(): Promise<void>; /** Disconnect */ disconnect(): void; /** Send data to RTT down-channel (host → device) */ send(data: string): boolean; /** Get recent log lines as formatted text */ getLines(count?: number): string[]; /** Search/filter log lines */ search(opts: { level?: string; module?: string; pattern?: string; count?: number; }): ParsedLogLine[]; /** Get messages (for backward compat / resource access) */ getMessages(count?: number): RTTMessage[]; /** Clear all buffers */ clearBuffer(): void; /** Check connection status */ isConnected(): boolean; /** Get buffer stats */ getStats(): { connected: boolean; lineCount: number; messageCount: number; host: string; port: number; }; } //# sourceMappingURL=rtt-client.d.ts.map