XLR switch and BNC switch Python module for remote control via serial RS-232

CoaxialBNC switch with Remote access from LinkBone

XLR switch and BNC switch with remote control via RS-232

Module can be used in Python 3.0.

//****************************************************//
//        Module: RS232linkbone.py                    //
//        Author: Marcin Debski                       //
//        XLR Switch and BNC Switch module for remote //
//        control via RS-232                          //
//        www.linkbone.com                            //
//****************************************************//
'''

import time
import serial

class rs232:
def __init__(self, port, baudrate, parity, stopbits, rtscts):
try:
ser = serial.Serial(
port=port,
baudrate=baudrate,
parity=parity,
stopbits=stopbits,
bytesize=serial.EIGHTBITS,
timeout=1,
rtscts=rtscts
)
print("Serial connection to LinkBone has been established!")
self.ser = ser
print(ser)
except:
print("Cannot connect via serial to LinkBone!")

# close serial connection
def close(self):
return self.ser.close()

# check if serial connection is already open
def isOpen(self):
return self.ser.isOpen()

# print information about status of the XLR switch and BNC switch
def getStatus(self):
self.ser.write(b'status\r')
time.sleep(1)
while 1:
status = self.ser.readline()
if status:
print(status.decode())
else:
break

# print list of available commands
def getHelp(self):
self.ser.write(b'help\r')
time.sleep(1)
while 1:
status = self.ser.readline()
if status:
print(status.decode())
else:
break

# print information about XLR switch and BNC switch device
def getInfo(self):
self.ser.write(b'info\r')
time.sleep(1)
while 1:
status = self.ser.readline()
if status:
print(status.decode())
else:
break

# send text command to LinkBone XLR switch and BNC Switch
def sendCommand(self, command):
self.ser.write(b''+str(command).encode()+'\r'.encode())
time.sleep(1)
while 1:
status = self.ser.readline()
if status:
print(status.decode())
else:
break