From eb08493fdc5aa6f1d0afaf8d00e9ec99e202dbfd Mon Sep 17 00:00:00 2001 From: "93094049+kraemr@users.noreply.github.com" <93094049+kraemr@users.noreply.github.com> Date: Mon, 16 Jun 2025 17:00:04 +0200 Subject: [PATCH] Revert "frontend changes for api" This reverts commit 7f7984ebe432de711892a7cc63d447bf29a551c3. --- .../extruder2/Extruder2ControlPage.tsx | 4 +- .../extruder/extruder2/Extruder2Settings.tsx | 143 +----------------- .../extruder/extruder2/extruder2Namespace.ts | 33 +--- .../extruder/extruder2/useExtruder.ts | 91 +---------- 4 files changed, 5 insertions(+), 266 deletions(-) diff --git a/electron/src/machines/extruder/extruder2/Extruder2ControlPage.tsx b/electron/src/machines/extruder/extruder2/Extruder2ControlPage.tsx index 20d26f92..b42bb5ec 100644 --- a/electron/src/machines/extruder/extruder2/Extruder2ControlPage.tsx +++ b/electron/src/machines/extruder/extruder2/Extruder2ControlPage.tsx @@ -103,11 +103,9 @@ export function Extruder2ControlPage() { roundToDecimals(value, 0)} onChange={screwSetTargetPressure} /> diff --git a/electron/src/machines/extruder/extruder2/Extruder2Settings.tsx b/electron/src/machines/extruder/extruder2/Extruder2Settings.tsx index 2166ca7f..66436015 100644 --- a/electron/src/machines/extruder/extruder2/Extruder2Settings.tsx +++ b/electron/src/machines/extruder/extruder2/Extruder2Settings.tsx @@ -1,11 +1,11 @@ -import React, { useEffect, useState } from "react"; import { Page } from "@/components/Page"; import { ControlCard } from "@/control/ControlCard"; import { Label } from "@/control/Label"; import { SelectionGroupBoolean } from "@/control/SelectionGroup"; +import React from "react"; +import { useExtruder2 } from "./useExtruder"; import { EditValue } from "@/control/EditValue"; import { roundToDecimals } from "@/lib/decimal"; -import { useExtruder2 } from "./useExtruder"; export function Extruder2SettingsPage() { const { @@ -15,38 +15,7 @@ export function Extruder2SettingsPage() { extruderSetPressureLimitIsEnabled, pressureLimitState, pressureLimitEnabledState, - pressurePidSettings, - temperaturePidSettings, - setPressurePid, - setTemperaturePid, } = useExtruder2(); - - const [showAdvanced, setShowAdvanced] = useState(false); - - const [pid1, setPid1] = useState<{ - kp: number; - ki: number; - kd: number; - } | null>(null); - const [pid2, setPid2] = useState<{ - kp: number; - ki: number; - kd: number; - } | null>(null); - - useEffect(() => { - if (!pid1 && temperaturePidSettings) { - setPid1(temperaturePidSettings); - } - if (!pid2 && pressurePidSettings) { - setPid2(pressurePidSettings); - } - }, [temperaturePidSettings, pressurePidSettings, pid1, pid2]); - - if (!pid1 || !pid2) { - return Loading PID settings...; - } - return ( @@ -81,115 +50,7 @@ export function Extruder2SettingsPage() { onChange={extruderSetPressureLimitIsEnabled} /> - - - - - {showAdvanced && ( - <> - - - roundToDecimals(v, 2)} - onChange={(v) => setPid1({ ...pid1, kp: v })} - title="Temperature PID KP" - /> - - - roundToDecimals(v, 2)} - onChange={(v) => setPid1({ ...pid1, ki: v })} - title="Temperature PID KI" - /> - - - roundToDecimals(v, 2)} - onChange={(v) => setPid1({ ...pid1, kd: v })} - title="Temperature PID KD" - /> - - - - setTemperaturePid(pid1)} - > - Save Temperature PID - - - - - - - roundToDecimals(v, 2)} - onChange={(v) => setPid2({ ...pid2, kp: v })} - title="Pressure PID KP" - /> - - - roundToDecimals(v, 2)} - onChange={(v) => setPid2({ ...pid2, ki: v })} - title="Pressure PID KI" - /> - - - roundToDecimals(v, 2)} - onChange={(v) => setPid2({ ...pid2, kd: v })} - title="Pressure PID KD" - /> - - - - setPressurePid(pid2)} - > - Save Pressure PID - - - - > - )} ); } diff --git a/electron/src/machines/extruder/extruder2/extruder2Namespace.ts b/electron/src/machines/extruder/extruder2/extruder2Namespace.ts index 42231574..c330e730 100644 --- a/electron/src/machines/extruder/extruder2/extruder2Namespace.ts +++ b/electron/src/machines/extruder/extruder2/extruder2Namespace.ts @@ -33,8 +33,6 @@ export type Extruder2NamespaceStore = { extruderSettingsState: ExtruderSettingsStateEvent | null; - pressurePidSettings: PidSettingsEvent | null; - temperaturePidSettings: PidSettingsEvent | null; // Metric Events (cached for 1 hour ) rpm: TimeSeries; bar: TimeSeries; @@ -104,22 +102,6 @@ export function extruder2MessageHandler( return (event: Event) => { const eventName = event.name; try { - if (eventName == "TemperaturePidSettingsEvent") { - store.setState( - produce(store.getState(), (state) => { - state.temperaturePidSettings = pidSettingsEventSchema.parse(event); - }), - ); - } - - if (eventName == "PressurePidSettingsEvent") { - store.setState( - produce(store.getState(), (state) => { - state.pressurePidSettings = pidSettingsEventSchema.parse(event); - }), - ); - } - if (eventName == "ExtruderSettingsStateEvent") { store.setState( produce(store.getState(), (state) => { @@ -327,9 +309,6 @@ export const createExtruder2NamespaceStore = motorBarState: null, extruderSettingsState: null, - pressurePidSettings: null, - temperaturePidSettings: null, - rpm, bar, @@ -420,12 +399,6 @@ export const extruderSettingsStateEventDataSchema = z.object({ pressure_limit_enabled: z.boolean(), }); -export const pidSettingsEventDataSchema = z.object({ - ki: z.number(), - kd: z.number(), - kp: z.number(), -}); - // Event Schemas export const heatingTargetEventSchema = eventSchema( heatingTargetTemperatureDataSchema, @@ -453,8 +426,6 @@ export const extruderSettingsStateEventSchema = eventSchema( extruderSettingsStateEventDataSchema, ); -export const pidSettingsEventSchema = eventSchema(pidSettingsEventDataSchema); - export const heatingPowerEventDataSchema = z.object({ wattage: z.number(), }); @@ -481,10 +452,8 @@ export type Heating = z.infer; export type MotorPressure = z.infer; export type MotorRpm = z.infer; -export type Mode = z.infer; -export type PidSettings = z.infer; -export type PidSettingsEvent = z.infer; +export type Mode = z.infer; export type ExtruderSettingsStateEvent = z.infer< typeof extruderSettingsStateEventSchema diff --git a/electron/src/machines/extruder/extruder2/useExtruder.ts b/electron/src/machines/extruder/extruder2/useExtruder.ts index 6f9c1348..8924c70b 100644 --- a/electron/src/machines/extruder/extruder2/useExtruder.ts +++ b/electron/src/machines/extruder/extruder2/useExtruder.ts @@ -4,12 +4,7 @@ import { useStateOptimistic } from "@/lib/useStateOptimistic"; import { MachineIdentificationUnique, extruder2 } from "@/machines/types"; import { extruder2Route } from "@/routes/routes"; import { z } from "zod"; -import { - Heating, - Mode, - PidSettings, - useExtruder2Namespace, -} from "./extruder2Namespace"; +import { Heating, Mode, useExtruder2Namespace } from "./extruder2Namespace"; import { useEffect, useMemo } from "react"; import { TimeSeries } from "@/lib/timeseries"; import { FPS_60, useThrottle } from "@/lib/useThrottle"; @@ -48,8 +43,6 @@ export function useExtruder2() { const heating = useHeatingTemperature(machineIdentification); const heatingPower = useHeatingPower(machineIdentification); const settings = useSettings(machineIdentification); - const pidSettings = usePidSettings(machineIdentification); - return { ...inverter, ...mode, @@ -57,7 +50,6 @@ export function useExtruder2() { ...heating, ...settings, ...heatingPower, - ...pidSettings, }; } @@ -331,86 +323,6 @@ export function useMotor( }; } -export function usePidSettings( - machine_identification_unique: MachineIdentificationUnique, -): { - temperaturePidSettings: PidSettings | undefined; - pressurePidSettings: PidSettings | undefined; - setPressurePid: (settings: PidSettings) => void; - setTemperaturePid: (settings: PidSettings) => void; -} { - const { pressurePidSettings, temperaturePidSettings } = useExtruder2Namespace( - machine_identification_unique, - ); - - const temperaturePidSettingsState = useStateOptimistic(); - const pressurePidSettingsState = useStateOptimistic(); - - const SetTemperaturePidSchema = z.object({ - SetTemperaturePidSettings: z.object({ - ki: z.number(), - kp: z.number(), - kd: z.number(), - }), - }); - - const SetPressurePidSchema = z.object({ - SetPressurePidSettings: z.object({ - ki: z.number(), - kp: z.number(), - kd: z.number(), - }), - }); - - const { request: TemperaturePidSettingsRequest } = useMachineMutation( - SetTemperaturePidSchema, - ); - - const { request: PressurePidSettingsRequest } = - useMachineMutation(SetPressurePidSchema); - - const setPressurePid = async (value: PidSettings) => { - pressurePidSettingsState.setOptimistic(value); - PressurePidSettingsRequest({ - machine_identification_unique, - data: { SetPressurePidSettings: value }, - }) - .then((response) => { - if (!response.success) pressurePidSettingsState.resetToReal(); - }) - .catch(() => pressurePidSettingsState.resetToReal()); - }; - - const setTemperaturePid = async (value: PidSettings) => { - temperaturePidSettingsState.setOptimistic(value); - TemperaturePidSettingsRequest({ - machine_identification_unique, - data: { SetTemperaturePidSettings: value }, - }) - .then((response) => { - if (!response.success) temperaturePidSettingsState.resetToReal(); - }) - .catch(() => temperaturePidSettingsState.resetToReal()); - }; - - useEffect(() => { - if (pressurePidSettings?.data) { - pressurePidSettingsState.setReal(pressurePidSettings?.data); - } - - if (temperaturePidSettings?.data) { - temperaturePidSettingsState.setReal(temperaturePidSettings?.data); - } - }); - - return { - pressurePidSettings: pressurePidSettingsState.value, - temperaturePidSettings: temperaturePidSettingsState.value, - setTemperaturePid, - setPressurePid, - }; -} - export function useHeatingTemperature( machine_identification_unique: MachineIdentificationUnique, ): { @@ -580,7 +492,6 @@ export function useHeatingTemperature( heatingSetFrontTemp, heatingSetBackTemp, heatingSetMiddleTemp, - nozzleHeatingTarget: nozzleHeatingTargetState.value, frontHeatingTarget: frontHeatingTargetState.value, backHeatingTarget: backHeatingTargetState.value,