Source code for pyccapt.control.nkt_photonics.origamiClassCLI

from time import sleep

import serial


# Control static object for Origami using CLI
# Version 1.1

# Author Ian Baker


[docs] class origClass: ## Control methods def __init__(self, comPort): self.comPort = comPort self.ser = None self.last_error = None
[docs] def open_port(self): try: self.ser = serial.Serial( port=self.comPort, baudrate=38400, stopbits=serial.STOPBITS_ONE, bytesize=serial.EIGHTBITS, rtscts=False) self.last_error = None return 0 except Exception as e: self.last_error = e return -1
[docs] def close_port(self): self.ser.close()
[docs] def Listen(self): cmd = "ly_oxp2_listen\n" self.ser.write(cmd.encode()) sleep(0.1) dataStore = [] while self.ser.in_waiting: dataBack = self.ser.readline() dataStore.append(dataBack.decode()) sleep(0.1) return dataBack.decode()
[docs] def Standby(self): cmd = "ly_oxp2_standby\n" self.ser.write(cmd.encode()) sleep(0.1) dataStore = [] while self.ser.in_waiting: dataBack = self.ser.readline() dataStore.append(dataBack.decode()) sleep(0.1) return dataBack.decode()
[docs] def Enable(self): cmd = "ly_oxp2_enabled\n" self.ser.write(cmd.encode()) sleep(0.1) dataStore = [] while self.ser.in_waiting: dataBack = self.ser.readline() dataStore.append(dataBack.decode()) sleep(0.1) return dataBack.decode()
[docs] def Temp(self, comPort): # Displays the laser system temperatures (needs a read back) # Open the port cmd = "ly_oxp2_temp_status\n" self.ser.write(cmd.encode()) sleep(0.1) dataStore = [] while self.ser.in_waiting: dataBack = self.ser.readline() dataStore.append(dataBack.decode()) return dataBack.decode()
[docs] def Power(self, power): cmd = "ly_oxp2_power=" + str(power) + "\n" self.ser.write(cmd.encode()) sleep(0.1) dataStore = [] while self.ser.in_waiting: dataBack = self.ser.readline() dataStore.append(dataBack.decode()) sleep(0.1) return dataBack.decode()
[docs] def PowerRead(self): cmd = "ly_oxp2_power?\n" self.ser.write(cmd.encode()) sleep(0.1) dataStore = [] while self.ser.in_waiting: dataBack = self.ser.readline() dataStore.append(dataBack.decode()) sleep(0.1) return dataBack.decode()
[docs] def AOM(self, power): cmd = "e_power=" + str(power) + "\n" self.ser.write(cmd.encode()) sleep(0.1) dataStore = [] while self.ser.in_waiting: dataBack = self.ser.readline() dataStore.append(dataBack.decode()) sleep(0.1) return dataBack.decode()
[docs] def AOMRead(self): # Displays the e_power setting cmd = "e_power?\n" self.ser.write(cmd.encode()) sleep(0.1) dataStore = [] while self.ser.in_waiting: dataBack = self.ser.readline() dataStore.append(dataBack.decode()) sleep(0.1) return dataBack.decode()
[docs] def Freq(self, freq): cmd = "e_freq=" + str(freq) + "\n" self.ser.write(cmd.encode()) sleep(0.1) dataStore = [] while self.ser.in_waiting: dataBack = self.ser.readline() dataStore.append(dataBack.decode()) sleep(0.1) return dataBack.decode()
[docs] def FreqRead(self): cmd = "e_freq?\n" self.ser.write(cmd.encode()) sleep(0.1) dataStore = [] while self.ser.in_waiting: dataBack = self.ser.readline() dataStore.append(dataBack.decode()) sleep(0.1) return dataBack.decode()
[docs] def Div(self, division): cmd = "e_div=" + str(division) + "\n" self.ser.write(cmd.encode()) sleep(0.1) dataStore = [] while self.ser.in_waiting: dataBack = self.ser.readline() dataStore.append(dataBack.decode()) sleep(0.1) return dataBack.decode()
[docs] def DivRead(self): cmd = "e_div?\r\n" self.ser.write(cmd.encode()) sleep(0.1) dataStore = [] while self.ser.in_waiting: dataBack = self.ser.readline() dataStore.append(dataBack.decode()) sleep(0.1) return dataBack.decode()
[docs] def Mode(self, mode): cmd = "e_mode " + str(mode) + "\n" self.ser.write(cmd.encode()) sleep(0.1) dataStore = [] while self.ser.in_waiting: dataBack = self.ser.readline() dataStore.append(dataBack.decode()) sleep(0.1) return dataBack.decode()
[docs] def ModeRead(self): cmd = "e_mode?\n" self.ser.write(cmd.encode()) sleep(0.1) dataStore = [] while self.ser.in_waiting: dataBack = self.ser.readline() dataStore.append(dataBack.decode()) sleep(0.1) return dataBack.decode()
[docs] def StatusRead(self): cmd = "ly_oxp2_dev_status\n" self.ser.write(cmd.encode()) sleep(0.1) dataStore = [] while self.ser.in_waiting: dataBack = self.ser.readline() dataStore.append(dataBack.decode()) sleep(0.1) return dataBack.decode()
[docs] def StatusMode(self): cmd = "ly_oxp2_mode\n" self.ser.write(cmd.encode()) sleep(0.1) dataStore = [] while self.ser.in_waiting: dataBack = self.ser.readline() dataStore.append(dataBack.decode()) sleep(0.1) return dataBack.decode()
[docs] def ServiceMode(self): cmd = "ly_oxp2_service_mode\n" self.ser.write(cmd.encode()) sleep(0.1) dataStore = [] while self.ser.in_waiting: dataBack = self.ser.readline() dataStore.append(dataBack.decode()) sleep(0.1) return dataBack.decode()
[docs] def DigitalGateLogic(self, choice): cmd = "ly_oxp2_digiop=" + str(choice) + "\n" self.ser.write(cmd.encode()) sleep(0.1) dataStore = [] while self.ser.in_waiting: dataBack = self.ser.readline() dataStore.append(dataBack.decode()) sleep(0.1) return dataBack.decode()
[docs] def DigitalGateLogicRead(self): cmd = "ly_oxp2_digiop?\n" self.ser.write(cmd.encode()) sleep(0.1) dataStore = [] while self.ser.in_waiting: dataBack = self.ser.readline() dataStore.append(dataBack.decode()) sleep(0.1) return dataBack.decode()
[docs] def AOMEnable(self): cmd = "ly_oxp2_output_enable\n" self.ser.write(cmd.encode()) sleep(0.1) dataStore = [] while self.ser.in_waiting: dataBack = self.ser.readline() dataStore.append(dataBack.decode()) sleep(0.1) return dataBack.decode()
[docs] def AOMDisable(self): cmd = "ly_oxp2_output_disable\n" self.ser.write(cmd.encode()) sleep(0.1) dataStore = [] while self.ser.in_waiting: dataBack = self.ser.readline() dataStore.append(dataBack.decode()) sleep(0.1) return dataBack.decode()
[docs] def AOMState(self): cmd = "ly_oxp2_output?\n" self.ser.write(cmd.encode()) sleep(0.1) dataStore = [] while self.ser.in_waiting: dataBack = self.ser.readline() dataStore.append(dataBack.decode()) sleep(0.1) return dataBack.decode()
[docs] def InterbusEnable(self): # AOM is open if return value is 0 and closed if return value is 1] cmd = "ly_oxp2_nktpbus=1\n" self.ser.write(cmd.encode()) sleep(0.1) dataStore = [] while self.ser.in_waiting: dataBack = self.ser.readline() dataStore.append(dataBack.decode()) sleep(0.1) return dataBack.decode()
[docs] def wavelength_change(self, wavelength): cmd = "ls_wavelength=" + str(wavelength) + "\n" self.ser.write(cmd.encode()) sleep(0.1) dataStore = [] while self.ser.in_waiting: data_back = self.ser.readline() dataStore.append(data_back.decode()) sleep(0.1) return data_back.decode()
[docs] def wavelength_read(self): cmd = "ls_wavelength?\n" self.ser.write(cmd.encode()) sleep(0.1) dataStore = [] while self.ser.in_waiting: data_back = self.ser.readline() dataStore.append(data_back.decode()) sleep(0.1) return data_back.decode()
[docs] def read_average_power(self): cmd = "e_mlp?\n" self.ser.write(cmd.encode()) sleep(0.1) dataStore = [] while self.ser.in_waiting: data_back = self.ser.readline() dataStore.append(data_back.decode()) sleep(0.1) return data_back.decode()
[docs] def freq_avaliable(self): cmd = "e_freq_available?\n" self.ser.write(cmd.encode()) sleep(0.1) dataStore = [] while self.ser.in_waiting: data_back = self.ser.readline() print(data_back.decode()) dataStore.append(data_back.decode()) sleep(0.1) return data_back.decode()
[docs] def power_read_dv_green(self): cmd = "ls_output_power?\n" self.ser.write(cmd.encode()) sleep(0.1) dataStore = [] while self.ser.in_waiting: data_back = self.ser.readline() dataStore.append(data_back.decode()) sleep(0.1) return data_back.decode()
[docs] def status_led(self): cmd = "ly_oxp2_mode?\n" self.ser.write(cmd.encode()) sleep(0.1) dataStore = [] while self.ser.in_waiting: data_back = self.ser.readline() dataStore.append(data_back.decode()) sleep(0.1) return data_back.decode()