linuxcnc

package module
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 5, 2026 License: MIT Imports: 4 Imported by: 0

README

linuxcnc-grpc

PyPI npm crates.io Go Reference

gRPC interface for LinuxCNC machine control and HAL (Hardware Abstraction Layer).

Why gRPC?

LinuxCNC's native Python API only works locally. This project exposes it over gRPC, enabling:

  • Remote monitoring - Build web dashboards, mobile apps, or desktop GUIs
  • Multi-machine management - Monitor a fleet of CNC machines from one place
  • Any-language integration - Use Go, Node.js, Rust, or any gRPC-supported language
  • Real-time streaming - Subscribe to status updates instead of polling

Running the Server

The server runs on your LinuxCNC machine and exposes the gRPC interface.

Basic Usage
pip install linuxcnc-grpc
# or with uv
uv pip install linuxcnc-grpc
linuxcnc-grpc --host 0.0.0.0 --port 50051

LinuxCNC must already be running before starting the server.

Auto-start with LinuxCNC

To start the gRPC server automatically when LinuxCNC launches, add to your machine's HAL file:

# Start gRPC server (runs until LinuxCNC exits)
loadusr linuxcnc-grpc --host 0.0.0.0 --port 50051

Or use a dedicated HAL file via your INI:

[HAL]
POSTGUI_HALFILE = grpc-server.hal

Quick Start

Python
pip install linuxcnc-grpc

PyPI package

import grpc
from linuxcnc_pb import linuxcnc_pb2, linuxcnc_pb2_grpc

channel = grpc.insecure_channel("localhost:50051")
stub = linuxcnc_pb2_grpc.LinuxCNCServiceStub(channel)

status = stub.GetStatus(linuxcnc_pb2.GetStatusRequest())
print(f"Position: X={status.position.x:.3f} Y={status.position.y:.3f} Z={status.position.z:.3f}")
Go
go get github.com/dougcalobrisi/linuxcnc-grpc

pkg.go.dev

import (
    pb "github.com/dougcalobrisi/linuxcnc-grpc/packages/go"
    "google.golang.org/grpc"
    "google.golang.org/grpc/credentials/insecure"
)

conn, _ := grpc.NewClient("localhost:50051", grpc.WithTransportCredentials(insecure.NewCredentials()))
client := pb.NewLinuxCNCServiceClient(conn)

status, _ := client.GetStatus(context.Background(), &pb.GetStatusRequest{})
fmt.Printf("Position: X=%.3f Y=%.3f Z=%.3f\n", status.Position.X, status.Position.Y, status.Position.Z)
Node.js / TypeScript
npm install linuxcnc-grpc

npm package

import * as grpc from "@grpc/grpc-js";
import { LinuxCNCServiceClient, GetStatusRequest } from "linuxcnc-grpc";

const client = new LinuxCNCServiceClient("localhost:50051", grpc.credentials.createInsecure());

client.getStatus(GetStatusRequest.create(), (err, status) => {
  console.log(`Position: X=${status.position.x.toFixed(3)} Y=${status.position.y.toFixed(3)}`);
});
Rust

crates.io

[dependencies]
linuxcnc-grpc = "1.0"
tokio = { version = "1", features = ["full"] }
tonic = "0.12"
use linuxcnc_grpc::linuxcnc::linux_cnc_service_client::LinuxCncServiceClient;
use linuxcnc_grpc::linuxcnc::GetStatusRequest;

let mut client = LinuxCncServiceClient::connect("http://localhost:50051").await?;
let status = client.get_status(GetStatusRequest {}).await?.into_inner();
println!("Position: X={:.3} Y={:.3}", status.position.unwrap().x, status.position.unwrap().y);

Examples

Complete examples for all supported languages:

Example Description Python Go Node.js Rust
get_status Poll machine status view view view view
stream_status Real-time status streaming view view view view
jog_axis Jog axes with keyboard view view view view
mdi_command Execute G-code via MDI view view view view
hal_query Query HAL pins/signals view view view view
upload_file Upload, list, delete G-code files view view view view

See examples/README.md for setup instructions.

Services

  • LinuxCNCService - Machine control: status, jogging, MDI, program execution, file management
  • HalService - HAL introspection: query pins, signals, parameters (read-only)
File Management

The server provides UploadFile, ListFiles, and DeleteFile RPCs for remote G-code file management. Files are stored in the NC files directory (default: /home/linuxcnc/linuxcnc/nc_files).

Configure the directory with --nc-files or the LINUXCNC_NC_FILES environment variable:

linuxcnc-grpc --host 0.0.0.0 --nc-files /path/to/nc_files

Safety Warning

This server provides remote control of CNC machinery. Ensure proper safety measures:

  • Use only on trusted networks
  • Implement authentication in production (gRPC supports TLS/mTLS)
  • Never leave machines unattended during remote operation
  • Verify E-stop and safety systems are functional

Production Deployment

For production use, enable TLS authentication:

# Server with TLS
credentials = grpc.ssl_server_credentials([(private_key, certificate)])
server.add_secure_port('[::]:50051', credentials)
# Client with TLS
credentials = grpc.ssl_channel_credentials(root_certificates)
channel = grpc.secure_channel('your-machine:50051', credentials)

See Server Configuration for complete TLS setup instructions.

Development

Requires uv for Python dependency management:

# Install dev dependencies
make setup

# Run tests
make test          # Python tests
make test-all      # All languages

# Generate proto code
make proto-all     # Regenerate for all languages

See CLAUDE.md for detailed development documentation.

License

MIT

Documentation

Overview

Package linuxcnc provides a gRPC client for LinuxCNC machine control and HAL.

This package re-exports types from the generated protobuf code in packages/go for convenient access. Users can import this package directly:

import linuxcnc "github.com/dougcalobrisi/linuxcnc-grpc"

Or import the generated types directly:

import "github.com/dougcalobrisi/linuxcnc-grpc/packages/go"

Quick Start

client, err := linuxcnc.NewClient("localhost:50051")
if err != nil {
    log.Fatal(err)
}
defer client.Close()

status, err := client.GetStatus(context.Background())
if err != nil {
    log.Fatal(err)
}
fmt.Printf("Mode: %v\n", status.Task.TaskMode)

Index

Constants

View Source
const (
	// InterpState values
	InterpState_INTERP_STATE_UNSPECIFIED = pb.InterpState_INTERP_STATE_UNSPECIFIED
	InterpState_INTERP_IDLE              = pb.InterpState_INTERP_IDLE
	InterpState_INTERP_READING           = pb.InterpState_INTERP_READING
	InterpState_INTERP_PAUSED            = pb.InterpState_INTERP_PAUSED
	InterpState_INTERP_WAITING           = pb.InterpState_INTERP_WAITING

	// TaskMode values
	TaskMode_TASK_MODE_UNSPECIFIED = pb.TaskMode_TASK_MODE_UNSPECIFIED
	TaskMode_MODE_MANUAL           = pb.TaskMode_MODE_MANUAL
	TaskMode_MODE_AUTO             = pb.TaskMode_MODE_AUTO
	TaskMode_MODE_MDI              = pb.TaskMode_MODE_MDI

	// TaskState values
	TaskState_TASK_STATE_UNSPECIFIED = pb.TaskState_TASK_STATE_UNSPECIFIED
	TaskState_STATE_ESTOP            = pb.TaskState_STATE_ESTOP
	TaskState_STATE_ESTOP_RESET      = pb.TaskState_STATE_ESTOP_RESET
	TaskState_STATE_ON               = pb.TaskState_STATE_ON
	TaskState_STATE_OFF              = pb.TaskState_STATE_OFF

	// ExecState values
	ExecState_EXEC_STATE_UNSPECIFIED            = pb.ExecState_EXEC_STATE_UNSPECIFIED
	ExecState_EXEC_ERROR                        = pb.ExecState_EXEC_ERROR
	ExecState_EXEC_DONE                         = pb.ExecState_EXEC_DONE
	ExecState_EXEC_WAITING_FOR_MOTION           = pb.ExecState_EXEC_WAITING_FOR_MOTION
	ExecState_EXEC_WAITING_FOR_MOTION_QUEUE     = pb.ExecState_EXEC_WAITING_FOR_MOTION_QUEUE
	ExecState_EXEC_WAITING_FOR_IO               = pb.ExecState_EXEC_WAITING_FOR_IO
	ExecState_EXEC_WAITING_FOR_MOTION_AND_IO    = pb.ExecState_EXEC_WAITING_FOR_MOTION_AND_IO
	ExecState_EXEC_WAITING_FOR_DELAY            = pb.ExecState_EXEC_WAITING_FOR_DELAY
	ExecState_EXEC_WAITING_FOR_SYSTEM_CMD       = pb.ExecState_EXEC_WAITING_FOR_SYSTEM_CMD
	ExecState_EXEC_WAITING_FOR_SPINDLE_ORIENTED = pb.ExecState_EXEC_WAITING_FOR_SPINDLE_ORIENTED

	// RcsStatus values
	RcsStatus_RCS_STATUS_UNSPECIFIED = pb.RcsStatus_RCS_STATUS_UNSPECIFIED
	RcsStatus_RCS_DONE               = pb.RcsStatus_RCS_DONE
	RcsStatus_RCS_EXEC               = pb.RcsStatus_RCS_EXEC
	RcsStatus_RCS_ERROR              = pb.RcsStatus_RCS_ERROR

	// TrajMode values
	TrajMode_TRAJ_MODE_UNSPECIFIED = pb.TrajMode_TRAJ_MODE_UNSPECIFIED
	TrajMode_TRAJ_MODE_FREE        = pb.TrajMode_TRAJ_MODE_FREE
	TrajMode_TRAJ_MODE_COORD       = pb.TrajMode_TRAJ_MODE_COORD
	TrajMode_TRAJ_MODE_TELEOP      = pb.TrajMode_TRAJ_MODE_TELEOP

	// MotionType values
	MotionType_MOTION_TYPE_NONE        = pb.MotionType_MOTION_TYPE_NONE
	MotionType_MOTION_TYPE_TRAVERSE    = pb.MotionType_MOTION_TYPE_TRAVERSE
	MotionType_MOTION_TYPE_FEED        = pb.MotionType_MOTION_TYPE_FEED
	MotionType_MOTION_TYPE_ARC         = pb.MotionType_MOTION_TYPE_ARC
	MotionType_MOTION_TYPE_TOOLCHANGE  = pb.MotionType_MOTION_TYPE_TOOLCHANGE
	MotionType_MOTION_TYPE_PROBING     = pb.MotionType_MOTION_TYPE_PROBING
	MotionType_MOTION_TYPE_INDEXROTARY = pb.MotionType_MOTION_TYPE_INDEXROTARY

	// KinematicsType values
	KinematicsType_KINEMATICS_UNSPECIFIED  = pb.KinematicsType_KINEMATICS_UNSPECIFIED
	KinematicsType_KINEMATICS_IDENTITY     = pb.KinematicsType_KINEMATICS_IDENTITY
	KinematicsType_KINEMATICS_FORWARD_ONLY = pb.KinematicsType_KINEMATICS_FORWARD_ONLY
	KinematicsType_KINEMATICS_INVERSE_ONLY = pb.KinematicsType_KINEMATICS_INVERSE_ONLY
	KinematicsType_KINEMATICS_BOTH         = pb.KinematicsType_KINEMATICS_BOTH

	// JointType values
	JointType_JOINT_TYPE_UNSPECIFIED = pb.JointType_JOINT_TYPE_UNSPECIFIED
	JointType_JOINT_LINEAR           = pb.JointType_JOINT_LINEAR
	JointType_JOINT_ANGULAR          = pb.JointType_JOINT_ANGULAR

	// SpindleDirection values
	SpindleDirection_SPINDLE_STOPPED = pb.SpindleDirection_SPINDLE_STOPPED
	SpindleDirection_SPINDLE_FORWARD = pb.SpindleDirection_SPINDLE_FORWARD
	SpindleDirection_SPINDLE_REVERSE = pb.SpindleDirection_SPINDLE_REVERSE

	// SpindleCommand values
	SpindleCommand_SPINDLE_CMD_OFF      = pb.SpindleCommand_SPINDLE_CMD_OFF
	SpindleCommand_SPINDLE_CMD_FORWARD  = pb.SpindleCommand_SPINDLE_CMD_FORWARD
	SpindleCommand_SPINDLE_CMD_REVERSE  = pb.SpindleCommand_SPINDLE_CMD_REVERSE
	SpindleCommand_SPINDLE_CMD_INCREASE = pb.SpindleCommand_SPINDLE_CMD_INCREASE
	SpindleCommand_SPINDLE_CMD_DECREASE = pb.SpindleCommand_SPINDLE_CMD_DECREASE
	SpindleCommand_SPINDLE_CMD_CONSTANT = pb.SpindleCommand_SPINDLE_CMD_CONSTANT

	// CoolantState values
	CoolantState_COOLANT_OFF = pb.CoolantState_COOLANT_OFF
	CoolantState_COOLANT_ON  = pb.CoolantState_COOLANT_ON

	// BrakeState values
	BrakeState_BRAKE_RELEASE = pb.BrakeState_BRAKE_RELEASE
	BrakeState_BRAKE_ENGAGE  = pb.BrakeState_BRAKE_ENGAGE

	// JogType values
	JogType_JOG_STOP       = pb.JogType_JOG_STOP
	JogType_JOG_CONTINUOUS = pb.JogType_JOG_CONTINUOUS
	JogType_JOG_INCREMENT  = pb.JogType_JOG_INCREMENT

	// AutoCommandType values
	AutoCommandType_AUTO_RUN     = pb.AutoCommandType_AUTO_RUN
	AutoCommandType_AUTO_PAUSE   = pb.AutoCommandType_AUTO_PAUSE
	AutoCommandType_AUTO_RESUME  = pb.AutoCommandType_AUTO_RESUME
	AutoCommandType_AUTO_STEP    = pb.AutoCommandType_AUTO_STEP
	AutoCommandType_AUTO_REVERSE = pb.AutoCommandType_AUTO_REVERSE
	AutoCommandType_AUTO_FORWARD = pb.AutoCommandType_AUTO_FORWARD

	// ErrorMessage_ErrorType values
	ErrorMessage_ERROR_TYPE_UNSPECIFIED = pb.ErrorMessage_ERROR_TYPE_UNSPECIFIED
	ErrorMessage_OPERATOR_ERROR         = pb.ErrorMessage_OPERATOR_ERROR
	ErrorMessage_OPERATOR_TEXT          = pb.ErrorMessage_OPERATOR_TEXT
	ErrorMessage_OPERATOR_DISPLAY       = pb.ErrorMessage_OPERATOR_DISPLAY
	ErrorMessage_NML_ERROR              = pb.ErrorMessage_NML_ERROR
	ErrorMessage_NML_TEXT               = pb.ErrorMessage_NML_TEXT
	ErrorMessage_NML_DISPLAY            = pb.ErrorMessage_NML_DISPLAY

	// OperatorMessageCommand_MessageType values
	OperatorMessageCommand_ERROR   = pb.OperatorMessageCommand_ERROR
	OperatorMessageCommand_TEXT    = pb.OperatorMessageCommand_TEXT
	OperatorMessageCommand_DISPLAY = pb.OperatorMessageCommand_DISPLAY
)
View Source
const (
	// HalType values
	HalType_HAL_TYPE_UNSPECIFIED = pb.HalType_HAL_TYPE_UNSPECIFIED
	HalType_HAL_BIT              = pb.HalType_HAL_BIT
	HalType_HAL_FLOAT            = pb.HalType_HAL_FLOAT
	HalType_HAL_S32              = pb.HalType_HAL_S32
	HalType_HAL_U32              = pb.HalType_HAL_U32
	HalType_HAL_S64              = pb.HalType_HAL_S64
	HalType_HAL_U64              = pb.HalType_HAL_U64
	HalType_HAL_PORT             = pb.HalType_HAL_PORT

	// PinDirection values
	PinDirection_PIN_DIR_UNSPECIFIED = pb.PinDirection_PIN_DIR_UNSPECIFIED
	PinDirection_HAL_IN              = pb.PinDirection_HAL_IN
	PinDirection_HAL_OUT             = pb.PinDirection_HAL_OUT
	PinDirection_HAL_IO              = pb.PinDirection_HAL_IO

	// ParamDirection values
	ParamDirection_PARAM_DIR_UNSPECIFIED = pb.ParamDirection_PARAM_DIR_UNSPECIFIED
	ParamDirection_HAL_RO                = pb.ParamDirection_HAL_RO
	ParamDirection_HAL_RW                = pb.ParamDirection_HAL_RW

	// MessageLevel values
	MessageLevel_MSG_LEVEL_UNSPECIFIED = pb.MessageLevel_MSG_LEVEL_UNSPECIFIED
	MessageLevel_MSG_NONE              = pb.MessageLevel_MSG_NONE
	MessageLevel_MSG_ERR               = pb.MessageLevel_MSG_ERR
	MessageLevel_MSG_WARN              = pb.MessageLevel_MSG_WARN
	MessageLevel_MSG_INFO              = pb.MessageLevel_MSG_INFO
	MessageLevel_MSG_DBG               = pb.MessageLevel_MSG_DBG
	MessageLevel_MSG_ALL               = pb.MessageLevel_MSG_ALL
)

Variables

View Source
var NewHalServiceClient = pb.NewHalServiceClient

NewHalServiceClient creates a new HAL service client.

View Source
var NewLinuxCNCServiceClient = pb.NewLinuxCNCServiceClient

NewLinuxCNCServiceClient creates a new LinuxCNC service client.

View Source
var RegisterHalServiceServer = pb.RegisterHalServiceServer

RegisterHalServiceServer registers a HAL service server.

View Source
var RegisterLinuxCNCServiceServer = pb.RegisterLinuxCNCServiceServer

RegisterLinuxCNCServiceServer registers a LinuxCNC service server.

Functions

This section is empty.

Types

type AnalogOutputCommand

type AnalogOutputCommand = pb.AnalogOutputCommand

type AutoCommand

type AutoCommand = pb.AutoCommand

type AutoCommandType

type AutoCommandType = pb.AutoCommandType

type AxisStatus

type AxisStatus = pb.AxisStatus

type BoolResponse

type BoolResponse = pb.BoolResponse

type BrakeCommand

type BrakeCommand = pb.BrakeCommand

type BrakeState

type BrakeState = pb.BrakeState

type Client

type Client struct {
	LinuxCNC LinuxCNCServiceClient
	HAL      HalServiceClient
	// contains filtered or unexported fields
}

Client provides a high-level interface to LinuxCNC gRPC services.

func NewClient

func NewClient(address string, opts ...grpc.DialOption) (*Client, error)

NewClient creates a new LinuxCNC client connected to the specified address.

func (*Client) Close

func (c *Client) Close() error

Close closes the underlying gRPC connection.

func (*Client) DeleteFile

func (c *Client) DeleteFile(ctx context.Context, filename string) (*DeleteFileResponse, error)

DeleteFile deletes a file from the nc_files directory.

func (*Client) GetHALStatus

func (c *Client) GetHALStatus(ctx context.Context) (*HalSystemStatus, error)

GetHALStatus retrieves the current HAL system status.

func (*Client) GetStatus

func (c *Client) GetStatus(ctx context.Context) (*LinuxCNCStatus, error)

GetStatus retrieves the current LinuxCNC status.

func (*Client) ListFiles

func (c *Client) ListFiles(ctx context.Context, subdirectory string) (*ListFilesResponse, error)

ListFiles lists files in the nc_files directory.

func (*Client) SendCommand

func (c *Client) SendCommand(ctx context.Context, cmd *LinuxCNCCommand) (*CommandResponse, error)

SendCommand sends a command to LinuxCNC.

func (*Client) UploadFile

func (c *Client) UploadFile(ctx context.Context, filename, content string, failIfExists bool) (*UploadFileResponse, error)

UploadFile uploads a G-code file to the nc_files directory.

type CommandResponse

type CommandResponse = pb.CommandResponse

type ComponentExistsCommand

type ComponentExistsCommand = pb.ComponentExistsCommand

type ComponentReadyCommand

type ComponentReadyCommand = pb.ComponentReadyCommand

type ConnectCommand

type ConnectCommand = pb.ConnectCommand

type CoolantCommand

type CoolantCommand = pb.CoolantCommand

type CoolantState

type CoolantState = pb.CoolantState

type CreateComponentCommand

type CreateComponentCommand = pb.CreateComponentCommand

type CreateParamCommand

type CreateParamCommand = pb.CreateParamCommand

type CreatePinCommand

type CreatePinCommand = pb.CreatePinCommand

type CreateSignalCommand

type CreateSignalCommand = pb.CreateSignalCommand

type DebugCommand

type DebugCommand = pb.DebugCommand

type DeleteFileRequest

type DeleteFileRequest = pb.DeleteFileRequest

type DeleteFileResponse

type DeleteFileResponse = pb.DeleteFileResponse

type DeleteSignalCommand

type DeleteSignalCommand = pb.DeleteSignalCommand

type DigitalOutputCommand

type DigitalOutputCommand = pb.DigitalOutputCommand

type DisconnectCommand

type DisconnectCommand = pb.DisconnectCommand

type ErrorMessage

type ErrorMessage = pb.ErrorMessage

type ErrorMessageErrorType

type ErrorMessageErrorType = pb.ErrorMessage_ErrorType

Nested enum types

type ExecState

type ExecState = pb.ExecState

type ExitComponentCommand

type ExitComponentCommand = pb.ExitComponentCommand

type FeedrateCommand

type FeedrateCommand = pb.FeedrateCommand

type FileInfo

type FileInfo = pb.FileInfo

type GCodeStatus

type GCodeStatus = pb.GCodeStatus

type GetStatusRequest

type GetStatusRequest = pb.GetStatusRequest

LinuxCNC request/response types

type GetSystemStatusRequest

type GetSystemStatusRequest = pb.GetSystemStatusRequest

HAL request/response types

type GetValueCommand

type GetValueCommand = pb.GetValueCommand

type GetValueResponse

type GetValueResponse = pb.GetValueResponse

type HalCommand

type HalCommand = pb.HalCommand

HAL command types

type HalCommandResponse

type HalCommandResponse = pb.HalCommandResponse

type HalCommand_ComponentExists

type HalCommand_ComponentExists = pb.HalCommand_ComponentExists

type HalCommand_ComponentReady

type HalCommand_ComponentReady = pb.HalCommand_ComponentReady

type HalCommand_Connect

type HalCommand_Connect = pb.HalCommand_Connect

type HalCommand_CreateComponent

type HalCommand_CreateComponent = pb.HalCommand_CreateComponent

type HalCommand_CreateParam

type HalCommand_CreateParam = pb.HalCommand_CreateParam

type HalCommand_CreatePin

type HalCommand_CreatePin = pb.HalCommand_CreatePin

type HalCommand_CreateSignal

type HalCommand_CreateSignal = pb.HalCommand_CreateSignal

type HalCommand_DeleteSignal

type HalCommand_DeleteSignal = pb.HalCommand_DeleteSignal

type HalCommand_Disconnect

type HalCommand_Disconnect = pb.HalCommand_Disconnect

type HalCommand_ExitComponent

type HalCommand_ExitComponent = pb.HalCommand_ExitComponent

type HalCommand_GetValue

type HalCommand_GetValue = pb.HalCommand_GetValue

type HalCommand_PinHasWriter

type HalCommand_PinHasWriter = pb.HalCommand_PinHasWriter

type HalCommand_QueryComponents

type HalCommand_QueryComponents = pb.HalCommand_QueryComponents

type HalCommand_QueryParams

type HalCommand_QueryParams = pb.HalCommand_QueryParams

type HalCommand_QueryPins

type HalCommand_QueryPins = pb.HalCommand_QueryPins

type HalCommand_QuerySignals

type HalCommand_QuerySignals = pb.HalCommand_QuerySignals

type HalCommand_Ready

type HalCommand_Ready = pb.HalCommand_Ready

type HalCommand_SetMessageLevel

type HalCommand_SetMessageLevel = pb.HalCommand_SetMessageLevel

type HalCommand_SetParam

type HalCommand_SetParam = pb.HalCommand_SetParam

type HalCommand_SetPin

type HalCommand_SetPin = pb.HalCommand_SetPin

type HalCommand_SetSignal

type HalCommand_SetSignal = pb.HalCommand_SetSignal

type HalCommand_Unready

type HalCommand_Unready = pb.HalCommand_Unready

type HalComponentInfo

type HalComponentInfo = pb.HalComponentInfo

type HalParamInfo

type HalParamInfo = pb.HalParamInfo

type HalPinInfo

type HalPinInfo = pb.HalPinInfo

type HalServiceClient

type HalServiceClient = pb.HalServiceClient

HAL service

type HalServiceServer

type HalServiceServer = pb.HalServiceServer

type HalService_StreamStatusClient

type HalService_StreamStatusClient = pb.HalService_StreamStatusClient

HAL streaming types

type HalService_StreamStatusServer

type HalService_StreamStatusServer = pb.HalService_StreamStatusServer

type HalService_WatchValuesClient

type HalService_WatchValuesClient = pb.HalService_WatchValuesClient

type HalService_WatchValuesServer

type HalService_WatchValuesServer = pb.HalService_WatchValuesServer

type HalSignalInfo

type HalSignalInfo = pb.HalSignalInfo

type HalStreamStatusRequest

type HalStreamStatusRequest = pb.HalStreamStatusRequest

type HalSystemStatus

type HalSystemStatus = pb.HalSystemStatus

type HalType

type HalType = pb.HalType

HAL enums

type HalValue

type HalValue = pb.HalValue

HAL status types

type HalValue_BitValue

type HalValue_BitValue = pb.HalValue_BitValue

HalValue oneof wrappers

type HalValue_FloatValue

type HalValue_FloatValue = pb.HalValue_FloatValue

HalValue oneof wrappers

type HalValue_S32Value

type HalValue_S32Value = pb.HalValue_S32Value

HalValue oneof wrappers

type HalValue_S64Value

type HalValue_S64Value = pb.HalValue_S64Value

HalValue oneof wrappers

type HalValue_U32Value

type HalValue_U32Value = pb.HalValue_U32Value

HalValue oneof wrappers

type HalValue_U64Value

type HalValue_U64Value = pb.HalValue_U64Value

HalValue oneof wrappers

type HomeCommand

type HomeCommand = pb.HomeCommand

type IOStatus

type IOStatus = pb.IOStatus

type InterpState

type InterpState = pb.InterpState

LinuxCNC enums

type JogCommand

type JogCommand = pb.JogCommand

type JogType

type JogType = pb.JogType

type JointStatus

type JointStatus = pb.JointStatus

type JointType

type JointType = pb.JointType

type KinematicsType

type KinematicsType = pb.KinematicsType

type LimitStatus

type LimitStatus = pb.LimitStatus

type LinuxCNCCommand

type LinuxCNCCommand = pb.LinuxCNCCommand

LinuxCNC command types

type LinuxCNCCommand_AnalogOutput

type LinuxCNCCommand_AnalogOutput = pb.LinuxCNCCommand_AnalogOutput

type LinuxCNCCommand_Brake

type LinuxCNCCommand_Brake = pb.LinuxCNCCommand_Brake

type LinuxCNCCommand_Coolant

type LinuxCNCCommand_Coolant = pb.LinuxCNCCommand_Coolant

type LinuxCNCCommand_Debug

type LinuxCNCCommand_Debug = pb.LinuxCNCCommand_Debug

type LinuxCNCCommand_DigitalOutput

type LinuxCNCCommand_DigitalOutput = pb.LinuxCNCCommand_DigitalOutput

type LinuxCNCCommand_Feedrate

type LinuxCNCCommand_Feedrate = pb.LinuxCNCCommand_Feedrate

type LinuxCNCCommand_Home

type LinuxCNCCommand_Home = pb.LinuxCNCCommand_Home

type LinuxCNCCommand_Jog

type LinuxCNCCommand_Jog = pb.LinuxCNCCommand_Jog

type LinuxCNCCommand_LoadToolTable

type LinuxCNCCommand_LoadToolTable = pb.LinuxCNCCommand_LoadToolTable

type LinuxCNCCommand_Maxvel

type LinuxCNCCommand_Maxvel = pb.LinuxCNCCommand_Maxvel

type LinuxCNCCommand_Mdi

type LinuxCNCCommand_Mdi = pb.LinuxCNCCommand_Mdi

type LinuxCNCCommand_Mode

type LinuxCNCCommand_Mode = pb.LinuxCNCCommand_Mode

type LinuxCNCCommand_OperatorMessage

type LinuxCNCCommand_OperatorMessage = pb.LinuxCNCCommand_OperatorMessage

type LinuxCNCCommand_OverrideConfig

type LinuxCNCCommand_OverrideConfig = pb.LinuxCNCCommand_OverrideConfig

type LinuxCNCCommand_OverrideLimits

type LinuxCNCCommand_OverrideLimits = pb.LinuxCNCCommand_OverrideLimits

type LinuxCNCCommand_Program

type LinuxCNCCommand_Program = pb.LinuxCNCCommand_Program

type LinuxCNCCommand_ProgramOptions

type LinuxCNCCommand_ProgramOptions = pb.LinuxCNCCommand_ProgramOptions

type LinuxCNCCommand_Rapidrate

type LinuxCNCCommand_Rapidrate = pb.LinuxCNCCommand_Rapidrate

type LinuxCNCCommand_ResetInterpreter

type LinuxCNCCommand_ResetInterpreter = pb.LinuxCNCCommand_ResetInterpreter

type LinuxCNCCommand_SetLimit

type LinuxCNCCommand_SetLimit = pb.LinuxCNCCommand_SetLimit

type LinuxCNCCommand_Spindle

type LinuxCNCCommand_Spindle = pb.LinuxCNCCommand_Spindle

type LinuxCNCCommand_SpindleOverride

type LinuxCNCCommand_SpindleOverride = pb.LinuxCNCCommand_SpindleOverride

type LinuxCNCCommand_State

type LinuxCNCCommand_State = pb.LinuxCNCCommand_State

type LinuxCNCCommand_TaskPlanSync

type LinuxCNCCommand_TaskPlanSync = pb.LinuxCNCCommand_TaskPlanSync

type LinuxCNCCommand_Teleop

type LinuxCNCCommand_Teleop = pb.LinuxCNCCommand_Teleop

type LinuxCNCCommand_ToolOffset

type LinuxCNCCommand_ToolOffset = pb.LinuxCNCCommand_ToolOffset

type LinuxCNCCommand_TrajMode

type LinuxCNCCommand_TrajMode = pb.LinuxCNCCommand_TrajMode

type LinuxCNCCommand_Unhome

type LinuxCNCCommand_Unhome = pb.LinuxCNCCommand_Unhome

type LinuxCNCServiceClient

type LinuxCNCServiceClient = pb.LinuxCNCServiceClient

LinuxCNC service

type LinuxCNCServiceServer

type LinuxCNCServiceServer = pb.LinuxCNCServiceServer

type LinuxCNCService_StreamErrorsClient

type LinuxCNCService_StreamErrorsClient = pb.LinuxCNCService_StreamErrorsClient

type LinuxCNCService_StreamErrorsServer

type LinuxCNCService_StreamErrorsServer = pb.LinuxCNCService_StreamErrorsServer

type LinuxCNCService_StreamStatusClient

type LinuxCNCService_StreamStatusClient = pb.LinuxCNCService_StreamStatusClient

LinuxCNC streaming types

type LinuxCNCService_StreamStatusServer

type LinuxCNCService_StreamStatusServer = pb.LinuxCNCService_StreamStatusServer

type LinuxCNCStatus

type LinuxCNCStatus = pb.LinuxCNCStatus

type ListFilesRequest

type ListFilesRequest = pb.ListFilesRequest

type ListFilesResponse

type ListFilesResponse = pb.ListFilesResponse

type LoadToolTableCommand

type LoadToolTableCommand = pb.LoadToolTableCommand

type MaxVelCommand

type MaxVelCommand = pb.MaxVelCommand

type MdiCommand

type MdiCommand = pb.MdiCommand

type MessageLevel

type MessageLevel = pb.MessageLevel

type ModeCommand

type ModeCommand = pb.ModeCommand

type MotionType

type MotionType = pb.MotionType

type OperatorMessageCommand

type OperatorMessageCommand = pb.OperatorMessageCommand

type OperatorMessageCommandMessageType

type OperatorMessageCommandMessageType = pb.OperatorMessageCommand_MessageType

type OverrideConfigCommand

type OverrideConfigCommand = pb.OverrideConfigCommand

type OverrideLimitsCommand

type OverrideLimitsCommand = pb.OverrideLimitsCommand

type ParamDirection

type ParamDirection = pb.ParamDirection

type PinDirection

type PinDirection = pb.PinDirection

type PinHasWriterCommand

type PinHasWriterCommand = pb.PinHasWriterCommand

type Position

type Position = pb.Position

LinuxCNC status types

type PositionStatus

type PositionStatus = pb.PositionStatus

type ProgramCommand

type ProgramCommand = pb.ProgramCommand

type ProgramCommand_Abort

type ProgramCommand_Abort = pb.ProgramCommand_Abort

ProgramCommand oneof wrappers

type ProgramCommand_Open

type ProgramCommand_Open = pb.ProgramCommand_Open

ProgramCommand oneof wrappers

type ProgramCommand_Pause

type ProgramCommand_Pause = pb.ProgramCommand_Pause

ProgramCommand oneof wrappers

type ProgramCommand_Resume

type ProgramCommand_Resume = pb.ProgramCommand_Resume

ProgramCommand oneof wrappers

type ProgramCommand_RunFromLine

type ProgramCommand_RunFromLine = pb.ProgramCommand_RunFromLine

ProgramCommand oneof wrappers

type ProgramCommand_Step

type ProgramCommand_Step = pb.ProgramCommand_Step

ProgramCommand oneof wrappers

type ProgramOptionsCommand

type ProgramOptionsCommand = pb.ProgramOptionsCommand

type QueryComponentsCommand

type QueryComponentsCommand = pb.QueryComponentsCommand

type QueryComponentsResponse

type QueryComponentsResponse = pb.QueryComponentsResponse

type QueryParamsCommand

type QueryParamsCommand = pb.QueryParamsCommand

type QueryParamsResponse

type QueryParamsResponse = pb.QueryParamsResponse

type QueryPinsCommand

type QueryPinsCommand = pb.QueryPinsCommand

type QueryPinsResponse

type QueryPinsResponse = pb.QueryPinsResponse

type QuerySignalsCommand

type QuerySignalsCommand = pb.QuerySignalsCommand

type QuerySignalsResponse

type QuerySignalsResponse = pb.QuerySignalsResponse

type RapidrateCommand

type RapidrateCommand = pb.RapidrateCommand

type RcsStatus

type RcsStatus = pb.RcsStatus

type ReadyCommand

type ReadyCommand = pb.ReadyCommand

type ResetInterpreterCommand

type ResetInterpreterCommand = pb.ResetInterpreterCommand

type SetLimitCommand

type SetLimitCommand = pb.SetLimitCommand

type SetMessageLevelCommand

type SetMessageLevelCommand = pb.SetMessageLevelCommand

type SetParamValueCommand

type SetParamValueCommand = pb.SetParamValueCommand

type SetPinValueCommand

type SetPinValueCommand = pb.SetPinValueCommand

type SetSignalValueCommand

type SetSignalValueCommand = pb.SetSignalValueCommand

type SpindleCommand

type SpindleCommand = pb.SpindleCommand

type SpindleControlCommand

type SpindleControlCommand = pb.SpindleControlCommand

type SpindleDirection

type SpindleDirection = pb.SpindleDirection

type SpindleOverrideCommand

type SpindleOverrideCommand = pb.SpindleOverrideCommand

type SpindleStatus

type SpindleStatus = pb.SpindleStatus

type StateCommand

type StateCommand = pb.StateCommand

type StreamErrorsRequest

type StreamErrorsRequest = pb.StreamErrorsRequest

type StreamStatusRequest

type StreamStatusRequest = pb.StreamStatusRequest

type TaskMode

type TaskMode = pb.TaskMode

type TaskPlanSyncCommand

type TaskPlanSyncCommand = pb.TaskPlanSyncCommand

type TaskState

type TaskState = pb.TaskState

type TaskStatus

type TaskStatus = pb.TaskStatus

type TeleopCommand

type TeleopCommand = pb.TeleopCommand

type ToolEntry

type ToolEntry = pb.ToolEntry

type ToolOffsetCommand

type ToolOffsetCommand = pb.ToolOffsetCommand

type ToolStatus

type ToolStatus = pb.ToolStatus

type TrajMode

type TrajMode = pb.TrajMode

type TrajModeCommand

type TrajModeCommand = pb.TrajModeCommand

type TrajectoryStatus

type TrajectoryStatus = pb.TrajectoryStatus

type UnhomeCommand

type UnhomeCommand = pb.UnhomeCommand

type UnimplementedHalServiceServer

type UnimplementedHalServiceServer = pb.UnimplementedHalServiceServer

type UnimplementedLinuxCNCServiceServer

type UnimplementedLinuxCNCServiceServer = pb.UnimplementedLinuxCNCServiceServer

Unimplemented server types (for embedding)

type UnreadyCommand

type UnreadyCommand = pb.UnreadyCommand

type UploadFileRequest

type UploadFileRequest = pb.UploadFileRequest

File management types

type UploadFileResponse

type UploadFileResponse = pb.UploadFileResponse

type ValueChange

type ValueChange = pb.ValueChange

type ValueChangeBatch

type ValueChangeBatch = pb.ValueChangeBatch

type WaitCompleteRequest

type WaitCompleteRequest = pb.WaitCompleteRequest

type WatchRequest

type WatchRequest = pb.WatchRequest

Directories

Path Synopsis
packages
go

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL