mirror of
https://git.mirrors.martin98.com/https://github.com/luc-github/ESP3D.git
synced 2025-07-29 20:42:05 +08:00
48 lines
1.2 KiB
Python
48 lines
1.2 KiB
Python
import serial
|
|
import time
|
|
import sys
|
|
|
|
# Serial Port Configuration
|
|
port = 'COM3'
|
|
baudrate = 1000000
|
|
|
|
try:
|
|
ser = serial.Serial(
|
|
port=port,
|
|
baudrate=baudrate,
|
|
parity=serial.PARITY_NONE,
|
|
stopbits=serial.STOPBITS_ONE,
|
|
bytesize=serial.EIGHTBITS,
|
|
timeout=1 # Add a timeout to the serial port read operation
|
|
)
|
|
except serial.SerialException as e:
|
|
print(f"Error opening {port}: {str(e)}")
|
|
sys.exit(1) # exit the program with an error code
|
|
|
|
# Simulate a response from the printer
|
|
response = b'ok T:19.91 /0.00 B:19.88 /0.00 @:127 B@:0\r\n'
|
|
|
|
print("Serial port opened successfully.")
|
|
|
|
try:
|
|
while True:
|
|
if ser.in_waiting > 0:
|
|
data = ser.readline().strip()
|
|
if data == b'M105' or data == b'M105\r':
|
|
print(f"Got: {data}")
|
|
ser.write(response)
|
|
print(f"Sent: {response}")
|
|
else:
|
|
print(f"Ignoring: {data}")
|
|
|
|
time.sleep(0.1) # Sleep for 100 milliseconds
|
|
|
|
except KeyboardInterrupt:
|
|
print("\n\nKeyboard Interrupt Detected. Exiting...")
|
|
except Exception as e:
|
|
print(f"Error: {str(e)}")
|
|
finally:
|
|
if ser.is_open:
|
|
ser.close()
|
|
print("Serial port closed successfully.")
|