Compare commits

..

3 Commits

3 changed files with 22 additions and 8 deletions

View File

@@ -22,7 +22,7 @@ if __name__ == "__main__":
positions = parser.get_positions() positions = parser.get_positions()
if args.visualize: if args.visualize:
screen_dimensions = (1024*1.5, 1024*1.5 * HEIGHT_MM/WIDTH_MM) screen_dimensions = (1024*1.5, 1024*1.5 * args.height/args.width)
visualizer = Visualizer(positions, screen_dimensions, (args.width, args.height)) visualizer = Visualizer(positions, screen_dimensions, (args.width, args.height))
visualizer.visualize() visualizer.visualize()

18
port-finder.py Executable file
View File

@@ -0,0 +1,18 @@
#! /usr/bin/env python3
import serial.tools.list_ports
from serial.tools.list_ports_common import ListPortInfo
if __name__ == "__main__":
ports = serial.tools.list_ports.comports()
for port in ports:
if port.interface and port.interface.startswith("CircuitPython CDC2"): # CDC2 is the data-port
print(f"Port: {port.device}")
print(f" Description: {port.description}")
print(f" Manufacturer: {port.manufacturer}")
print(f" VID: {port.vid}")
print(f" PID: {port.pid}")
print(f" Serial Number: {port.serial_number}")
print(f" Location: {port.location}")
print(f" Interface: {port.interface}")
print()

View File

@@ -9,8 +9,7 @@ class PWMDriver():
def _init_pwm(self) -> None: def _init_pwm(self) -> None:
from serial import Serial from serial import Serial
pass self.serial = Serial(self.port, self.baudrate)
#self.serial = Serial(self.port, self.baudrate)
def _send_position(self, pos : tuple[float, float, float]) -> None: def _send_position(self, pos : tuple[float, float, float]) -> None:
x, y, z = pos x, y, z = pos
@@ -22,14 +21,11 @@ class PWMDriver():
# Send PWM values to the serial port # Send PWM values to the serial port
print(f"Sending PWM values: X={pwm_x:<5}, Y={pwm_y:<5}, Pen={pen}") print(f"Sending PWM values: X={pwm_x:<5}, Y={pwm_y:<5}, Pen={pen}")
#self.serial.write(f"{pwm_x},{pwm_y},{pen}\n".encode()) self.serial.write(f"{pwm_x},{pwm_y},{pen}\n".encode())
def _position_reached(self) -> bool: def _position_reached(self) -> bool:
# Check if the position has been reached # Check if the position has been reached
from time import sleep return self.serial.readline().decode().strip() == "OK"
sleep(0.5)
return True
# return self.serial.readline().decode().strip() == "OK"
def _wait_for_position(self) -> None: def _wait_for_position(self) -> None:
# Wait until the position is reached # Wait until the position is reached