Files
qitech-control/machines/src/buffer1/buffer_tower_controller.rs
T
kraemr 8d42bd93f7 started refactoring so machines use channels instead of locks
backend works flawlessly now

added machine_connection and a main_thread actor

added back write_machine_device_ident

error handling for machines restored

correctly handles machine connections/disconnections now

removed unused deps
2025-11-12 17:54:11 +01:00

28 lines
787 B
Rust

use ethercat_hal::io::stepper_velocity_el70x1::StepperVelocityEL70x1;
#[derive(Debug)]
pub struct BufferTowerController {
enabled: bool,
/// Stepper driver. Controls buffer stepper motor
pub stepper_driver: StepperVelocityEL70x1,
}
impl BufferTowerController {
pub const fn new(driver: StepperVelocityEL70x1) -> Self {
Self {
enabled: false,
stepper_driver: driver,
}
}
pub fn set_enabled(&mut self, enabled: bool) {
self.enabled = enabled;
if enabled {
self.stepper_driver.set_enabled(true);
let _ = self.stepper_driver.set_speed(10.0);
} else {
self.stepper_driver.set_enabled(false);
let _ = self.stepper_driver.set_speed(0.0);
}
}
}