Files
TIMERS/old/timer_megasport2.py

71 lines
2.1 KiB
Python

import serial
from serial import SerialException
import logging
import time
import binascii
SerialPort = "COM1"
BaudRate = 19200
PackageByTime = 0.1
PackageByLenght = 256
BufferMax = 2000
LogFileName = "megasport_new_4.log"
logging.basicConfig(level=logging.DEBUG,
format='%(asctime)s %(levelname)s %(message)s',
filename=LogFileName,
filemode="w")
ser = serial.Serial()
ser.port = SerialPort
ser.baudrate = BaudRate
ser.bytesize = serial.EIGHTBITS
ser.parity = serial.PARITY_NONE
ser.stopbits = serial.STOPBITS_ONE
ser.timeout = PackageByTime
ser.xonxoff = False
ser.rtscts = False
ser.dsrdtr = False
ser.write_timeout = 2
start = b"\xe0\xe0\xe8\xe8\xe4\xe4\xf8"
finish = b"\r"
while True:
try:
print("Initializing")
ser.close()
ser.open()
if ser.is_open:
try:
RequestCount = 0
print("Port Opening")
RetryCount = 0
remainder_hex = b""
while True:
response = ser.read(PackageByLenght)
print(response)
logging.debug(response)
if len(response) > 0:
StarterTime = time.time() * 1000
response_hex = response.replace(b" ", b"")
try:
int(response_hex,16)
except ValueError:
response_hex = binascii.hexlify(response)
response_hex = response_hex.upper()
response_hex = remainder_hex + response_hex
print(response_hex)
except Exception as e1:
logging.error("error communicating...: " + str(e1))
else:
print("Port Opening Failed... trying again in 5 seconds")
time.sleep(5)
ser.close()
except SerialException:
print("No port connected... trying again in 5 seconds")
time.sleep(5)