ALICE 1.3  1.0
Develpoer documentation
alice-desktop-1.3.1.pyw File Reference

Go to the source code of this file.

Data Structures

class  CreateToolTip
 Tool Tip Ballon help stuff. More...
 

Namespaces

 alice-desktop-1
 
 alice
 

Functions

def BSaveConfig (filename)
 Save current configureation to file. More...
 
def BSaveConfigIA ()
 Save current configuration from IA window. More...
 
def BSaveConfigSA ()
 Save current configuration from SA window. More...
 
def BSaveConfigBP ()
 Save current configuration from Bode window. More...
 
def BSaveConfigTime ()
 Save current configuration from Scope window. More...
 
def BLoadConfig (filename)
 Load configuration from a file
More...
 
def ReMakeAWGwaves ()
 Re Make the current selected AWG waveform buffers. More...
 
def BLoadConfigIA ()
 Load confirfuration from IA window button. More...
 
def BLoadConfigSA ()
 Load confirfuration from SA window button. More...
 
def BLoadConfigBP ()
 Load confirfuration from Bode window button. More...
 
def BLoadConfigTime ()
 Load confirfuration from Scope window button. More...
 
def BgColor ()
 Toggle the Background and text colors based on ColorMode. More...
 
def BSaveScreen ()
 Save scope canvas as encapsulated postscript file. More...
 
def BSaveScreenXY ()
 Save XY canvas as encapsulated postscript file. More...
 
def BSaveScreenIA ()
 Save IA canvas as encapsulated postscript file. More...
 
def BSaveScreenBP ()
 Save Bode canvas as encapsulated postscript file. More...
 
def BSaveData ()
 Save scope all time array data to file. More...
 
def BSaveChannelData ()
 Save selected scope time array data to file. More...
 
def BReadData ()
 Read scope all time array data from saved file. More...
 
def BHelp ()
 Open User Guide in Browser open a URL, in this case, the ALICE desk-top-users-guide. More...
 
def BAbout ()
 Show info on software / firmware / hardware. More...
 
def BSnapShot ()
 Take snap shot of displayed time waveforms. More...
 
def BSaveCal ()
 Save gain, offset and filter variables for external dividers. More...
 
def BLoadCal ()
 Load gain, offset and filter variables for external dividers. More...
 
def BUserAMeas ()
 Ask user for channel A Measurement Label and Formula. More...
 
def BUserBMeas ()
 Ask user for channel B Measurement Label and Formula. More...
 
def NewEnterMathControls ()
 Make New Math waveform controls menu window. More...
 
def DestroyMathScreen ()
 Destroy New Math waveform controls menu window. More...
 
def CheckMathString ()
 Check Math String for syntac errors. More...
 
def CheckMathXString ()
 Check X Math String for syntac errors. More...
 
def CheckMathYString ()
 Check Y Math String for syntac errors. More...
 
def ApplyMathString ()
 Apply Math string from entry widget. More...
 
def ApplyMathXString ()
 Apply X Math string from entry widget. More...
 
def ApplyMathYString ()
 Apply Y Math string from entry widget. More...
 
def BSetMarkerLocation ()
 Ask user for new Marker text location on screen. More...
 
def donothing ()
 Nop. More...
 
def DoNothing (event)
 Another Nop. More...
 
def BShowCurvesAll ()
 Set to display all time waveforms. More...
 
def BShowCurvesNone ()
 Turn off display of all time waveforms. More...
 
def BTriggerEdge ()
 Function no longer used. More...
 
def BTrigger50p ()
 Set Trigger level to 50% (mid) point of current waveform. More...
 
def BTriggerMode ()
 place holder for future hardware triggering if implemented More...
 
def BTriglevel (event)
 evalute trigger level entry string to a numerical value and set new trigger level
More...
 
def BHoldOff (event)
 Set Hold off time from entry widget. More...
 
def BHozPoss (event)
 
def SetTriggerPoss ()
 
def IncHoldOff ()
 
def SetMuxAPoss ()
 Analog Mux buttons. More...
 
def SetMuxBPoss ()
 
def SetMuxCPoss ()
 
def SetMuxDPoss ()
 
def SetScaleMuxA ()
 
def SetScaleMuxB ()
 
def SetScaleMuxC ()
 
def SetScaleMuxD ()
 
def SetVAPoss ()
 
def SetVBPoss ()
 
def SetIAPoss ()
 
def SetIBPoss ()
 
def SetXYVAPoss ()
 
def SetXYVBPoss ()
 
def SetXYIAPoss ()
 
def SetXYIBPoss ()
 
def Bcloseexit ()
 Fubntion to close and exit ALICE. More...
 
def BStart ()
 Start aquaring scope time data. More...
 
def BStartOhm ()
 
def BStartIA ()
 Start Impedance Tool
More...
 
def IASourceSet ()
 Set up IA AWG sources. More...
 
def BStop ()
 Stop (pause) scope tool. More...
 
def BPower ()
 Toggel on/off analog power. More...
 
def BTime ()
 Set Hor time scale from entry widget. More...
 
def BCHAlevel ()
 
def BCHAIlevel ()
 
def BCHBlevel ()
 
def BCHBIlevel ()
 
def BOffsetA (event)
 
def BIOffsetA (event)
 
def BOffsetB (event)
 
def BIOffsetB (event)
 
def TimeCheckBox ()
 set check box colors More...
 
def XYCheckBox ()
 
def FreqCheckBox ()
 
def BodeCheckBox ()
 
def IACheckBox ()
 
def OhmCheckBox ()
 
def ETSCheckBox ()
 
def Analog_In ()
 Main Loop. More...
 
def Ohm_Analog_In ()
 Ohmmeter loop. More...
 
def Analog_Time_In ()
 Scope time main loop Read the analog data and store the data into the arrays. More...
 
def Analog_Slow_time ()
 Right now this is a failed attempt to plot slow sweeps. More...
 
def Analog_Fast_time ()
 routine for time scales faster than 500 mSec/Div More...
 
def Digital_RC_High_Pass (InBuff, TC1, Gain)
 Digital filter function for input divider frequency compensation TC1 is in micro seconds. More...
 
def Digital_RC_Low_Pass (InBuff, TC1, Gain)
 Digital filter function for input divider frequency compensation TC1 is in micro seconds. More...
 
def shift_buffer (arr, num, fill_value=numpy.nan)
 Function to left (-num) or right (+num) shift buffer and fill with a value returns same length buffer preallocate empty array and assign slice. More...
 
def Analog_Freq_In ()
 Main SA and Bode loop Read from the stream and store the data into the arrays. More...
 
def MakeHistogram ()
 Make histogram of time signals. More...
 
def BHistAsPercent ()
 Plot Histogram as Percent? More...
 
def FindRisingEdge (Trace1, Trace2)
 Routine to find rising edge of traces. More...
 
def ReInterploateTrigger (TrgBuff)
 Interpolate time between samples around trigger event. More...
 
def FindTriggerSample (TrgBuff)
 Find the sample where trigger event happened. More...
 
def DestroyDigScreen ()
 Distroy the Digitla I/O screen. More...
 
def sel ()
 
def MakeDigScreen ()
 Make the Digital I/O screen. More...
 
def DestroyDacScreen ()
 Destroy the DAC Screen. More...
 
def sel0 (temp)
 
def sel1 (temp)
 
def sel2 (temp)
 
def sel3 (temp)
 
def MakeDacScreen ()
 Make the DAC interface screen
More...
 
def UpdateTimeAll ()
 Update Data, trace and time screen. More...
 
def UpdateTimeTrace ()
 Update time trace and screen. More...
 
def UpdateTimeScreen ()
 Update time screen with trace and text. More...
 
def UpdateXYAll ()
 Update Data, trace and XY screen. More...
 
def UpdateXYTrace ()
 Update XY trace and screen. More...
 
def UpdateXYScreen ()
 Update XY screen with trace and text. More...
 
def CalcMathBuff ()
 Calculate Math buffers. More...
 
def MakeTimeTrace ()
 Make the scope time traces. More...
 
def MakeXYTrace ()
 Make the XY plot traces. More...
 
def MakeTimeScreen ()
 Update the time screen with traces and text
More...
 
def MakeXYScreen ()
 Update the XY screen traces and text. More...
 
def SetScaleA ()
 
def SetScaleIA ()
 
def SetScaleB ()
 
def SetScaleIB ()
 
def SetXYScaleA ()
 
def SetXYScaleB ()
 
def onCanvasClickRight (event)
 
def onCanvasClickScroll (event)
 
def onCanvasUpArrow (event)
 
def onCanvasDownArrow (event)
 
def onCanvasLeftArrow (event)
 
def onCanvasRightArrow (event)
 
def onCanvasSpaceBar (event)
 
def onCanvasClickLeft (event)
 
def onCanvasOne (event)
 
def onCanvasTwo (event)
 
def onCanvasThree (event)
 
def onCanvasFour (event)
 
def onCanvasFive (event)
 
def onCanvasSix (event)
 
def onCanvasSeven (event)
 
def onCanvasEight (event)
 
def onCanvasNine (event)
 
def onCanvasZero (event)
 
def onCanvasTrising (event)
 
def onCanvasTfalling (event)
 
def onCanvasSnap (event)
 
def onCanvasAverage (event)
 
def onCanvasShowTcur (event)
 
def onCanvasShowVcur (event)
 
def onCanvasXYRightClick (event)
 
def onCanvasXYScrollClick (event)
 
def onCanvasXYLeftClick (event)
 
def Wrap (InArray, WrFactor)
 
def UnWrap (InArray, WrFactor)
 
def Write_WAV (data, repeat, filename)
 
def BAWGAAmpl (temp)
 
def BAWGAOffset (temp)
 
def BAWGAFreq (temp)
 
def BAWGAPhaseDelay ()
 
def BAWGAPhase (temp)
 
def BAWGADutyCycle (temp)
 
def BAWGAShape ()
 
def AWGAReadFile ()
 
def SplitAWGAwaveform ()
 
def AWGANumCycles ()
 
def AWGAReadWAV ()
 
def AWGAWriteFile ()
 
def AWGAMakeMath ()
 
def AWGAMakeBodeSine ()
 
def AWGAMakeFMSine ()
 
def AWGAMakeAMSine ()
 
def AWGAMakePWMSine ()
 
def AWGAMakeFourier ()
 
def AWGAMakeSinc ()
 
def AWGAMakeSSQ ()
 
def AWGAMakeTrapazoid ()
 
def AWGAMakePulse ()
 
def AWGAMakeRamp ()
 
def AWGAMakeUpDownRamp ()
 
def AWGAMakeImpulse ()
 
def AWGAMakeUUNoise ()
 
def AWGAMakeUGNoise ()
 
def BAWGAModeLabel ()
 
def UpdateAWGA ()
 
def SetBCompA ()
 
def AWGBNumCycles ()
 
def BAWGBAmpl (temp)
 
def BAWGBOffset (temp)
 
def BAWGBFreq (temp)
 
def BAWGBPhaseDelay ()
 
def BAWGBPhase (temp)
 
def BAWGBDutyCycle (temp)
 
def BAWGBShape ()
 
def AWGBReadFile ()
 
def SplitAWGBwaveform ()
 
def AWGBReadWAV ()
 
def AWGBWriteFile ()
 
def AWGBMakeMath ()
 
def AWGBMakeFourier ()
 
def AWGBMakeBodeSine ()
 
def AWGBMakePWMSine ()
 
def AWGBMakeSinc ()
 
def AWGBMakeSSQ ()
 
def AWGBMakeTrapazoid ()
 
def AWGBMakePulse ()
 
def AWGBMakeRamp ()
 
def AWGBMakeUpDownRamp ()
 
def AWGBMakeImpulse ()
 
def AWGBMakeUUNoise ()
 
def AWGBMakeUGNoise ()
 
def BAWGBModeLabel ()
 
def UpdateAWGB ()
 
def UpdateAwgCont ()
 
def UpdateAwgContRet (temp)
 
def BAWGEnab ()
 
def BAWGSync ()
 
def BSaveScreenSA ()
 
def Bnot ()
 
def BShowCurvesAllSA ()
 
def BShowCurvesNoneSA ()
 
def BNormalmode ()
 
def BPeakholdmode ()
 
def BAveragemode ()
 
def BResetFreqAvg ()
 
def BSTOREtraceSA ()
 
def BSTOREtraceBP ()
 
def BCSVfile ()
 
def BSaveDataIA ()
 
def BStartSA ()
 
def BStopSA ()
 
def Blevel1 ()
 
def Blevel2 ()
 
def Blevel3 ()
 
def Blevel4 ()
 
def Bsamples1 ()
 
def Bsamples2 ()
 
def BDBdiv1 ()
 
def BDBdiv2 ()
 
def BStartBP ()
 
def BStopBP ()
 
def Blevel1BP ()
 
def Blevel2BP ()
 
def Blevel3BP ()
 
def Blevel4BP ()
 
def BDBdiv1BP ()
 
def BDBdiv2BP ()
 
def BShowCurvesAllBP ()
 
def BShowCurvesNoneBP ()
 
def UpdateBodeAll ()
 
def UpdateBodeTrace ()
 
def UpdateBodeScreen ()
 
def UpdateFreqAll ()
 
def UpdateFreqTrace ()
 
def UpdateFreqScreen ()
 
def DoFFT ()
 
def MakeFreqTrace ()
 
def MakeBodeTrace ()
 
def MakeBodeScreen ()
 
def UpdateIAAll ()
 
def UpdateIATrace ()
 
def UpdateIAScreen ()
 
def DoImpedance ()
 
def MakeIATrace ()
 
def MakeIAScreen ()
 Draw the impedance Analyzer screen. More...
 
def IACaresize (event)
 
def MakeIAWindow ()
 
def DestroyIAScreen ()
 
def BSaveIASweep ()
 
def MakeNyquistPlot ()
 
def DestroyNqPScreen ()
 
def NqPCaresize (event)
 
def MakeNqPScreen ()
 Draw the Nyquist plot screen. More...
 
def MakeNicPlot ()
 
def DestroyNiCScreen ()
 
def NiCCaresize (event)
 
def MakeNiCScreen ()
 Make the Nichols Plot screen. More...
 
def UpdateNqPAll ()
 
def UpdateNqPTrace ()
 
def UpdateNqPScreen ()
 
def UpdateNiCAll ()
 
def UpdateNiCTrace ()
 
def UpdateNiCScreen ()
 
def STOREcsvfile ()
 
def MakeFreqScreen ()
 Make Spectrum Analyzer Screen. More...
 
def INITIALIZEstart ()
 
def CALCFFTwindowshape ()
 
def BUserFFTwindow ()
 
def BFileFFTwindow ()
 
def onCanvasFreqRightClick (event)
 
def onCanvasFreqClickScroll (event)
 
def onCanvasFreqLeftClick (event)
 
def onCanvasSAOne (event)
 
def onCanvasSATwo (event)
 
def onCanvasSAThree (event)
 
def onCanvasSAFour (event)
 
def onCanvasSAFive (event)
 
def onCanvasSASix (event)
 
def onCanvasSASeven (event)
 
def onCanvasSAEight (event)
 
def onCanvasSANine (event)
 
def onCanvasSAZero (event)
 
def onCanvasSASnap (event)
 
def onCanvasSANormal (event)
 
def onCanvasSAPeak (event)
 
def onCanvasSAReset (event)
 
def onCanvasSAAverage (event)
 
def onCanvasShowFcur (event)
 
def onCanvasShowdBcur (event)
 
def onCanvasShowPcur (event)
 
def onCanvasBodeRightClick (event)
 
def onCanvasBodeClickScroll (event)
 
def onCanvasBodeLeftClick (event)
 
def onCanvasBdOne (event)
 
def onCanvasBdTwo (event)
 
def onCanvasBdThree (event)
 
def onCanvasBdFour (event)
 
def onCanvasBdFive (event)
 
def onCanvasBdSix (event)
 
def onCanvasBdSeven (event)
 
def onCanvasBdEight (event)
 
def onCanvasBdNine (event)
 
def onCanvasBdZero (event)
 
def onCanvasBdSnap (event)
 
def onCanvasShowBPcur (event)
 
def onCanvasShowBdBcur (event)
 
def onCanvasShowPdBcur (event)
 
def onAWGAscroll (event)
 
def onAWGBscroll (event)
 
def onTextScroll (event)
 
def onAWGAkey (event)
 
def onAWGBkey (event)
 
def onTextKeyAWG (event)
 
def onTextKey (event)
 
def onSpinBoxScroll (event)
 
def MakeAWGWindow ()
 
def BAWG2X ()
 
def DestroyAWGScreen ()
 
def MakeMuxModeWindow ()
 
def SetDualMuxMode ()
 
def SyncImage ()
 
def DestroyMuxScreen ()
 
def BodeCaresize (event)
 
def BStepSync ()
 
def BSweepSync ()
 
def BDSweepFromFile ()
 
def MakeBodeWindow ()
 
def DestroyBodeScreen ()
 
def FreqCaresize (event)
 
def MakeSpectrumWindow ()
 
def DestroySpectrumScreen ()
 
def XYcaresize (event)
 
def MakeXYWindow ()
 
def DestroyXYScreen ()
 
def SelfCalibration ()
 
def Save_Cal_file ()
 
def SPIShiftOut (DValue)
 ========== MiniGen routines ========== SPI shift output routine More...
 
def onFminScroll (event)
 
def onMulXScroll (event)
 
def SetAD9833 (temp)
 
def BSendMG ()
 Send serial data to DDS board. More...
 
def MakeMinigenWindow ()
 Make AD983x based DDS generator screen. More...
 
def DestroyMinigenScreen ()
 Destroy DDS board sacrren. More...
 
def onMiniGenScroll (event)
 
def DA1ShiftOut (D1Value, D2Value)
 if ETSStatus.get() > 0 and ETSDisp.get() > 0: MGLoad() More...
 
def BSendDA1 ()
 
def MakeDA1Window ()
 Make window to control PMOD DA1 board. More...
 
def DestroyDA1Screen ()
 Destroy PMOD DA1 screen. More...
 
def DigPotShiftOut (DValue)
 
def DigPotSend (Temp)
 
def UpdatePotSlider ()
 
def MakeDigPotWindow ()
 set up controls for single, dual or quad, digital pots More...
 
def DestroyDigPotScreen ()
 
def BSendGS ()
 
def MakeAD5626Window ()
 Make Controls for AD5626 serial DAC. More...
 
def onAD5626Scroll (event)
 
def DestroyAD5626Screen ()
 
def MakeGenericSerialWindow ()
 
def DestroyGenericSerialScreen ()
 
def MakeDigFiltWindow ()
 Make screen for applying digital filters. More...
 
def onRetDigFiltA (event)
 
def onDigFiltAScroll (event)
 
def BuildBoxCarA ()
 
def onRetDigFiltB (event)
 
def onDigFiltBScroll (event)
 
def BuildBoxCarB ()
 
def DestroyDigFiltScreen ()
 
def BLoadDFiltA ()
 
def BDFiltAMath ()
 
def BLoadDFiltB ()
 
def BDFiltBMath ()
 
def MakeCommandScreen ()
 
def DestroyCommandScreen ()
 
def RExecuteFromString (temp)
 
def BExecuteFromString ()
 
def CAresize (event)
 
def UpdateMeasureScreen ()
 
def MakeMeasureScreen ()
 
def DestroyMeasureScreen ()
 
def MakeBoardScreen ()
 
def DestroyBoardScreen ()
 
def ConnectDevice ()
 
def SelectBoard ()
 temp = 0 print "read ADM1177 controler" print devx.ctrl_transfer( 0xa0, 0x17, 0, 0, temp, 0, 100 ) print temp More...
 
def MakeSampleRateMenu ()
 
def DestroySampleRate ()
 
def onSrateScroll (event)
 
def onRetSrate (event)
 
def SetSampleRate ()
 
def onStopfreqScroll (event)
 
def onStopBodeScroll (event)
 
def SetADC_Mux ()
 
def TraceSelectADC_Mux ()
 
def UpdateFirmware ()
 
def MakeOhmWindow ()
 if askyesno("Flash Failed", "Failed to update firmware.\n Try again?"): try: session.flash_firmware(filename) except: showwarning("Complete","Flash Firmware Complete: \n Un-plug board to cycle power.") More...
 
def DestroyOhmScreen ()
 
def MakeETSWindow ()
 
def DestroyETSScreen ()
 
def MGLoad ()
 
def ETSscroll (event)
 
def ETSUpdate ()
 
def Settingsscroll (event)
 
def MakeSettingsMenu ()
 
def UpdateAWGWin ()
 
def SettingsUpdate ()
 
def DestroySettings ()
 
def onCanvasMouse_xy (event)
 

Variables

bool numpy_found = True
 
bool pysmu_found = True
 
string RevDate = "(2 March 2020)"
 
string SWRev = "1.3 "
 
string Version_url = 'https://github.com/analogdevicesinc/alice/releases/download/1.3.1/alice-desktop-1.3-setup.exe'
 
string TBicon
 
 root = Tk()
 
 img = PhotoImage(data=TBicon)
 
int GRW = 720
 Window graph area Values that can be modified. More...
 
int GRH = 390
 
int X0L = 55
 
int Y0T = 25
 
int GRWF = 720
 
int GRHF = 390
 
int X0LF = 37
 
int Y0TF = 25
 
int GRWBP = 720
 
int GRHBP = 390
 
int X0LBP = 37
 
int Y0TBP = 25
 
int GRWXY = 420
 
int GRHXY = 390
 
int X0LXY = 37
 
int Y0TXY = 25
 
int GRWIA = 400
 
int GRHIA = 400
 
int X0LIA = 37
 
int Y0TIA = 25
 
int GRWNqP = 400
 
int GRHNqP = 400
 
int X0LNqP = 25
 
int Y0TNqP = 25
 
int GRWNiC = 400
 
int GRHNiC = 400
 
int X0LNiC = 25
 
int Y0TNiC = 25
 
int FontSize = 8
 
int MouseX = -10
 
int MouseCAV = -10
 
string COLORframes = "#000080"
 Colors that can be modified. More...
 
string COLORcanvas = "#000000"
 
string COLORgrid = "#808080"
 
string COLORzeroline = "#0000ff"
 
string COLORtrace1 = "#00ff00"
 
string COLORtrace2 = "#ff8000"
 
string COLORtrace3 = "#00ffff"
 
string COLORtrace4 = "#ffff00"
 
string COLORtrace5 = "#ff00ff"
 
string COLORtrace6 = "#C80000"
 
string COLORtrace7 = "#8080ff"
 
string COLORtraceR1 = "#008000"
 
string COLORtraceR2 = "#905000"
 
string COLORtraceR3 = "#008080"
 
string COLORtraceR4 = "#808000"
 
string COLORtraceR5 = "#800080"
 
string COLORtraceR6 = "#800000"
 
string COLORtraceR7 = "#4040a0"
 
string COLORtext = "#ffffff"
 
string COLORtrigger = "#ff0000"
 
string COLORsignalband = "#ff0000"
 
float OnBoardRes = 50.83
 set value for on board resistors and ext AD584 reference More...
 
float AD584act = 2.5
 
float HoldOff = 0.0
 
int LShift = 0
 
int BaseSampleRate = 100000
 
int AWGSAMPLErate = BaseSampleRate
 
int SAMPLErate = BaseSampleRate
 
int MinSamples = 2000
 
int MaxSamples = 200000
 
float TRIGGERlevel = 2.5
 
string MathString = "VBuffA[t] + VBuffB[t]"
 default math equations More...
 
string MathUnits = " V"
 
string MathXString = "VBuffA[t]"
 
string MathXUnits = " V"
 
string MathYString = "VBuffB[t]"
 
string MathYUnits = " V"
 
string UserAString = "MaxV1-VATop"
 
string UserALabel = "OverShoot"
 
string UserBString = "MinV2-VBBase"
 
string UserBLabel = "UnderShoot"
 
string MathAxis = "V-A"
 
string MathXAxis = "V-A"
 
string MathYAxis = "V-B"
 
string AWGAMathString = "(VBuffA + VBuffB)/2"
 
string AWGBMathString = "(VBuffA + VBuffB)/2"
 
string FFTUserWindowString = "numpy.kaiser(SMPfft, 14) * 3"
 
string DigFilterAString = "numpy.sinc(numpy.linspace(-1, 1, 91))"
 
string DigFilterBString = "numpy.sinc(numpy.linspace(-1, 1, 91))"
 
string ChaMeasString1 = "DCV1"
 
string ChaMeasString2 = "DCI1"
 
string ChaMeasString3 = "SV1"
 
string ChaMeasString4 = "MaxV1-MinV1"
 
string ChaMeasString5 = "MaxI1-MinI1"
 
string ChaMeasString6 = "math.sqrt(SV1**2 - DCV1**2)"
 
string ChbMeasString1 = "DCV2"
 
string ChbMeasString2 = "DCI2"
 
string ChbMeasString3 = "SV2"
 
string ChbMeasString4 = "MaxV2-MinV2"
 
string ChbMeasString5 = "MaxI2-MinI2"
 
string ChbMeasString6 = "math.sqrt(SV2**2 - DCV2**2)"
 
string ChaLableSrring1 = "CHA-DCV "
 
string ChaLableSrring2 = "CHA-DCI "
 
string ChaLableSrring3 = "CHA-TRMS "
 
string ChaLableSrring4 = "CHA-VP-P "
 
string ChaLableSrring5 = "CHA-IP-P "
 
string ChaLableSrring6 = "CHA-ACRMS "
 
string ChbLableSrring1 = "CHB-DCV "
 
string ChbLableSrring2 = "CHB-DCI "
 
string ChbLableSrring3 = "CHB-TRMS "
 
string ChbLableSrring4 = "CHB-VP-P "
 
string ChbLableSrring5 = "CHB-IP-P "
 
string ChbLableSrring6 = "CHB-ACRMS "
 
 GridWidth = IntVar(0)
 defaukt trace width in pixels / number of averages More...
 
 TRACEwidth = IntVar(0)
 
 TRACEaverage = IntVar(0)
 
 Vdiv = IntVar(0)
 
 HarmonicMarkers = IntVar(0)
 
 AWG_Amp_Mode = IntVar(0)
 
 AWG_2X = IntVar(0)
 
 Two_X_Sample = IntVar(0)
 
 ADC_Mux_Mode = IntVar(0)
 
int Last_ADC_Mux_Mode = 0
 
 Alternate_Sweep_Mode = IntVar(0)
 
 ZEROstuffing = IntVar(0)
 
 FFTwindow = IntVar(0)
 
int RelPhaseCorrection = 15
 
 RelPhaseCenter = IntVar(0)
 
 ImpedanceCenter = IntVar(0)
 
 MultipleBoards = IntVar(0)
 
int IgnoreFirmwareCheck = 0
 
int EnableCommandInterface = 0
 
int EnableMuxMode = 1
 
int EnablePIODACMode = 1
 
int EnableMinigenMode = 0
 
int EnablePmodDA1Mode = 0
 
int EnableDigPotMode = 0
 
int EnableGenericSerialMode = 0
 
int EnableAD5626SerialMode = 0
 
int EnableDigitalFilter = 0
 
int EnableMeasureScreen = 0
 
int EnableETSScreen = 0
 
int EnableHSsampling = 0
 
int AllowFlashFirmware = 0
 
int DeBugMode = 0
 
int v1_adc_conf = 0x20F1
 
int i1_adc_conf = 0x20F7
 
int v2_adc_conf = 0x20F7
 
int i2_adc_conf = 0x20F1
 
int MouseFocus = 1
 
int HistAsPercent = 0
 
int ShowBallonHelp = 0
 
int contloop = 0
 if AWGSync.get() == 0: # running in continuous mode More...
 
int discontloop = 0
 
string AwgLayout = "Horz"
 
string Style_String = 'alt'
 
string MarkerLoc = 'UL'
 
 CHA_TC1 = DoubleVar(0)
 
 CHA_TC2 = DoubleVar(0)
 
 CHB_TC1 = DoubleVar(0)
 
 CHB_TC2 = DoubleVar(0)
 
 CHA_A1 = DoubleVar(0)
 
 CHA_A2 = DoubleVar(0)
 
 CHB_A1 = DoubleVar(0)
 
 CHB_A2 = DoubleVar(0)
 
int PhaseOffset1x = 37
 
int PhaseOffset2x = 37
 
 InitFile = open("alice_init.ini")
 
 XOLF = int(FontSize * 4.625)
 
 XOLNqP = int(FontSize * 3.125)
 
 style
 
string DevID = "m1k"
 
 default_font = tkFont.nametofont("TkDefaultFont")
 
 size
 
tuple CHvpdiv = (0.001, 0.002, 0.005, 0.01, 0.02, 0.05, 0.1, 0.2, 0.5, 1.0, 2.0, 5.0)
 Vertical Sensitivity list in v/div. More...
 
tuple CHipdiv = (0.1, 0.2, 0.5, 1.0, 2.0, 5.0, 10.0, 20.0, 50.0, 100.0, 200.0)
 Vertical Sensitivity list in mA/div. More...
 
tuple TMpdiv = (0.01, 0.02, 0.05, 0.1, 0.2, 0.5, 1.0, 2.0, 5.0, 10.0, 20.0, 50.0, 100.0, 200.0)
 Time list in ms/div. More...
 
tuple ResScalediv = (1, 2, 5, 10, 20, 50, 100, 200, 500, 1000, 2000, 5000, 10000, 20000, 50000)
 
tuple SampRateList = (1024, 2048, 4096, 8192, 16384, 32765, 64000, 96385, 96774, 97166, 97561, 97959, 98361, 98765, 99174, 99585, 100000)
 
float AWGAAmplvalue = 0.0
 AWG variables. More...
 
float AWGAOffsetvalue = 0.0
 
float AWGAFreqvalue = 0.0
 
int AWGAPhasevalue = 0
 
int AWGAdelayvalue = 0
 
int AWGADutyCyclevalue = 50
 
string AWGAWave = 'dc'
 
float AWGBAmplvalue = 0.0
 
float AWGBOffsetvalue = 0.0
 
float AWGBFreqvalue = 0.0
 
int AWGBPhasevalue = 0
 
int AWGBdelayvalue = 0
 
int AWGBDutyCyclevalue = 50
 
string AWGBWave = 'dc'
 
int AWGACycles = 1
 
int AWGBCycles = 1
 
int AWGABurstDelay = 0
 
int AWGBBurstDelay = 0
 
int Reset_Freq = 300
 
float MeasGateLeft = 0.0
 
float MeasGateRight = 0.0
 
int MeasGateNum = 0
 
 MeasGateStatus = IntVar(0)
 
int DCV1 = 0
 
int DCVMuxA = 0
 Analog Mux channel measurement variables. More...
 
int DCVMuxB = 0
 
int DCVMuxC = 0
 
int DCVMuxD = 0
 
int DCI1 = 0
 
int CHAperiod = 0
 
float CHAVGain = 1.0
 
float CHAVOffset = 0.0
 
float CHAOffset = 2.5
 
float CHAIOffset = 0.0
 
int CANVASwidth = GRW + 2 * X0L
 
int CANVASheight = GRH + Y0T + (FontSize * 7)
 
list ADsignal1 = []
 
list VBuffA = []
 
list VBuffB = []
 
list IBuffA = []
 
list IBuffB = []
 
list MBuff = []
 
list MBuffX = []
 
list MBuffY = []
 
list VBuffMA = []
 
list VBuffMB = []
 
list VBuffMC = []
 
list VBuffMD = []
 
list VmemoryMuxA = []
 
list VmemoryMuxB = []
 
list VmemoryMuxC = []
 
list VmemoryMuxD = []
 
list DFiltACoef = [1]
 
list DFiltBCoef = [1]
 
 DigFiltA = IntVar(0)
 
 DigFiltABoxCar = IntVar(0)
 
 DigFiltBBoxCar = IntVar(0)
 
 DigFiltB = IntVar(0)
 
 DigBuffA = IntVar(0)
 
 DigBuffB = IntVar(0)
 
dictionary VFilterA = {}
 
dictionary VFilterB = {}
 
 SampleRateStatus = IntVar(0)
 
 ETSStatus = IntVar(0)
 
 ETSDisp = IntVar(0)
 
 ETSDir = IntVar(0)
 
list AWGAwaveform = []
 
list AWGA2X = []
 
list AWGBwaveform = []
 
list AWGB2X = []
 
 VmemoryA = numpy.ones(1)
 
 VmemoryB = numpy.ones(1)
 
 ImemoryA = numpy.ones(1)
 
 ImemoryB = numpy.ones(1)
 
bool TRACEresetTime = True
 
bool TRACEresetFreq = True
 
 AWGScreenStatus = IntVar(0)
 
list T1Vline = []
 Trace line Array Variables used. More...
 
list T2Vline = []
 
list T1Iline = []
 
list T2Iline = []
 
list TMAVline = []
 
list TMBVline = []
 
list TMCVline = []
 
list TMDVline = []
 
list TMBRline = []
 
list TMCRline = []
 
list TXYline = []
 
list TXYRline = []
 
list Tmathline = []
 
list TMXline = []
 
list TMYline = []
 
list T1VRline = []
 
list T2VRline = []
 
list T1IRline = []
 
list T2IRline = []
 
list TMRline = []
 
list Triggerline = []
 
list Triggersymbol = []
 
int SHOWsamples = 4000
 
int SCstart = 0
 
float HozPoss = 0.0
 
int Is_Triggered = 0
 
int TRACES = 1
 
int TRACESread = 0
 
 ScreenTrefresh = IntVar(0)
 
 ScreenXYrefresh = IntVar(0)
 
 NSteps = IntVar(0)
 
 LoopNum = IntVar(0)
 
int LastWindow = -1
 
int LastSMPfft = 0
 
int CurrentFreqX = X0LBP + 14
 
 FBins = numpy.linspace(0, 50000, num=16384)
 
 FStep = numpy.linspace(0, 16384, num=NSteps.get())
 
 FSweepMode = IntVar(0)
 
 FSweepCont = IntVar(0)
 
 FStepSync = IntVar(0)
 
 FSweepSync = IntVar(0)
 
 ShowCA_VdB = IntVar(0)
 
 ShowCA_P = IntVar(0)
 
 ShowCB_VdB = IntVar(0)
 
 ShowCB_P = IntVar(0)
 
 ShowMarkerBP = IntVar(0)
 
 ShowCA_RdB = IntVar(0)
 
 ShowCA_RP = IntVar(0)
 
 ShowCB_RdB = IntVar(0)
 
 ShowCB_RP = IntVar(0)
 
 ShowMathBP = IntVar(0)
 
 ShowRMathBP = IntVar(0)
 
 SingleShotSA = IntVar(0)
 
list FSweepAdB = []
 
list FSweepBdB = []
 
list FSweepAPh = []
 
list FSweepBPh = []
 
list NSweepSeriesR = []
 
list NSweepSeriesX = []
 
list NSweepSeriesMag = []
 
list NSweepSeriesAng = []
 
 NetworkScreenStatus = IntVar(0)
 
 BDSweepFile = IntVar(0)
 
list FileSweepFreq = []
 
list FileSweepAmpl = []
 
int MarkerNum = 0
 
 ShowTCur = IntVar(0)
 
 ShowVCur = IntVar(0)
 
int TCursor = 0
 
 ShowXCur = IntVar(0)
 
 ShowYCur = IntVar(0)
 
int XCursor = 0
 
 ShowFCur = IntVar(0)
 
 ShowdBCur = IntVar(0)
 
int FCursor = 0
 
 ShowBPCur = IntVar(0)
 
 ShowBdBCur = IntVar(0)
 
int BPCursor = 0
 
 RUNstatus = IntVar(0)
 
int PowerStatus = 1
 
int TRIGGERsample = 0
 
int DX = 0
 
list DBdivlist = [1, 2, 3, 5, 10, 15, 20]
 Spectrum Analyzer Values that can be modified. More...
 
 DBdivindex = IntVar(0)
 
 DBlevel = IntVar(0)
 
 DBdivindexBP = IntVar(0)
 
 DBlevelBP = IntVar(0)
 
int hldn = 0
 
 SpectrumScreenStatus = IntVar(0)
 
 SmoothCurvesSA = IntVar(0)
 
 SmoothCurvesBP = IntVar(0)
 
 CutDC = IntVar(0)
 
 IAScreenStatus = IntVar(0)
 
 NqPScreenStatus = IntVar(0)
 
 NqPDisp = IntVar(0)
 
 NiCScreenStatus = IntVar(0)
 
 NiCDisp = IntVar(0)
 
float ImpedanceMagnitude = 0.0
 
float ImpedanceAngle = 0.0
 
float ImpedanceRseries = 0.0
 
float ImpedanceXseries = 0.0
 
 Show_Rseries = IntVar(0)
 
 Show_Xseries = IntVar(0)
 
 Show_Magnitude = IntVar(0)
 
 Show_Angle = IntVar(0)
 
 Show_RseriesRef = IntVar(0)
 
 Show_XseriesRef = IntVar(0)
 
 Show_MagnitudeRef = IntVar(0)
 
 Show_AngleRef = IntVar(0)
 
list TIARline = []
 Impedance Analyzer sweep bode plot and reference line variables. More...
 
list TIAXline = []
 
list TIAMagline = []
 
list TIAAngline = []
 
list TIAMline = []
 
list TIAMRline = []
 
list RefIARline = []
 
list RefIAXline = []
 
list RefIAMagline = []
 
list RefIAAngline = []
 
 IASource = IntVar(0)
 
 DisplaySeries = IntVar(0)
 In IA display series or parallel values. More...
 
 IA_Ext_Conf = IntVar(0)
 
 IASweepSaved = IntVar(0)
 
int OverRangeFlagA = 0
 
int OverRangeFlagB = 0
 
int PeakdbA = 10
 
int PeakdbB = 10
 
float PeakRelPhase = 0.0
 
int PeakfreqA = 100
 
int PeakfreqB = 1000
 
 OhmStatus = IntVar(0)
 
 OhmRunStatus = IntVar(0)
 
int FFTbandwidth = 0
 
list FFTBuffA = []
 
list FFTBuffB = []
 
list FFTresultA = []
 
list PhaseA = []
 
list FFTresultB = []
 
list PhaseB = []
 
list FFTresultAB = []
 
string FFTwindowname = "--"
 
 FFTmemoryA = numpy.ones(1)
 
 PhaseMemoryA = numpy.ones(1)
 
 FFTmemoryB = numpy.ones(1)
 
 PhaseMemoryB = numpy.ones(1)
 
 SMPfftpwrTwo = IntVar(0)
 
int SMPfft = 2 ** SMPfftpwrTwo.get()
 
int Two28 = 268435456
 
 FFTwindowshape = numpy.ones(SMPfft)
 
list T1Fline = []
 Frequency Array Variables. More...
 
list T2Fline = []
 
list T1Pline = []
 
list T2Pline = []
 
list T1FRline = []
 
list T2FRline = []
 
list T1PRline = []
 
list T2PRline = []
 
list TFMline = []
 
list TFRMline = []
 
 FreqTraceMode = IntVar(0)
 
list TAFline = []
 Bode Array Variables. More...
 
list TBFline = []
 
list TAPline = []
 
list TBPline = []
 
list TAFRline = []
 
list TBFRline = []
 
list TAPRline = []
 
list TBPRline = []
 
list TBPMline = []
 
list TBPRMline = []
 
int MinSamplesSA = 64
 
int MaxSamplesSA = 65536
 
 MathScreenStatus = IntVar(0)
 
 XYScreenStatus = IntVar(0)
 
 Xsignal = IntVar(0)
 
 Ysignal = IntVar(0)
 
 ShowRXY = IntVar(0)
 
 Show_CBA = IntVar(0)
 
 Show_CBB = IntVar(0)
 
 Show_CBC = IntVar(0)
 
 Show_CBD = IntVar(0)
 
 D0 = IntVar(0)
 
 D1 = IntVar(0)
 
 D2 = IntVar(0)
 
 D3 = IntVar(0)
 
 D4 = IntVar(0)
 
 D5 = IntVar(0)
 
 D6 = IntVar(0)
 
 D7 = IntVar(0)
 
int PIO_0 = 28
 print "Channel A label = " + str(CHA.signal.label) print "Channel A max = " + str(CHA.signal.max) print "Channel A min = " + str(CHA.signal.min) print "Channel A resolution = " + str(CHA.signal.resolution) print "Channel B label = " + str(CHB.signal.label) print "Channel B max = " + str(CHB.signal.max) print "Channel B min = " + str(CHB.signal.min) print "Channel B resolution = " + str(CHB.signal.resolution) More...
 
int PIO_1 = 29
 
int PIO_2 = 47
 
int PIO_3 = 3
 
int PIO_4 = 4
 
int PIO_5 = 5
 
int PIO_6 = 6
 
int PIO_7 = 7
 
 SCLKPort = IntVar(0)
 
 SDATAPort = IntVar(0)
 
 SLATCHPort = IntVar(0)
 
string hipulse
 25x25 bit map of high going pulse in .gif More...
 
 hipulseimg = PhotoImage(data=hipulse)
 
string lowpulse
 25x25 bit map of low going pulse in .gif More...
 
 lowpulseimg = PhotoImage(data=lowpulse)
 
int First_Slow_sweep = 0
 
 TgInput = IntVar(0)
 
 SingleShot = IntVar(0)
 
 ManualTrigger = IntVar(0)
 
 AutoLevel = IntVar(0)
 
 ShowC1_V = IntVar(0)
 
 TgEdge = IntVar(0)
 
 ShowC1_I = IntVar(0)
 
 ShowC2_V = IntVar(0)
 
 ShowC2_I = IntVar(0)
 
 ShowAV_I = IntVar(0)
 
 ShowBV_I = IntVar(0)
 
 ShowRA_V = IntVar(0)
 
 ShowRA_I = IntVar(0)
 
 ShowRB_V = IntVar(0)
 
 ShowRB_I = IntVar(0)
 
 ShowMath = IntVar(0)
 
 Show_MathX = IntVar(0)
 
 Show_MathY = IntVar(0)
 
 AutoCenterA = IntVar(0)
 
 AutoCenterB = IntVar(0)
 
 SmoothCurves = IntVar(0)
 
 ZOHold = IntVar(0)
 
 TRACEmodeTime = IntVar(0)
 
 ColorMode = IntVar(0)
 
 DecimateOption = IntVar(0)
 
 MathTrace = IntVar(0)
 
 MeasDCV1 = IntVar(0)
 
 MeasMinV1 = IntVar(0)
 
 MeasMaxV1 = IntVar(0)
 
 MeasMidV1 = IntVar(0)
 
 MeasPPV1 = IntVar(0)
 
 MeasRMSV1 = IntVar(0)
 
 MeasRMSVA_B = IntVar(0)
 
 MeasDCI1 = IntVar(0)
 
 MeasMinI1 = IntVar(0)
 
 MeasMaxI1 = IntVar(0)
 
 MeasMidI1 = IntVar(0)
 
 MeasPPI1 = IntVar(0)
 
 MeasRMSI1 = IntVar(0)
 
 MeasDiffAB = IntVar(0)
 
 MeasDCV2 = IntVar(0)
 
 MeasMinV2 = IntVar(0)
 
 MeasMaxV2 = IntVar(0)
 
 MeasMidV2 = IntVar(0)
 
 MeasPPV2 = IntVar(0)
 
 MeasRMSV2 = IntVar(0)
 
 MeasDCI2 = IntVar(0)
 
 MeasMinI2 = IntVar(0)
 
 MeasMaxI2 = IntVar(0)
 
 MeasMidI2 = IntVar(0)
 
 MeasPPI2 = IntVar(0)
 
 MeasRMSI2 = IntVar(0)
 
 MeasDiffBA = IntVar(0)
 
 MeasUserA = IntVar(0)
 
 MeasAHW = IntVar(0)
 
 MeasALW = IntVar(0)
 
 MeasADCy = IntVar(0)
 
 MeasAPER = IntVar(0)
 
 MeasAFREQ = IntVar(0)
 
 MeasBHW = IntVar(0)
 
 MeasBLW = IntVar(0)
 
 MeasBDCy = IntVar(0)
 
 MeasBPER = IntVar(0)
 
 MeasBFREQ = IntVar(0)
 
 MeasPhase = IntVar(0)
 
 MeasTopV1 = IntVar(0)
 
 MeasBaseV1 = IntVar(0)
 
 MeasTopV2 = IntVar(0)
 
 MeasBaseV2 = IntVar(0)
 
 MeasUserB = IntVar(0)
 
 MeasDelay = IntVar(0)
 
 TimeDisp = IntVar(0)
 
 XYDisp = IntVar(0)
 
 FreqDisp = IntVar(0)
 
 BodeDisp = IntVar(0)
 
 IADisp = IntVar(0)
 
 OhmDisp = IntVar(0)
 
 BodeScreenStatus = IntVar(0)
 
 DigScreenStatus = IntVar(0)
 
 DacScreenStatus = IntVar(0)
 
 MuxScreenStatus = IntVar(0)
 
 DualMuxMode = IntVar(0)
 
 MinigenScreenStatus = IntVar(0)
 
 DA1ScreenStatus = IntVar(0)
 
 DigPotScreenStatus = IntVar(0)
 
 GenericSerialStatus = IntVar(0)
 
 AD5626SerialStatus = IntVar(0)
 
 DigFiltStatus = IntVar(0)
 
 CommandStatus = IntVar(0)
 
 MeasureStatus = IntVar(0)
 
 MarkerScale = IntVar(0)
 
 SettingsStatus = IntVar(0)
 
 CHA_RC_HP = IntVar(0)
 
 CHB_RC_HP = IntVar(0)
 
 frame2r = Frame(root, borderwidth=5, relief=RIDGE)
 
 side
 
 RIGHT
 
 fill
 
 BOTH
 
 expand
 
 frame1 = Frame(root, borderwidth=5, relief=RIDGE)
 
 TOP
 
 frame2 = Frame(root, borderwidth=5, relief=RIDGE)
 
 frame3 = Frame(root, borderwidth=5, relief=RIDGE)
 
 width
 
 relief
 
 background
 
 foreground
 
 font
 
 borderwidth
 
 indicatorcolor
 
 Triggermenu = Menubutton(frame1, text="Trigger", style="W7.TButton")
 
 menu
 
 tearoff
 
 label
 
 variable
 
 value
 
 Edgemenu = Menubutton(frame1, text="Edge", style="W5.TButton")
 
 tlab = Label(frame1, text="Trig Level")
 
 TRIGGERentry = Entry(frame1, width=5)
 
 tgb = Button(frame1, text="50%", style="W4.TButton", command=BTrigger50p)
 
 hldlab = Button(frame1, text="Hold Off", style="W8.TButton", command=IncHoldOff)
 
 HoldOffentry = Entry(frame1, width=4)
 
 hozlab = Button(frame1, text="Horz Pos", style="W8.TButton", command=SetTriggerPoss)
 
 HozPossentry = Entry(frame1, width=4)
 
 bexit = Button(frame1, text="Exit", style="W4.TButton", command=Bcloseexit)
 
 bstop = Button(frame1, text="Stop", style="Stop.TButton", command=BStop)
 
 brun = Button(frame1, text="Run", style="Run.TButton", command=BStart)
 
 PwrBt = Button(frame1, text="PWR-ON", style="Pwr.TButton", command=BPower)
 
 Showmenu = Menubutton(frame1, text="Curves", style="W7.TButton")
 
 command
 
 Triggermenu_tip = CreateToolTip(Triggermenu, 'Select trigger signal')
 
 Edgemenu_tip = CreateToolTip(Edgemenu, 'Select trigger edge')
 
 tgb_tip = CreateToolTip(tgb, 'Set trigger level to waveform mid point')
 
 hldlab_tip = CreateToolTip(hldlab, 'Increment Hold Off setting by one time division')
 
 hozlab_tip = CreateToolTip(hozlab, 'When triggering, set trigger point to center of screen')
 
 bexit_tip = CreateToolTip(bexit, 'Exit ALICE Desktop')
 
 bstop_tip = CreateToolTip(bstop, 'Stop acquiring data')
 
 brun_tip = CreateToolTip(brun, 'Start acquiring data')
 
 pwrbt_tip = CreateToolTip(PwrBt, 'Toggle ext power supply')
 
 Showmenu_tip = CreateToolTip(Showmenu, 'Select which traces to display')
 
 fminlab2 = Label(frame1, text="KHz")
 
 FminEntry = Entry(frame1, width=4)
 
 fminlab = Label(frame1, text="Fmin")
 
 HtMulEntry = Entry(frame1, width=4)
 
 mulxlab = Label( frame1, text = "Mul X")
 
 TMsb = Spinbox(frame1, width=5, values= TMpdiv, command=BTime)
 
 TMlab = Label(frame1, text="Time mS/Div")
 
 ca = Canvas(frame2, width=CANVASwidth, height=CANVASheight, background=COLORcanvas, cursor='cross')
 
 MouseWidget = ca
 
 dropmenu = Frame( frame2r )
 
 bcon = Button(dropmenu, text="Recon", style="RConn.TButton", command=ConnectDevice)
 
 LEFT
 
 anchor
 
 Filemenu = Menubutton(dropmenu, text="File", style="W4.TButton")
 
 Optionmenu = Menubutton(dropmenu, text="Options", style="W7.TButton")
 
 dropmenu2 = Frame( frame2r )
 
 mathbt = Button(dropmenu2, text="Math", style="W4.TButton", command = NewEnterMathControls)
 
 measlab = Label(dropmenu2, text="Meas")
 
 MeasmenuA = Menubutton(dropmenu2, text="CA", style="W3.TButton")
 
 MeasmenuB = Menubutton(dropmenu2, text="CB", style="W3.TButton")
 
 BuildAWGScreen = Button(frame2r, text="AWG Window", style="W16.TButton", command=MakeAWGWindow)
 
 timebtn = Frame( frame2r )
 
 ckb1 = Checkbutton(timebtn, text="Enab", style="Disab.TCheckbutton", variable=TimeDisp, command=TimeCheckBox)
 
 timelab = Label(timebtn, text="Time Plot")
 
 xybtn = Frame( frame2r )
 
 ckb2 = Checkbutton(xybtn, text="Enab", style="Disab.TCheckbutton", variable=XYDisp, command=XYCheckBox)
 
 BuildXYScreen = Button(xybtn, text="X-Y Plot", style="W11.TButton", command=MakeXYWindow)
 
 freqbtn = Frame( frame2r )
 
 ckb3 = Checkbutton(freqbtn, text="Enab", style="Disab.TCheckbutton", variable=FreqDisp, command=FreqCheckBox)
 
 BuildSpectrumScreen = Button(freqbtn, text="Spectrum Plot", style="W11.TButton", command=MakeSpectrumWindow)
 
 bodebtn = Frame( frame2r )
 
 ckb5 = Checkbutton(bodebtn, text="Enab", style="Disab.TCheckbutton", variable=BodeDisp, command=BodeCheckBox)
 
 BuildBodeScreen = Button(bodebtn, text="Bode Plot", style="W11.TButton", command=MakeBodeWindow)
 
 impdbtn = Frame( frame2r )
 
 ckb4 = Checkbutton(impdbtn, text="Enab", style="Disab.TCheckbutton", variable=IADisp, command=IACheckBox)
 
 BuildIAScreen = Button(impdbtn, text="Impedance", style="W11.TButton", command=MakeIAWindow)
 
 dcohmbtn = Frame( frame2r )
 
 ckb6 = Checkbutton(dcohmbtn, text="Enab", style="Disab.TCheckbutton", variable=OhmDisp, command=OhmCheckBox)
 
 BuildOhmScreen = Button(dcohmbtn, text="Ohmmeter", style="W11.TButton", command=MakeOhmWindow)
 
 math_tip = CreateToolTip(mathbt, 'Open Math window')
 
 BuildAWGScreen_tip = CreateToolTip(BuildAWGScreen, 'Surface AWG Controls window')
 
 BuildXYScreen_tip = CreateToolTip(BuildXYScreen, 'Open X vs Y plot window')
 
 BuildSpectrumScreen_tip = CreateToolTip(BuildSpectrumScreen, 'Open spectrum analyzer window')
 
 BuildBodeScreen_tip = CreateToolTip(BuildBodeScreen, 'Open Bode plot window')
 
 BuildIAScreen_tip = CreateToolTip(BuildIAScreen, 'Open Impedance analyzer window')
 
 BuildOhmScreen_tip = CreateToolTip(BuildOhmScreen, 'Open DC Ohmmeter window')
 
 BuildDigScreen = Button(frame2r, text="Digital I/O Screen", style="W17.TButton", command=MakeDigScreen)
 
 BuildDacScreen = Button(frame2r, text="PIO-DAC Screen", style="W17.TButton", command=MakeDacScreen)
 
 BuildMuxScreen = Button(frame2r, text="Analog In Mux Screen", style="W17.TButton", command=MakeMuxModeWindow)
 
 BuildMinigenScreen = Button(frame2r, text="AD983x DDS Screen", style="W17.TButton", command=MakeMinigenWindow)
 
 BuildDA1Screen = Button(frame2r, text="PMOD DA1 Screen", style="W17.TButton", command=MakeDA1Window)
 
 BuildDigPotScreen = Button(frame2r, text="Dig Pot Screen", style="W17.TButton", command=MakeDigPotWindow)
 
 GenericSerialScreen = Button(frame2r, text="Generic Serial Output", style="W17.TButton", command=MakeGenericSerialWindow)
 
 AD5626SerialScreen = Button(frame2r, text="AD5626 Output", style="W17.TButton", command=MakeAD5626Window)
 
 DigFiltScreen = Button(frame2r, text="Digital Filter", style="W17.TButton", command=MakeDigFiltWindow)
 
 CommandLineScreen = Button(frame2r, text="Command Interface", style="W17.TButton", command=MakeCommandScreen)
 
 MeasureScreen = Button(frame2r, text="Measure Screen", style="W17.TButton", command=MakeMeasureScreen)
 
 ETSScreen = Button(frame2r, text="ETS Controls", style="W17.TButton", command=MakeETSWindow)
 
 prlab = Label(frame2r, text="Adjust Gain / Offset")
 
 ProbeA = Frame( frame2r )
 
 gain1lab = Label(ProbeA, text="CA-V")
 
 CHAVGainEntry = Entry(ProbeA, width=5)
 
 CHAVOffsetEntry = Entry(ProbeA, width=5)
 
 ProbeB = Frame( frame2r )
 
 gain2lab = Label(ProbeB, text="CB-V")
 
 CHBVGainEntry = Entry(ProbeB, width=5)
 
 CHBVOffsetEntry = Entry(ProbeB, width=5)
 
 ProbeAI = Frame( frame2r )
 
 gainailab = Label(ProbeAI, text="CA-I")
 
 CHAIGainEntry = Entry(ProbeAI, width=5)
 
 CHAIOffsetEntry = Entry(ProbeAI, width=5)
 
 ProbeBI = Frame( frame2r )
 
 gainbilab = Label(ProbeBI, text="CB-I")
 
 CHBIGainEntry = Entry(ProbeBI, width=5)
 
 CHBIOffsetEntry = Entry(ProbeBI, width=5)
 
string ADIlogo
 
 logo = PhotoImage(data=ADIlogo)
 
 ADI1 = Label(frame2r, image=logo, anchor= "sw", compound="top")
 
 CHAsb = Spinbox(frame3, width=4, values=CHvpdiv, command=BCHAlevel)
 
 CHAlab = Button(frame3, text="CA V/Div", style="Rtrace1.TButton", command=SetScaleA)
 
 CHAVPosEntry = Entry(frame3, width=5)
 
 CHAofflab = Button(frame3, text="CA V Pos", style="Rtrace1.TButton", command=SetVAPoss)
 
 CHAIsb = Spinbox(frame3, width=4, values=CHipdiv, command=BCHAIlevel)
 
 CHAIlab = Button(frame3, text="CA mA/Div", style="Strace3.TButton", command=SetScaleIA)
 
 CHAIPosEntry = Entry(frame3, width=5)
 
 CHAIofflab = Button(frame3, text="CA I Pos", style="Rtrace3.TButton", command=SetIAPoss)
 
 CHBsb = Spinbox(frame3, width=4, values=CHvpdiv, command=BCHBlevel)
 
 CHBlab = Button(frame3, text="CB V/Div", style="Strace2.TButton", command=SetScaleB)
 
 CHBVPosEntry = Entry(frame3, width=5)
 
 CHBofflab = Button(frame3, text="CB V Pos", style="Rtrace2.TButton", command=SetVBPoss)
 
 CHBIsb = Spinbox(frame3, width=4, values=CHipdiv, command=BCHBIlevel)
 
 CHBIlab = Button(frame3, text="CB mA/Div", style="Strace4.TButton", command=SetScaleIB)
 
 CHBIPosEntry = Entry(frame3, width=5)
 
 CHBIofflab = Button(frame3, text="CB I Pos", style="Rtrace4.TButton", command=SetIBPoss)
 
 CHAlab_tip = CreateToolTip(CHAlab, 'Select CHA-V vertical range/position axis to be used for markers and drawn color')
 
 CHBlab_tip = CreateToolTip(CHBlab, 'Select CHB-V vertical range/position axis to be used for markers and drawn color')
 
 CHAIlab_tip = CreateToolTip(CHAIlab, 'Select CHA-I vertical range/position axis to be used for markers and drawn color')
 
 CHBIlab_tip = CreateToolTip(CHBIlab, 'Select CHB-I vertical range/position axis to be used for markers and drawn color')
 
 CHAofflab_tip = CreateToolTip(CHAofflab, 'Set CHA-V position to DC average of signal')
 
 CHBofflab_tip = CreateToolTip(CHBofflab, 'Set CHB-V position to DC average of signal')
 
 CHAIofflab_tip = CreateToolTip(CHAIofflab, 'Set CHA-I position to DC average of signal')
 
 CHBIofflab_tip = CreateToolTip(CHBIofflab, 'Set CHB-I position to DC average of signal')
 
 BrdSel = IntVar(0)
 
 BoardStatus = IntVar(0)