TypeScript/JavaScript gRPC client for remote control of LinuxCNC machine control and HAL. Version 1.0.0 provides a stable gRPC interface to LinuxCNC's Python API, enabling remote monitoring, multi-machine management, and real-time streaming. It exposes two main services: LinuxCNCService for machine control (status, jogging, MDI, file management) and HalService for read-only HAL introspection. Key differentiators: first-class TypeScript support with generated types, real-time status streaming via gRPC, and multi-language server ecosystem (Python, Go, Rust). Ships with generated TypeScript types from protocol buffers.
npm install linuxcnc-grpcNo compatibility data collected yet for this library.
Verified import paths — ran on the pinned version, not inferred.
Demonstrates creating an insecure gRPC client, calling getStatus, handling errors, and logging axis positions.
Use grpc.credentials.createSsl() with proper TLS certificates in production.
Call client.close() when client is no longer needed.
Always instantiate request objects using new, e.g., new GetStatusRequest().
Ensure you used 'new LinuxCNCServiceClient(...)' and imported the correct constructor.
Start the LinuxCNC gRPC server or verify the server address/port is correct.
Use import { GetStatusRequest } from 'linuxcnc-grpc'.Run 'npm install linuxcnc-grpc' and verify package.json includes it.