mirror of
https://github.com/maziggy/bambuddy.git
synced 2026-10-21 01:57:41 +02:00
Completely removed control page and all it's related code
This commit is contained in:
+1
-200
@@ -638,25 +638,6 @@ export interface UpdateStatus {
|
||||
error: string | null;
|
||||
}
|
||||
|
||||
// Printer Control types
|
||||
export interface ControlResponse {
|
||||
success: boolean;
|
||||
message: string;
|
||||
}
|
||||
|
||||
export interface ConfirmationRequired {
|
||||
requires_confirmation: boolean;
|
||||
token: string;
|
||||
warning: string;
|
||||
expires_in: number;
|
||||
}
|
||||
|
||||
export type ControlResult = ControlResponse | ConfirmationRequired;
|
||||
|
||||
export function isConfirmationRequired(result: ControlResult): result is ConfirmationRequired {
|
||||
return 'requires_confirmation' in result && result.requires_confirmation === true;
|
||||
}
|
||||
|
||||
// Maintenance types
|
||||
export interface MaintenanceType {
|
||||
id: number;
|
||||
@@ -1199,191 +1180,11 @@ export const api = {
|
||||
{ method: 'PATCH' }
|
||||
),
|
||||
|
||||
// Printer Control
|
||||
pausePrint: (printerId: number) =>
|
||||
request<ControlResponse>(`/printers/${printerId}/control/pause`, { method: 'POST' }),
|
||||
resumePrint: (printerId: number) =>
|
||||
request<ControlResponse>(`/printers/${printerId}/control/resume`, { method: 'POST' }),
|
||||
stopPrint: (printerId: number, confirmToken?: string) =>
|
||||
request<ControlResult>(`/printers/${printerId}/control/stop`, {
|
||||
method: 'POST',
|
||||
body: JSON.stringify({ confirm_token: confirmToken }),
|
||||
}),
|
||||
setBedTemperature: (printerId: number, target: number, confirmToken?: string) =>
|
||||
request<ControlResult>(`/printers/${printerId}/control/temperature/bed`, {
|
||||
method: 'POST',
|
||||
body: JSON.stringify({ target, confirm_token: confirmToken }),
|
||||
}),
|
||||
setNozzleTemperature: (printerId: number, target: number, nozzle = 0, confirmToken?: string) =>
|
||||
request<ControlResult>(`/printers/${printerId}/control/temperature/nozzle`, {
|
||||
method: 'POST',
|
||||
body: JSON.stringify({ target, nozzle, confirm_token: confirmToken }),
|
||||
}),
|
||||
setChamberTemperature: (printerId: number, target: number, confirmToken?: string) =>
|
||||
request<ControlResult>(`/printers/${printerId}/control/temperature/chamber`, {
|
||||
method: 'POST',
|
||||
body: JSON.stringify({ target, confirm_token: confirmToken }),
|
||||
}),
|
||||
setPrintSpeed: (printerId: number, mode: number) =>
|
||||
request<ControlResponse>(`/printers/${printerId}/control/speed`, {
|
||||
method: 'POST',
|
||||
body: JSON.stringify({ mode }),
|
||||
}),
|
||||
setPartFan: (printerId: number, speed: number) =>
|
||||
request<ControlResponse>(`/printers/${printerId}/control/fan/part`, {
|
||||
method: 'POST',
|
||||
body: JSON.stringify({ speed }),
|
||||
}),
|
||||
setAuxFan: (printerId: number, speed: number) =>
|
||||
request<ControlResponse>(`/printers/${printerId}/control/fan/aux`, {
|
||||
method: 'POST',
|
||||
body: JSON.stringify({ speed }),
|
||||
}),
|
||||
setChamberFan: (printerId: number, speed: number) =>
|
||||
request<ControlResponse>(`/printers/${printerId}/control/fan/chamber`, {
|
||||
method: 'POST',
|
||||
body: JSON.stringify({ speed }),
|
||||
}),
|
||||
setAirductMode: (printerId: number, mode: 'cooling' | 'heating') =>
|
||||
request<ControlResponse>(`/printers/${printerId}/control/airduct`, {
|
||||
method: 'POST',
|
||||
body: JSON.stringify({ mode }),
|
||||
}),
|
||||
setChamberLight: (printerId: number, on: boolean) =>
|
||||
request<ControlResponse>(`/printers/${printerId}/control/light`, {
|
||||
method: 'POST',
|
||||
body: JSON.stringify({ on }),
|
||||
}),
|
||||
selectExtruder: (printerId: number, extruder: number) =>
|
||||
request<ControlResponse>(`/printers/${printerId}/control/extruder`, {
|
||||
method: 'POST',
|
||||
body: JSON.stringify({ extruder }),
|
||||
}),
|
||||
homeAxes: (printerId: number, axes = 'XYZ', confirmToken?: string) =>
|
||||
request<ControlResult>(`/printers/${printerId}/control/home`, {
|
||||
method: 'POST',
|
||||
body: JSON.stringify({ axes, confirm_token: confirmToken }),
|
||||
}),
|
||||
moveAxis: (printerId: number, axis: string, distance: number, speed = 3000, confirmToken?: string) =>
|
||||
request<ControlResult>(`/printers/${printerId}/control/move`, {
|
||||
method: 'POST',
|
||||
body: JSON.stringify({ axis, distance, speed, confirm_token: confirmToken }),
|
||||
}),
|
||||
disableMotors: (printerId: number, confirmToken?: string) =>
|
||||
request<ControlResult>(`/printers/${printerId}/control/motors/disable`, {
|
||||
method: 'POST',
|
||||
body: JSON.stringify({ confirm_token: confirmToken }),
|
||||
}),
|
||||
enableMotors: (printerId: number) =>
|
||||
request<ControlResponse>(`/printers/${printerId}/control/motors/enable`, { method: 'POST' }),
|
||||
amsLoadFilament: (printerId: number, trayId: number, extruderId?: number) =>
|
||||
request<ControlResponse>(`/printers/${printerId}/control/ams/load`, {
|
||||
method: 'POST',
|
||||
body: JSON.stringify({ tray_id: trayId, extruder_id: extruderId }),
|
||||
}),
|
||||
amsUnloadFilament: (printerId: number) =>
|
||||
request<ControlResponse>(`/printers/${printerId}/control/ams/unload`, { method: 'POST' }),
|
||||
amsSetFilamentSetting: (printerId: number, data: {
|
||||
ams_id: number;
|
||||
tray_id: number;
|
||||
tray_info_idx: string;
|
||||
tray_type: string;
|
||||
tray_sub_brands: string;
|
||||
tray_color: string;
|
||||
nozzle_temp_min: number;
|
||||
nozzle_temp_max: number;
|
||||
k: number;
|
||||
}) =>
|
||||
request<ControlResponse>(`/printers/${printerId}/control/ams/filament-setting`, {
|
||||
method: 'POST',
|
||||
body: JSON.stringify(data),
|
||||
}),
|
||||
sendGcode: (printerId: number, command: string, confirmToken?: string) =>
|
||||
request<ControlResult>(`/printers/${printerId}/control/gcode`, {
|
||||
method: 'POST',
|
||||
body: JSON.stringify({ command, confirm_token: confirmToken }),
|
||||
}),
|
||||
// Camera
|
||||
getCameraStreamUrl: (printerId: number, fps = 10) =>
|
||||
`${API_BASE}/printers/${printerId}/camera/stream?fps=${fps}`,
|
||||
getCameraSnapshotUrl: (printerId: number) =>
|
||||
`${API_BASE}/printers/${printerId}/camera/snapshot`,
|
||||
testCameraConnection: (printerId: number) =>
|
||||
request<{ success: boolean; message?: string; error?: string }>(`/printers/${printerId}/camera/test`),
|
||||
setTimelapse: (printerId: number, enable: boolean) =>
|
||||
request<ControlResponse>(`/printers/${printerId}/control/camera/timelapse`, {
|
||||
method: 'POST',
|
||||
body: JSON.stringify({ enable }),
|
||||
}),
|
||||
setLiveview: (printerId: number, enable: boolean) =>
|
||||
request<ControlResponse>(`/printers/${printerId}/control/camera/liveview`, {
|
||||
method: 'POST',
|
||||
body: JSON.stringify({ enable }),
|
||||
}),
|
||||
|
||||
// Request full status update from printer (pushall)
|
||||
refreshStatus: (printerId: number) =>
|
||||
request<ControlResponse>(`/printers/${printerId}/control/refresh`, {
|
||||
method: 'POST',
|
||||
}),
|
||||
|
||||
// Refresh a specific AMS tray (trigger RFID re-read)
|
||||
refreshAmsTray: (printerId: number, amsId: number, trayId: number) =>
|
||||
request<ControlResponse>(`/printers/${printerId}/control/ams/refresh-tray`, {
|
||||
method: 'POST',
|
||||
body: JSON.stringify({ ams_id: amsId, tray_id: trayId }),
|
||||
}),
|
||||
|
||||
// Print Options (AI Detection)
|
||||
setPrintOption: (
|
||||
printerId: number,
|
||||
moduleName: string,
|
||||
enabled: boolean,
|
||||
printHalt = true,
|
||||
sensitivity = 'medium'
|
||||
) => {
|
||||
const params = new URLSearchParams({
|
||||
module_name: moduleName,
|
||||
enabled: String(enabled),
|
||||
print_halt: String(printHalt),
|
||||
sensitivity,
|
||||
});
|
||||
return request<{
|
||||
success: boolean;
|
||||
module_name: string;
|
||||
enabled: boolean;
|
||||
print_halt: boolean;
|
||||
sensitivity: string;
|
||||
}>(`/printers/${printerId}/print-options?${params}`, {
|
||||
method: 'POST',
|
||||
});
|
||||
},
|
||||
|
||||
// Calibration
|
||||
startCalibration: (
|
||||
printerId: number,
|
||||
options: {
|
||||
bed_leveling?: boolean;
|
||||
vibration?: boolean;
|
||||
motor_noise?: boolean;
|
||||
nozzle_offset?: boolean;
|
||||
high_temp_heatbed?: boolean;
|
||||
}
|
||||
) => {
|
||||
const params = new URLSearchParams();
|
||||
if (options.bed_leveling) params.append('bed_leveling', 'true');
|
||||
if (options.vibration) params.append('vibration', 'true');
|
||||
if (options.motor_noise) params.append('motor_noise', 'true');
|
||||
if (options.nozzle_offset) params.append('nozzle_offset', 'true');
|
||||
if (options.high_temp_heatbed) params.append('high_temp_heatbed', 'true');
|
||||
return request<{
|
||||
success: boolean;
|
||||
bed_leveling: boolean;
|
||||
vibration: boolean;
|
||||
motor_noise: boolean;
|
||||
nozzle_offset: boolean;
|
||||
high_temp_heatbed: boolean;
|
||||
}>(`/printers/${printerId}/calibration?${params}`, {
|
||||
method: 'POST',
|
||||
});
|
||||
},
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user