# NOTE: This script was initially intended to be as an example for the x32 Windows operating system. # TODO: Remove this script in future updates of the repository. import time try: from KLCCommandLib64 import * except OSError as ex: print("Warning:",ex) def main(): print("*** KLC device python example ***") try: devs = klcListDevices() print(devs) if(len(devs)<=0): print('There is no devices connected') exit() klc = devs[0] sn = klc[0] print("connect ", sn) hdl = klcOpen(sn, 115200, 3) if(hdl<0): print("open ", sn, " failed") exit() if(klcIsOpen(sn) == 0): print("klcIsOpen failed") klcClose(hdl) exit() # ------------ Example Disable/Enable global output -------------- # klcSetEnable(hdl,2) print("set output to enable") if(klcSetEnable(hdl, 1)<0): print("klcSetEnable failed") en=[0] if(klcGetEnable(hdl, en)<0): print("klcGetEnable failed") else: print("klcGetEnable ", en) # ---------------------------------------------------------------- # # ------------ Example Present1 mode ----------------------------- # print("Enable V1") klcSetChannelEnable(hdl, 1) print("set vol1 to 5.0") if(klcSetVoltage1(hdl, 5)<0): print("klcSetVoltage1 failed") vol1=[0] if(klcGetVoltage1(hdl, vol1)<0): print("klcGetVoltage1 failed") else: print("klcGetVoltage1 ", vol1) print("set freq 1 to 2005") if(klcSetFrequency1(hdl, 2005)<0): print("klcSetFrequency1 failed") freq1=[0] if(klcGetFrequency1(hdl, freq1)<0): print("klcGetFrequency1 failed") else: print("klcGetFrequency1 ", freq1) # ---------------------------------------------------------------- # # ------------ Example Present2 mode ----------------------------- # print("Enable V2") klcSetChannelEnable(hdl, 2) print("set vol2 to 10.0") if(klcSetVoltage2(hdl, 10)<0): print("klcSetVoltage2 failed") vol2=[0] if(klcGetVoltage2(hdl, vol2)<0): print("klcGetVoltage2 failed") else: print("klcGetVoltage2 ", vol2) print("set freq 2 to 3005") if(klcSetFrequency2(hdl, 3005)<0): print("klcSetFrequency2 failed") freq2=[0] if(klcGetFrequency2(hdl, freq2)<0): print("klcGetFrequency2 failed") else: print("klcGetFrequency2 ", freq2) # ---------------------------------------------------------------- # # ------------ Example Switching mode ---------------------------- # print("set to sw mode") if(klcSetChannelEnable(hdl, 3)<0): print("klcSetChannelEnable failed") print("set sw frequency to 99") if(klcSetSWFrequency(hdl, 99)<0): print("klcSetSWFrequency failed") swf=[0] if(klcGetSWFrequency(hdl, swf)<0): print("klcGetSWFrequency failed") else: print("klcGetSWFrequency ", swf) # ---------------------------------------------------------------- # time.sleep(5) # ------------ Example Mode in mode ------------------------------ # print("set input mode to enable") if(klcSetInputMode(hdl, 1)<0): print("klcSetInputMode failed") im=[0] if(klcGetInputMode(hdl, im)<0): print("klcGetInputMode failed") else: print("klcGetInputMode ", im) print("set mode in frequency") if(klcSetFrequency1(hdl, 5000)<0): print("klcSetFrequency1 failed") # ---------------------------------------------------------------- # # ------------ Example Trigger mode ------------------------------ # print("set trigger mode to Pin 1") if(klcSetTrigIOConfigure(hdl, 2)<0): print("klcSetTrigIOConfigure failed") trigger=[0] if(klcGetTrigIOConfigure(hdl, trigger)<0): print("klcGetTrigIOConfigure failed") else: print("klcGetTrigIOConfigure ", trigger) # ---------------------------------------------------------------- # # --------- Example Wheel lock, pannel brightness/timeout -------- # print("set wheel lock to locked") if(klcSetKcubeMMILock(hdl, 1)<0): print("klcSetKcubeMMILock failed") lock=[0] if(klcGetKcubeMMILock(hdl, im)<0): print("klcGetKcubeMMILock failed") else: print("klcGetKcubeMMILock ", im) print("set pannel brightness to 90, timeout to never") if(klcSetKcubeMMIParams(hdl, 90, 0xFFFF)<0): print("klcSetKcubeMMIParams failed") dbrightness=[0] dtimeout=[0] if(klcGetKcubeMMIParams(hdl, dbrightness, dtimeout)<0): print("klcGetKcubeMMIParams failed") else: print("klcGetKcubeMMIParams dbrightness: ", dbrightness ," dtimeout:", dtimeout) # ---------------------------------------------------------------- # # ------------ Example get output status ------------------------- # active=[0] v=[0] f=[0] err=[0] ch=[0] if(klcGetOutPutStatus(hdl, active, v, f, err)<0): print("klcGetOutPutStatus failed") else: print("klcGetOutPutStatus active: ", active ," voltage: ", v ," frequency: " , f, " errFlag ",err) if(klcGetStatus(hdl, ch, vol1, freq1, vol2, freq2, swf, dbrightness, dtimeout, im, trigger, lock, err)<0): print("klcGetStatus failed") else: print("klcGetStatus channel: ", ch ," vol1: ", vol1 ," freq1: " , freq1," vol2: ", vol2 ," freq2: " , freq2," swf: ", swf ," dbrightness: " , dbrightness," dtimeout: ", dtimeout ," im: " , im," trigger: ", trigger ," lock: " , lock, " errFlag ",err) # ---------------------------------------------------------------- # # ------------ Example run LUT ---------------------------------- # print("Test LUT Array") #disbale trigger mode klcSetTrigIOConfigure(hdl, 1) #disable mode in mode klcSetInputMode(hdl, 0) klcSetChannelEnable(hdl, 1) #init array 2,4,6,8,10 vols = [2,4,6,8,10] volarr = (c_float * len(vols))(*vols) print("set LUT array") if(klcSetOutputLUT(hdl, volarr, 5)<0): print("klcSetOutputLUT failed") #update second 4 to 5 if(klcUpdateOutputLUT(hdl, 1, 5)<0): print("klcUpdateOutputLUT failed") #remove last one the arry will be 2,5,6,8 if(klcRemoveLastOutputLUT(hdl, 1)<0): print("klcRemoveLastOutputLUT failed") print("set LUT parameters") if(klcSetOutputLUTParams(hdl, 2, 3, 1000, 0)<0): print("klcSetOutputLUTParams failed") lut_mode=[0] lut_cyclenumber=[0] lut_delay=[0] lut_precycle_rest=[0] if(klcGetOutputLUTParams(hdl, lut_mode, lut_cyclenumber, lut_delay, lut_precycle_rest)<0): print("klcGetOutputLUTParams failed") else: print("klcGetOutputLUTParams mode: ", lut_mode ," lut_cyclenumber:", lut_cyclenumber," lut_delay:", lut_delay," lut_precycle_rest:", lut_precycle_rest) print("start LUT") if(klcStartLUTOutput(hdl)<0): print("klcStartLUTOutput failed") t=0 while(t<20): klcGetOutPutStatus(hdl, active, v, f, err) print("Get LUT output: ", active ," voltage: ", v ," frequency: " , f, " errFlag ", err) time.sleep(1) t+=1 print("stop LUT") if(klcStopLUTOutput(hdl)<0): print("klcStopLUTOutput failed") # ---------------------------------------------------------------- # klcClose(hdl) except Exception as ex: print("Warning:", ex) print("*** End ***") input() main()