Use native LinuxCNC homing and consolidate web panel status

This commit is contained in:
2026-09-09 12:28:02 +08:00
parent eb5c58cdb3
commit 0be2ee8ce1
35 changed files with 881 additions and 350 deletions

View File

@@ -18,6 +18,7 @@ export type MessageEnvelope<TPayload = unknown> = {
};
export type MotionSnapshot = {
homing?: boolean;
stepping?: boolean;
axes?: number[];
joints?: number[];
@@ -42,6 +43,18 @@ export type MotionSnapshot = {
max_velocity?: number;
};
export type HomeJointStatus = {
joint: number; homing: boolean; homed: boolean; home_state: number; home_state_name: string;
position: number; motor_position: number; motor_offset: number; velocity: number; home_sequence: number;
};
export type SourceStatus = {
task: { mode: string; state: string; interpState: string };
traj: { mode: string; motion_type: number };
homing_active: boolean;
joint: HomeJointStatus[];
homing_history: Array<{ tick: number; joint: HomeJointStatus[] }>;
};
export type TrajectorySnapshot = {
queue?: Array<{ id?: number; source_line?: number | null; start?: Record<string, number>; end?: Record<string, number> }>;
active?: { id?: number; source_line?: number | null; start?: Record<string, number>; end?: Record<string, number> } | null;
@@ -49,6 +62,7 @@ export type TrajectorySnapshot = {
};
export type SimSnapshotV1 = {
source_status?: SourceStatus;
schema?: string;
snapshot_id?: string;
base_snapshot_id?: string;
@@ -114,6 +128,7 @@ export type XyzacCapabilitySnapshot = {
};
export type PanelSnapshotV1 = {
source_status?: SourceStatus;
schema: "axis-panel-snapshot.v1";
context_id: string;
session_id: string;