From a10f0daf5e64c905c33bc0d203656968dad193fc Mon Sep 17 00:00:00 2001 From: mpboyer Date: Mon, 13 Jan 2025 18:09:02 +0100 Subject: [PATCH] chaussettes --- GCode_Interpreterdc.py | 3 ++- controller.py | 10 +++++----- hardware.py | 39 ++++++++++++++++++++++----------------- simulator.py | 15 +++++++++++++-- 4 files changed, 42 insertions(+), 25 deletions(-) diff --git a/GCode_Interpreterdc.py b/GCode_Interpreterdc.py index 2249890..3a8aadb 100644 --- a/GCode_Interpreterdc.py +++ b/GCode_Interpreterdc.py @@ -3,8 +3,9 @@ from typing import * import numpy as np import controller +import hardware -Point = NewType("point", List[float, float, float]) +Point = NewType("point", List[float]) # noinspection PyPep8Naming diff --git a/controller.py b/controller.py index 4d3f1d8..473129a 100644 --- a/controller.py +++ b/controller.py @@ -1,16 +1,16 @@ -from GCode_Interpreterdc import GCodeToMotors +import GCode_Interpreterdc class Controller: def __init__(self): pass def __call__(self, gtm, *args, **kwargs): - assert isinstance(gtm, GCodeToMotors) + assert isinstance(gtm) return None -class PIDController(Controller): - def __call__(self, gtm, *args, **kwargs): - self. +# class PIDController(Controller): +# def __call__(self, gtm, *args, **kwargs): +# self. diff --git a/hardware.py b/hardware.py index 40e8688..71a8d21 100644 --- a/hardware.py +++ b/hardware.py @@ -1,35 +1,31 @@ import socket +import os -from GCode_Interpreterdc import GCodeToMotors - +import GCode_Interpreterdc +import simulator class Hardware: def __init__(self): pass - def probe(self, gtm: GCodeToMotors): + def probe(self, gtm): return - def realize(self, gtm: GCodeToMotors): + def realize(self, gtm): return class SimuHardware(Hardware): def __init__(self, bind): - self.s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) - self.s.setblocking(False) - self.s.bind(bind) + super().__init__() + self.s = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) + self.s.connect(bind) def probe(self, gtm): - self.s.send("request") - self.s.listen() - while 1: - try: - encoder_x = (int)(socket.SocketIO(self.s).readline()) - except: - pass - encoder_y = (int)(socket.SocketIO(self.s).readline()) - encoder_z = (int)(socket.SocketIO(self.s).readline()) + self.s.send("request".encode()) + encoder_x = int(socket.SocketIO(self.s, "rw").readline()) + encoder_y = int(socket.SocketIO(self.s, "rw").readline()) + encoder_z = int(socket.SocketIO(self.s, "rw").readline()) last_x, last_y, last_z = gtm.current_steps # We are now at some position which realizes the encoder positions @@ -54,7 +50,7 @@ class SimuHardware(Hardware): curr_z / gtm.Z_STEPS_PER_MM]) def realize(self, gtm): - self.s.send("realize") + self.s.send("realize".encode()) if gtm.throttle_x == 0: self.s.send(gtm.x_direction + " 0") @@ -70,3 +66,12 @@ class SimuHardware(Hardware): self.s.send(gtm.z_direction + " 0") else: self.s.send(gtm.z_direction + " " + gtm.FAST_Z_FEEDRATE / gtm.z_throttle) + + + +if __name__ == '__main__': + bind = "tmp.txt" + # sim = simulator.Simulator(bind) + sh = SimuHardware(bind) + gtm1 = GCode_Interpreterdc.GCodeToMotors + sh.probe(gtm1) diff --git a/simulator.py b/simulator.py index 4d7f210..0b52cc7 100644 --- a/simulator.py +++ b/simulator.py @@ -1,8 +1,19 @@ +import socket import hardware +import os class Simulator: - def __init__(self, port): - self.socket = port + def __init__(self, bind): + self.s = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) + try: + os.remove(bind) + except FileNotFoundError: + pass + self.s.bind(bind) + self.s.listen() + while True: + +