Compare commits

...
88 changed files with 95 additions and 92 deletions

No files matched your search

@@ -12,9 +12,9 @@ import {
useAnalogInputTestMachineNamespace,
} from "./useAnalogInputTestMachineNamespace";
import { toastError } from "@/components/Toast";
import { MachineIdentificationUnique } from "../types";
import { MachineIdentificationUnique } from "../../types";
import { analogInputTestMachineSerialRoute } from "@/routes/routes";
import { analogInputTestMachine } from "../properties";
import { analogInputTestMachine } from "../../properties";
import { useStateOptimistic } from "@/lib/useStateOptimistic";
import { produce } from "immer";
@@ -14,7 +14,7 @@ import {
NamespaceId,
createNamespaceHookImplementation,
ThrottledStoreUpdater,
} from "../../../client/socketioStore";
} from "../../../../client/socketioStore";
import { MachineIdentificationUnique } from "@/machines/types";
import {
createTimeSeries,
@@ -12,7 +12,7 @@ import { wagoAiTestMachineSerialRoute } from "@/routes/routes";
import { produce } from "immer";
import { useEffect, useMemo, useState } from "react";
import z from "zod";
import { wagoAiTestMachine } from "../properties";
import { wagoAiTestMachine } from "../../properties";
import {
StateEvent,
useWagoAiTestMachineNamespace,
+23 -23
View File
@@ -43,44 +43,44 @@ import { Laser1GraphsPage } from "@/machines/laser/laser1/Laser1Graph";
import { Laser1Page } from "@/machines/laser/laser1/Laser1Page";
import { Laser1PresetsPage } from "@/machines/laser/laser1/Laser1PresetsPage";
import { Mock1ControlPage } from "@/machines/mock/mock1/Mock1ControlPage";
import { Mock1GraphPage } from "@/machines/mock/mock1/Mock1Graph";
import { Mock1ManualPage } from "@/machines/mock/mock1/Mock1Manual";
import { Mock1Page } from "@/machines/mock/mock1/Mock1Page";
import { Mock1PresetsPage } from "@/machines/mock/mock1/Mock1PresetsPage";
import { Mock1ControlPage } from "@/machines/minimal_machines/mock/mock1/Mock1ControlPage";
import { Mock1GraphPage } from "@/machines/minimal_machines/mock/mock1/Mock1Graph";
import { Mock1ManualPage } from "@/machines/minimal_machines/mock/mock1/Mock1Manual";
import { Mock1Page } from "@/machines/minimal_machines/mock/mock1/Mock1Page";
import { Mock1PresetsPage } from "@/machines/minimal_machines/mock/mock1/Mock1PresetsPage";
import { Aquapath1ControlPage } from "@/machines/aquapath/aquapath1/Aquapath1ControlPage";
import { Aquapath1Page } from "@/machines/aquapath/aquapath1/Aquapath1Page";
import { Aquapath1GraphPage } from "@/machines/aquapath/aquapath1/Aquapath1Graph";
import { Aquapath1SettingsPage } from "@/machines/aquapath/aquapath1/Aquapath1Settings";
import { TestMachinePage } from "@/machines/testmachine/TestMachinePage";
import { TestMachineControlPage } from "@/machines/testmachine/TestMachineControlPage";
import { TestMachinePage } from "@/machines/minimal_machines/testmachine/TestMachinePage";
import { TestMachineControlPage } from "@/machines/minimal_machines/testmachine/TestMachineControlPage";
import { TestMachineStepperPage } from "@/machines/testmachinestepper/TestMachineStepperPage";
import { TestMachineStepperControlPage } from "@/machines/testmachinestepper/TestMachineStepperControlPage";
import { AnalogInputTestMachine } from "@/machines/analoginputtestmachine/AnalogInputTestMachinePage";
import { AnalogInputTestMachineControl } from "@/machines/analoginputtestmachine/AnalogInputTestMachineControlPage";
import { WagoAiTestMachine } from "@/machines/wagoaitestmachine/WagoAiTestMachinePage";
import { WagoAiTestMachineControl } from "@/machines/wagoaitestmachine/WagoAiTestMachineControlPage";
import { TestMachineStepperPage } from "@/machines/minimal_machines/testmachinestepper/TestMachineStepperPage";
import { TestMachineStepperControlPage } from "@/machines/minimal_machines/testmachinestepper/TestMachineStepperControlPage";
import { AnalogInputTestMachine } from "@/machines/minimal_machines/analoginputtestmachine/AnalogInputTestMachinePage";
import { AnalogInputTestMachineControl } from "@/machines/minimal_machines/analoginputtestmachine/AnalogInputTestMachineControlPage";
import { WagoAiTestMachine } from "@/machines/minimal_machines/wagoaitestmachine/WagoAiTestMachinePage";
import { WagoAiTestMachineControl } from "@/machines/minimal_machines/wagoaitestmachine/WagoAiTestMachineControlPage";
import { DigitalInputTestMachinePage } from "@/machines/digitalinputtestmachine/DigitalInputTestMachinePage";
import { DigitalInputTestMachineControlPage } from "@/machines/digitalinputtestmachine/DigitalInputTestMachineControlPage";
import { DigitalInputTestMachinePage } from "@/machines/minimal_machines/digitalinputtestmachine/DigitalInputTestMachinePage";
import { DigitalInputTestMachineControlPage } from "@/machines/minimal_machines/digitalinputtestmachine/DigitalInputTestMachineControlPage";
import { IP20TestMachinePage } from "@/machines/ip20testmachine/IP20TestMachinePage";
import { IP20TestMachineControlPage } from "@/machines/ip20testmachine/IP20TestMachineControlPage";
import { TestMotorPage } from "@/machines/motor_test_machine/TestMotorPage";
import { TestMotorControlPage } from "@/machines/motor_test_machine/TestMotorControlPage";
import { IP20TestMachinePage } from "@/machines/minimal_machines/ip20testmachine/IP20TestMachinePage";
import { IP20TestMachineControlPage } from "@/machines/minimal_machines/ip20testmachine/IP20TestMachineControlPage";
import { TestMotorPage } from "@/machines/minimal_machines/motor_test_machine/TestMotorPage";
import { TestMotorControlPage } from "@/machines/minimal_machines/motor_test_machine/TestMotorControlPage";
import { MetricsGraphsPage } from "@/metrics/MetricsGraphsPage";
import { MetricsControlPage } from "@/metrics/MetricsControlPage";
import { WagoPower1Page } from "@/machines/wago_power/wago_power1/WagoPower1Page";
import { WagoPower1ControlPage } from "@/machines/wago_power/wago_power1/WagoPower1ControlPage";
import { WagoDoTestMachinePage } from "@/machines/wagodotestmachine/WagoDoTestMachinePage";
import { WagoDoTestMachineControlPage } from "@/machines/wagodotestmachine/WagoDoTestMachineControlPage";
import { Wago8chDioTestMachinePage } from "@/machines/wago8chdiotestmachine/wago8chDioTestMachinePage";
import { Wago8chDioTestMachineControlRoute } from "@/machines/wago8chdiotestmachine/wago8chDioTestMachineControlPage";
import { WagoDoTestMachinePage } from "@/machines/minimal_machines/wagodotestmachine/WagoDoTestMachinePage";
import { WagoDoTestMachineControlPage } from "@/machines/minimal_machines/wagodotestmachine/WagoDoTestMachineControlPage";
import { Wago8chDioTestMachinePage } from "@/machines/minimal_machines/wago8chdiotestmachine/wago8chDioTestMachinePage";
import { Wago8chDioTestMachineControlRoute } from "@/machines/minimal_machines/wago8chdiotestmachine/wago8chDioTestMachineControlPage";
// make a route tree like this
// _mainNavigation/machines/winder2/$serial/control
+1 -10
View File
@@ -17,25 +17,16 @@ use std::any::Any;
use std::fmt::Debug;
use std::sync::Arc;
use std::time::Instant;
pub mod analog_input_test_machine;
pub mod aquapath1;
#[cfg(not(feature = "mock-machine"))]
pub mod buffer1;
pub mod digital_input_test_machine;
pub mod extruder1;
pub mod extruder2;
pub mod ip20_test_machine;
pub mod laser;
pub mod machine_identification;
pub mod mock;
pub mod motor_test_machine;
pub mod minimal_machines;
pub mod registry;
pub mod serial;
pub mod test_machine;
pub mod test_machine_stepper;
pub mod wago_8ch_dio_test_machine;
pub mod wago_ai_test_machine;
pub mod wago_do_test_machine;
pub mod wago_power;
pub mod winder2;
@@ -1,7 +1,8 @@
use std::time::{Duration, Instant, SystemTime, UNIX_EPOCH};
use crate::{
MachineAct, MachineMessage, MachineValues, analog_input_test_machine::AnalogInputTestMachine,
MachineAct, MachineMessage, MachineValues,
minimal_machines::analog_input_test_machine::AnalogInputTestMachine,
};
impl MachineAct for AnalogInputTestMachine {
@@ -8,7 +8,7 @@ use control_core::socketio::{
};
use serde::{Deserialize, Serialize};
use crate::{MachineApi, analog_input_test_machine::AnalogInputTestMachine};
use crate::{MachineApi, minimal_machines::analog_input_test_machine::AnalogInputTestMachine};
#[derive(Debug, Clone)]
pub struct AnalogInputTestMachineNamespace {
@@ -4,11 +4,9 @@ use control_core::socketio::{event::Event, namespace::NamespaceCacheingLogic};
use ethercat_hal::io::analog_input::AnalogInput;
use smol::channel::{Receiver, Sender};
use self::api::{AnalogInputTestMachineEvents, AnalogInputTestMachineNamespace, MeasurementEvent};
use crate::{
ANALOG_INPUT_TEST_MACHINE, AsyncThreadMessage, Machine, MachineMessage, VENDOR_QITECH,
analog_input_test_machine::api::{
AnalogInputTestMachineEvents, AnalogInputTestMachineNamespace, MeasurementEvent,
},
machine_identification::{MachineIdentification, MachineIdentificationUnique},
};
@@ -7,10 +7,10 @@ use ethercat_hal::{
};
use smol::{block_on, channel::unbounded};
use super::{AnalogInputTestMachine, api::AnalogInputTestMachineNamespace};
use crate::{
MachineNewHardware, MachineNewParams, MachineNewTrait,
analog_input_test_machine::{AnalogInputTestMachine, api::AnalogInputTestMachineNamespace},
get_ethercat_device, validate_no_role_dublicates, validate_same_machine_identification_unique,
MachineNewHardware, MachineNewParams, MachineNewTrait, get_ethercat_device,
validate_no_role_dublicates, validate_same_machine_identification_unique,
};
impl MachineNewTrait for AnalogInputTestMachine {
@@ -8,7 +8,7 @@ use control_core::socketio::{
};
use serde::{Deserialize, Serialize};
use crate::{MachineApi, digital_input_test_machine::DigitalInputTestMachine};
use crate::{MachineApi, minimal_machines::digital_input_test_machine::DigitalInputTestMachine};
#[derive(Serialize, Debug, Clone)]
pub struct StateEvent {
@@ -4,11 +4,9 @@ use control_core::socketio::namespace::NamespaceCacheingLogic;
use ethercat_hal::io::digital_input::DigitalInput;
use smol::channel::{Receiver, Sender};
use self::api::{DigitalInputTestMachineEvents, DigitalInputTestMachineNamespace, StateEvent};
use crate::{
AsyncThreadMessage, DIGITAL_INPUT_TEST_MACHINE, Machine, MachineMessage, VENDOR_QITECH,
digital_input_test_machine::api::{
DigitalInputTestMachineEvents, DigitalInputTestMachineNamespace, StateEvent,
},
machine_identification::{MachineIdentification, MachineIdentificationUnique},
};
@@ -11,10 +11,10 @@ use ethercat_hal::{
};
use smol::{block_on, lock::RwLock};
use super::{DigitalInputTestMachine, api::DigitalInputTestMachineNamespace};
use crate::{
MachineNewHardware, MachineNewParams, MachineNewTrait,
digital_input_test_machine::{DigitalInputTestMachine, api::DigitalInputTestMachineNamespace},
get_ethercat_device, validate_no_role_dublicates, validate_same_machine_identification_unique,
MachineNewHardware, MachineNewParams, MachineNewTrait, get_ethercat_device,
validate_no_role_dublicates, validate_same_machine_identification_unique,
};
impl MachineNewTrait for DigitalInputTestMachine {
@@ -1,5 +1,7 @@
use crate::ip20_test_machine::api::{IP20TestMachineEvents, LiveValuesEvent, StateEvent};
use crate::machine_identification::{MachineIdentification, MachineIdentificationUnique};
use crate::minimal_machines::ip20_test_machine::api::{
IP20TestMachineEvents, LiveValuesEvent, StateEvent,
};
use crate::{AsyncThreadMessage, Machine, MachineMessage};
use control_core::socketio::namespace::NamespaceCacheingLogic;
use ethercat_hal::io::digital_input::DigitalInput;
@@ -9,7 +11,7 @@ use std::time::Instant;
pub mod act;
pub mod api;
pub mod new;
use crate::ip20_test_machine::api::IP20TestMachineNamespace;
use crate::minimal_machines::ip20_test_machine::api::IP20TestMachineNamespace;
use crate::{IP20_TEST_MACHINE, VENDOR_QITECH};
#[derive(Debug)]
@@ -1,5 +1,5 @@
use crate::ip20_test_machine::IP20TestMachine;
use crate::ip20_test_machine::api::IP20TestMachineNamespace;
use crate::minimal_machines::ip20_test_machine::IP20TestMachine;
use crate::minimal_machines::ip20_test_machine::api::IP20TestMachineNamespace;
use smol::block_on;
use std::time::Instant;
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
+10
View File
@@ -0,0 +1,10 @@
pub mod analog_input_test_machine;
pub mod digital_input_test_machine;
pub mod ip20_test_machine;
pub mod mock;
pub mod motor_test_machine;
pub mod test_machine;
pub mod test_machine_stepper;
pub mod wago_8ch_dio_test_machine;
pub mod wago_ai_test_machine;
pub mod wago_do_test_machine;
@@ -1,5 +1,5 @@
use crate::machine_identification::{MachineIdentification, MachineIdentificationUnique};
use crate::test_machine::api::{StateEvent, TestMachineEvents};
use crate::minimal_machines::test_machine::api::{StateEvent, TestMachineEvents};
use crate::{AsyncThreadMessage, Machine, MachineMessage};
use control_core::socketio::namespace::NamespaceCacheingLogic;
use ethercat_hal::io::digital_output::DigitalOutput;
@@ -8,7 +8,7 @@ use std::time::Instant;
pub mod act;
pub mod api;
pub mod new;
use crate::test_machine::api::TestMachineNamespace;
use crate::minimal_machines::test_machine::api::TestMachineNamespace;
use crate::{TEST_MACHINE, VENDOR_QITECH};
#[derive(Debug)]
@@ -1,5 +1,5 @@
use crate::test_machine::TestMachine;
use crate::test_machine::api::TestMachineNamespace;
use crate::minimal_machines::test_machine::TestMachine;
use crate::minimal_machines::test_machine::api::TestMachineNamespace;
use smol::block_on;
use std::time::Instant;
@@ -1,5 +1,5 @@
use crate::machine_identification::{MachineIdentification, MachineIdentificationUnique};
use crate::test_machine_stepper::api::{StateEvent, TestMachineStepperEvents};
use crate::minimal_machines::test_machine_stepper::api::{StateEvent, TestMachineStepperEvents};
use crate::{AsyncThreadMessage, Machine, MachineMessage};
use control_core::socketio::namespace::NamespaceCacheingLogic;
use ethercat_hal::io::stepper_velocity_wago_750_672::StepperVelocityWago750672;
@@ -8,7 +8,7 @@ use std::time::Instant;
pub mod act;
pub mod api;
pub mod new;
use crate::test_machine_stepper::api::TestMachineStepperNamespace;
use crate::minimal_machines::test_machine_stepper::api::TestMachineStepperNamespace;
use crate::{TEST_MACHINE_STEPPER, VENDOR_QITECH};
#[derive(Debug)]
@@ -1,4 +1,6 @@
use crate::test_machine_stepper::{TestMachineStepper, api::TestMachineStepperNamespace};
use crate::minimal_machines::test_machine_stepper::{
TestMachineStepper, api::TestMachineStepperNamespace,
};
use ethercat_hal::{
devices::{
EthercatDevice, downcast_device,
@@ -8,7 +8,7 @@ use control_core::socketio::{
};
use serde::{Deserialize, Serialize};
use crate::{MachineApi, wago_8ch_dio_test_machine::Wago8chDigitalIOTestMachine};
use crate::{MachineApi, minimal_machines::wago_8ch_dio_test_machine::Wago8chDigitalIOTestMachine};
#[derive(Serialize, Debug, Clone)]
pub struct StateEvent {
@@ -4,12 +4,12 @@ use control_core::socketio::namespace::NamespaceCacheingLogic;
use ethercat_hal::io::{digital_input::DigitalInput, digital_output::DigitalOutput};
use smol::channel::{Receiver, Sender};
use self::api::{
StateEvent, Wago8chDigitalIOTestMachineEvents, Wago8chDigitalIOTestMachineNamespace,
};
use crate::{
AsyncThreadMessage, Machine, MachineMessage, VENDOR_QITECH, WAGO_8CH_IO_TEST_MACHINE,
machine_identification::{MachineIdentification, MachineIdentificationUnique},
wago_8ch_dio_test_machine::api::{
StateEvent, Wago8chDigitalIOTestMachineEvents, Wago8chDigitalIOTestMachineNamespace,
},
};
pub mod act;
@@ -13,12 +13,10 @@ use ethercat_hal::{
};
use smol::{block_on, lock::RwLock};
use super::{Wago8chDigitalIOTestMachine, api::Wago8chDigitalIOTestMachineNamespace};
use crate::{
MachineNewHardware, MachineNewParams, MachineNewTrait, get_ethercat_device,
validate_no_role_dublicates, validate_same_machine_identification_unique,
wago_8ch_dio_test_machine::{
Wago8chDigitalIOTestMachine, api::Wago8chDigitalIOTestMachineNamespace,
},
};
impl MachineNewTrait for Wago8chDigitalIOTestMachine {
@@ -1,6 +1,9 @@
use std::time::{Duration, Instant, SystemTime, UNIX_EPOCH};
use crate::{MachineAct, MachineMessage, MachineValues, wago_ai_test_machine::WagoAiTestMachine};
use crate::{
MachineAct, MachineMessage, MachineValues,
minimal_machines::wago_ai_test_machine::WagoAiTestMachine,
};
impl MachineAct for WagoAiTestMachine {
fn act_machine_message(&mut self, msg: MachineMessage) {
@@ -8,7 +8,7 @@ use control_core::socketio::{
};
use serde::{Deserialize, Serialize};
use crate::{MachineApi, wago_ai_test_machine::WagoAiTestMachine};
use crate::{MachineApi, minimal_machines::wago_ai_test_machine::WagoAiTestMachine};
#[derive(Debug, Clone)]
pub struct WagoAiTestMachineNamespace {
@@ -4,12 +4,10 @@ use control_core::socketio::{event::Event, namespace::NamespaceCacheingLogic};
use ethercat_hal::io::analog_input::AnalogInput;
use smol::channel::{Receiver, Sender};
use self::api::{AnalogInputsEvent, WagoAiTestMachineEvents, WagoAiTestMachineNamespace};
use crate::{
AsyncThreadMessage, Machine, MachineMessage, VENDOR_QITECH, WAGO_AI_TEST_MACHINE,
machine_identification::{MachineIdentification, MachineIdentificationUnique},
wago_ai_test_machine::api::{
AnalogInputsEvent, WagoAiTestMachineEvents, WagoAiTestMachineNamespace,
},
};
pub mod act;
@@ -12,10 +12,10 @@ use ethercat_hal::{
use smol::{block_on, channel::unbounded, lock::RwLock};
use std::sync::Arc;
use super::{WagoAiTestMachine, api::WagoAiTestMachineNamespace};
use crate::{
MachineNewHardware, MachineNewParams, MachineNewTrait, get_ethercat_device,
validate_no_role_dublicates, validate_same_machine_identification_unique,
wago_ai_test_machine::{WagoAiTestMachine, api::WagoAiTestMachineNamespace},
};
impl MachineNewTrait for WagoAiTestMachine {
@@ -4,10 +4,10 @@ use control_core::socketio::namespace::NamespaceCacheingLogic;
use ethercat_hal::io::digital_output::DigitalOutput;
use smol::channel::{Receiver, Sender};
use self::api::{StateEvent, WagoDOTestMachineEvents, WagoDOTestMachineNamespace};
use crate::{
AsyncThreadMessage, Machine, MachineMessage, VENDOR_QITECH, WAGO_DO_TEST_MACHINE,
machine_identification::{MachineIdentification, MachineIdentificationUnique},
wago_do_test_machine::api::{StateEvent, WagoDOTestMachineEvents, WagoDOTestMachineNamespace},
};
pub mod act;
@@ -1,5 +1,5 @@
use crate::wago_do_test_machine::WagoDOTestMachine;
use crate::wago_do_test_machine::api::WagoDOTestMachineNamespace;
use crate::minimal_machines::wago_do_test_machine::WagoDOTestMachine;
use crate::minimal_machines::wago_do_test_machine::api::WagoDOTestMachineNamespace;
use smol::block_on;
use std::time::Instant;
+11 -9
View File
@@ -1,13 +1,13 @@
use crate::analog_input_test_machine::AnalogInputTestMachine;
use crate::digital_input_test_machine::DigitalInputTestMachine;
use crate::ip20_test_machine::IP20TestMachine;
use crate::wago_8ch_dio_test_machine::Wago8chDigitalIOTestMachine;
use crate::wago_ai_test_machine::WagoAiTestMachine;
use crate::wago_do_test_machine::WagoDOTestMachine;
use crate::minimal_machines::analog_input_test_machine::AnalogInputTestMachine;
use crate::minimal_machines::digital_input_test_machine::DigitalInputTestMachine;
use crate::minimal_machines::ip20_test_machine::IP20TestMachine;
use crate::minimal_machines::wago_8ch_dio_test_machine::Wago8chDigitalIOTestMachine;
use crate::minimal_machines::wago_ai_test_machine::WagoAiTestMachine;
use crate::minimal_machines::wago_do_test_machine::WagoDOTestMachine;
#[cfg(feature = "mock-machine")]
use crate::{
extruder1::mock::ExtruderV2 as ExtruderV2Mock1, extruder2::mock::ExtruderV2 as ExtruderV2Mock2,
mock::MockMachine, winder2::mock::Winder2,
minimal_machines::mock::MockMachine, winder2::mock::Winder2,
};
use crate::{
@@ -22,11 +22,13 @@ use crate::{
winder2::Winder2,
};
use crate::{test_machine::TestMachine, test_machine_stepper::TestMachineStepper};
use crate::minimal_machines::{
test_machine::TestMachine, test_machine_stepper::TestMachineStepper,
};
use lazy_static::lazy_static;
use crate::motor_test_machine::MotorTestMachine;
use crate::minimal_machines::motor_test_machine::MotorTestMachine;
use anyhow::Error;
use std::{any::TypeId, collections::HashMap};
+4 -4
View File
@@ -4,14 +4,14 @@ use axum::extract::{Path, State};
use axum::routing::{get, post};
use axum::{Extension, Json, Router, debug_handler};
use machines::MachineMessage;
use machines::analog_input_test_machine::AnalogInputTestMachine;
use machines::aquapath1::AquaPathV1;
use machines::extruder1::ExtruderV2;
use machines::ip20_test_machine::IP20TestMachine;
use machines::laser::LaserMachine;
use machines::machine_identification::{MachineIdentification, MachineIdentificationUnique};
use machines::mock::MockMachine;
use machines::test_machine::TestMachine;
use machines::minimal_machines::analog_input_test_machine::AnalogInputTestMachine;
use machines::minimal_machines::ip20_test_machine::IP20TestMachine;
use machines::minimal_machines::mock::MockMachine;
use machines::minimal_machines::test_machine::TestMachine;
use machines::wago_power::WagoPower;
use machines::winder2::Winder2;
use serde::Serialize;