Jump to content

adlib---lost me


Recommended Posts

Im working on power meter software. When I click the standby button in the gui I need it to take continous power readings untill i click standby again....attempting this with the adlib function but am completely lost!! Any clues on how to use this function would be greatly appreciated...

#include <Array.au3>
#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <ColorConstants.au3>
#include <EditConstants.au3>
#include <GuiButton.au3>
#include <GUIConstantsEx.au3>
#include <GuiRichEdit.au3>
#include <StaticConstants.au3>
#include <Visa.au3>
#include <WindowsConstants.au3>

; Color Notes ...: Green = Dec("00ff00"), Red = Dec("ff0000"), Blue = Dec("0000ff"), Yellow = Dec("ffff00"), Dark Green = Dec("004c00")
; https://www.color-hex.com/color/cccc00 for color codes
; #include "PowerMeterCommands.au3"

; use AdlibRegister for measurement function

; Presets
; Min = -90
; Max = -56
; Zero = Internal (INT)
; Mode = Average only (AVG only)
; Frequency = 50.0 M
; Averaging Mode = AUTO
; Averaging Count = 4
; Step Detect = Checked
; Unit = dBm
; Trigger = Free Run

; Variables
$symbol = ChrW(9642)
$symbol2 = ChrW(9679)
$PowerMeter = "USB0::0x0957::0x2A18::MY54480009::INSTR"
$h_session = 0
$h_instr = _viOpen($PowerMeter)

; Flags
$ChanOffsetFlag = 0
$DutyCycleFlag = 0
$StepDetectFlag = 1 ; 1=enabled, 0=disabled
$SlopeTypeFlag = 0 ; 0=Unknown, 1=POS, 2=NEG
$ZeroTypeFlag = 0 ; 0=INT, 1=EXT
$UnitFlag = 0 ; 0=dBm, 1=Watt
$RelativeFlag = 0 ; 0=Off, 1=On
$EnableAlertsFlag = 0 ; 0=Off, 1=On
$StandbyFlag = 0 ; 0=Off / 1=On
;Opt("GUIOnEventMode", 1)

#Region ### START Koda GUI section ### Form=K:\Work\AutoIT Scripts\Mine\Models\PowerMeter\PowerMeter.kxf
$g_Core = GUICreate("Pwer Meter App", 1318, 615, 190, 130)
GUISetBkColor(0x000000)
; ============================== Channel Setup =====================================
$Group1 = GUICtrlCreateGroup("Channel Setup", 16, 48, 369, 369, BitOR($GUI_SS_DEFAULT_GROUP, $BS_CENTER))
; Remove the theme - Thanks Melba23!
DllCall("UxTheme.dll", "int", "SetWindowTheme", "hwnd", GUICtrlGetHandle($Group1), "wstr", 0, "wstr", 0)
GUICtrlSetFont(-1, 14, 400, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFFFFFF)
$Label1 = GUICtrlCreateLabel("Mode:", 26, 90, 48, 24, $SS_CENTER)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFFFFFF)
$Label2 = GUICtrlCreateLabel("Range:", 24, 120, 56, 24)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFFFFFF)
$cb_ChanOffset = GUICtrlCreateCheckbox("", 24, 152, 20, 20, BitOR($BS_AUTORADIOBUTTON, $BS_PUSHLIKE)) ; size can be anything)
GUICtrlSetState($cb_ChanOffset, 4) ; 1 = Checked, 2 = Indeterminate(Greyed), 4 = Unchecked, 64 = Enabled, 128 = Disabled
$Label3 = GUICtrlCreateLabel("Chan Offseet (dB):", 48, 152, 137, 24, BitOR($SS_CENTER, $SS_CENTERIMAGE))
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFFFFFF)
$cb_DutyCycle = GUICtrlCreateCheckbox("", 24, 184, 20, 20, BitOR($BS_AUTORADIOBUTTON, $BS_PUSHLIKE)) ; size can be anything))
GUICtrlSetState($cb_DutyCycle, 4) ; 1 = Checked, 2 = Indeterminate(Greyed), 4 = Unchecked, 64 = Enabled, 128 = Disabled
$Label4 = GUICtrlCreateLabel("Duty Cycle (%):", 48, 184, 111, 24, BitOR($SS_CENTER, $SS_CENTERIMAGE))
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFFFFFF)
$Label5 = GUICtrlCreateLabel("Frequency (Hz):", 32, 216, 117, 24, BitOR($SS_CENTER, $SS_CENTERIMAGE))
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFFFFFF)
$Label6 = GUICtrlCreateLabel("Averaging Mode:", 24, 248, 123, 24, BitOR($SS_CENTER, $SS_CENTERIMAGE))
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFFFFFF)
$Label7 = GUICtrlCreateLabel("Averaging Count:", 24, 280, 126, 24, BitOR($SS_CENTER, $SS_CENTERIMAGE))
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFFFFFF)
$Label8 = GUICtrlCreateLabel("Step Detect", 136, 320, 90, 24, BitOR($SS_CENTER, $SS_CENTERIMAGE))
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFFFFFF)
$combo_Mode = GUICtrlCreateCombo("AVG only", 192, 88, 145, 28, BitOR($CBS_DROPDOWN, $CBS_AUTOHSCROLL))
GUICtrlSetData($combo_Mode, "AVG only|Normal")
GUICtrlSetFont(-1, 11, 400, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFFFFFF)
GUICtrlSetBkColor(-1, 0x000000)
$cb_StepDetect = GUICtrlCreateCheckbox("", 110, 323, 20, 20, BitOR($BS_AUTORADIOBUTTON, $BS_PUSHLIKE)) ; size can be anything
GUICtrlSetData($cb_StepDetect, $symbol)
GUICtrlSetFont(-1, 25, 400, 0, "Arial")
$combo_Range = GUICtrlCreateCombo("AUTO", 192, 120, 145, 25, BitOR($CBS_DROPDOWN, $CBS_AUTOHSCROLL))
GUICtrlSetData($combo_Range, "AUTO|LOWER|UPPER")
GUICtrlSetFont(-1, 11, 400, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFFFFFF)
GUICtrlSetBkColor(-1, 0x000000)
$i_ChanOffset = GUICtrlCreateInput("", 192, 152, 145, 24)
GUICtrlSetState($i_ChanOffset, 2 + 128) ; 1 = Checked, 2 = Indeterminate(Greyed), 4 = Unchecked, 64 = Enabled, 128 = Disabled
GUICtrlSetFont(-1, 11, 400, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFFFFFF)
GUICtrlSetBkColor(-1, 0x000000)
$i_DutyCycle = GUICtrlCreateInput("", 192, 184, 145, 24)
GUICtrlSetState($i_DutyCycle, 2 + 128) ; 1 = Checked, 2 = Indeterminate(Greyed), 4 = Unchecked, 64 = Enabled, 128 = Disabled
GUICtrlSetFont(-1, 11, 400, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFFFFFF)
GUICtrlSetBkColor(-1, 0x000000)
$i_Frequency = GUICtrlCreateInput("0", 192, 216, 121, 24)
GUICtrlSetFont(-1, 11, 400, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFFFFFF)
GUICtrlSetBkColor(-1, 0x000000)
$combo_FreqMeas = GUICtrlCreateCombo("kHz", 320, 216, 54, 25, BitOR($CBS_DROPDOWN, $CBS_AUTOHSCROLL))
GUICtrlSetData($combo_FreqMeas, "kHz|MHz|GHz")
GUICtrlSetFont(-1, 11, 400, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFFFFFF)
GUICtrlSetBkColor(-1, 0x000000)
$combo_AvgMode = GUICtrlCreateCombo("AUTO", 192, 248, 145, 25, BitOR($CBS_DROPDOWN, $CBS_AUTOHSCROLL))
GUICtrlSetData($combo_AvgMode, "AUTO|MANUAL|OFF")
GUICtrlSetFont(-1, 11, 400, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFFFFFF)
GUICtrlSetBkColor(-1, 0x000000)
$i_AvgCount = GUICtrlCreateInput("4", 192, 280, 121, 24)
GUICtrlSetState($i_AvgCount, 2 + 128) ; 1 = Checked, 2 = Indeterminate(Greyed), 4 = Unchecked, 64 = Enabled, 128 = Disabled
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFFFFFF)
GUICtrlSetBkColor(-1, 0x000000)
GUICtrlCreateGroup("", -99, -99, 1, 1)
; ============================== Measurement Setup =====================================
$Group2 = GUICtrlCreateGroup("Measurement Setup", 992, 40, 305, 377, BitOR($GUI_SS_DEFAULT_GROUP, $BS_CENTER))
; Remove the theme - Thanks Melba23!
DllCall("UxTheme.dll", "int", "SetWindowTheme", "hwnd", GUICtrlGetHandle($Group2), "wstr", 0, "wstr", 0)
GUICtrlSetFont(-1, 14, 400, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFFFFFF)
$Label9 = GUICtrlCreateLabel("Measurement:", 1000, 80, 106, 24, $SS_CENTER)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFFFFFF)
$combo_Measurement = GUICtrlCreateCombo("1", 1112, 80, 145, 25, BitOR($CBS_DROPDOWN, $CBS_AUTOHSCROLL))
GUICtrlSetFont(-1, 11, 400, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFFFFFF)
GUICtrlSetBkColor(-1, 0x000000)
$Label10 = GUICtrlCreateLabel("Unit:", 1008, 112, 37, 24, $SS_CENTER)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFFFFFF)
$r_dBm = GUICtrlCreateRadio("r_dBm", 1096, 112, 17, 25)
GUICtrlSetState($r_dBm, 1) ; 1 = Checked, 2 = Indeterminate(Greyed), 4 = Unchecked, 64 = Enabled, 128 = Disabled
$Label29 = GUICtrlCreateLabel("dBm", 1112, 112, 37, 24, BitOR($SS_CENTER, $SS_CENTERIMAGE))
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFFFFFF) ; White
$r_Watt = GUICtrlCreateRadio("", 1160, 112, 17, 25)
$Watt = GUICtrlCreateLabel("Watt", 1176, 112, 38, 24, BitOR($SS_CENTER, $SS_CENTERIMAGE))
GUICtrlSetState($r_Watt, 4) ; 1 = Checked, 2 = Indeterminate(Greyed), 4 = Unchecked, 64 = Enabled, 128 = Disabled
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFFFFFF) ; White
$cb_Relative = GUICtrlCreateCheckbox("", 1002, 144, 20, 20, BitOR($BS_AUTORADIOBUTTON, $BS_PUSHLIKE)) ; size can be anything))
GUICtrlSetState($cb_Relative, 4) ; 1 = Checked, 2 = Indeterminate(Greyed), 4 = Unchecked, 64 = Enabled, 128 = Disabled
$Label11 = GUICtrlCreateLabel("Relative:", 1024, 144, 65, 24, $SS_CENTERIMAGE)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFFFFFF)
$b_Rel = GUICtrlCreateButton("Rel", 1096, 144, 51, 25)
GUICtrlSetState($b_Rel, 2 + 128) ; 1 = Checked, 2 = Indeterminate(Greyed), 4 = Unchecked, 64 = Enabled, 128 = Disabled
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFFFFFF)
GUICtrlSetBkColor(-1, 0x646464)
$out_Rel = GUICtrlCreateInput("", 1160, 144, 113, 24, $ES_READONLY)
GUICtrlSetFont(-1, 11, 400, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFFFFFF)
GUICtrlSetBkColor(-1, 0x000000)
$Label12 = GUICtrlCreateLabel("Feed 1", 1008, 208, 54, 24, BitOR($SS_CENTER, $SS_CENTERIMAGE))
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFFFFFF)
$combo_Chan = GUICtrlCreateCombo("A", 1064, 208, 49, 25, BitOR($CBS_DROPDOWN, $CBS_AUTOHSCROLL))
GUICtrlSetData($combo_Chan, "A")
GUICtrlSetFont(-1, 11, 400, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFFFFFF)
GUICtrlSetBkColor(-1, 0x000000)
$combo_Gate = GUICtrlCreateCombo("", 1120, 208, 49, 25, BitOR($CBS_DROPDOWN, $CBS_AUTOHSCROLL))
GUICtrlSetData($combo_Gate, "")
GUICtrlSetFont(-1, 11, 400, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFFFFFF)
GUICtrlSetBkColor(-1, 0x000000)
$combo_MeasType = GUICtrlCreateCombo("Avg", 1176, 208, 97, 25, BitOR($CBS_DROPDOWN, $CBS_AUTOHSCROLL))
GUICtrlSetData($combo_MeasType, "Avg")
GUICtrlSetFont(-1, 11, 400, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFFFFFF)
GUICtrlSetBkColor(-1, 0x000000)
$Label13 = GUICtrlCreateLabel("Chan", 1064, 184, 43, 20, BitOR($SS_CENTER, $SS_CENTERIMAGE))
GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFFFFFF)
$Label14 = GUICtrlCreateLabel("Gate", 1120, 184, 41, 20, BitOR($SS_CENTER, $SS_CENTERIMAGE))
GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFFFFFF)
$Label15 = GUICtrlCreateLabel("Type", 1176, 184, 44, 20, BitOR($SS_CENTER, $SS_CENTERIMAGE))
GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFFFFFF)
$Label16 = GUICtrlCreateLabel("Alert Limits", 1120, 256, 82, 24, BitOR($SS_CENTER, $SS_CENTERIMAGE))
GUICtrlSetFont(-1, 12, 400, 4, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFFFFFF)
$cb_EnableAlerts = GUICtrlCreateCheckbox("", 1008, 280, 20, 20, BitOR($BS_AUTORADIOBUTTON, $BS_PUSHLIKE)) ; size can be anything))
GUICtrlSetState($cb_EnableAlerts, 4) ; 1 = Checked, 2 = Indeterminate(Greyed), 4 = Unchecked, 64 = Enabled, 128 = Disabled
$Label17 = GUICtrlCreateLabel("Enable Alerts", 1032, 280, 99, 24, BitOR($SS_CENTER, $SS_CENTERIMAGE))
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFFFFFF)
$Label18 = GUICtrlCreateLabel("Upper Limit (dBm):", 1008, 312, 136, 24, BitOR($SS_CENTER, $SS_CENTERIMAGE))
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFFFFFF)
$Label19 = GUICtrlCreateLabel("Lower Limits (dBm):", 1000, 344, 143, 24, BitOR($SS_CENTER, $SS_CENTERIMAGE))
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFFFFFF)
$i_UpperLimit = GUICtrlCreateInput("+90.00", 1144, 312, 121, 24)
GUICtrlSetState($i_UpperLimit, 2 + 128) ; 1 = Checked, 2 = Indeterminate(Greyed), 4 = Unchecked, 64 = Enabled, 128 = Disabled
GUICtrlSetFont(-1, 11, 400, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFFFFFF)
GUICtrlSetBkColor(-1, 0x000000)
$i_LowerLimit = GUICtrlCreateInput("-90.00", 1144, 344, 121, 24)
GUICtrlSetState($i_LowerLimit, 2 + 128) ; 1 = Checked, 2 = Indeterminate(Greyed), 4 = Unchecked, 64 = Enabled, 128 = Disabled
GUICtrlSetFont(-1, 11, 400, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFFFFFF) ; White
GUICtrlSetBkColor(-1, 0x000000) ; Black
GUICtrlCreateGroup("", -99, -99, 1, 1)
$out_IDNQ = GUICtrlCreateInput("out_IDNQ", 280, 8, 809, 28, BitOR($GUI_SS_DEFAULT_INPUT, $ES_CENTER, $ES_READONLY))
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFFFFFF)
GUICtrlSetBkColor(-1, 0x000000)
; ============================== Trigger Setup =====================================
$Group3 = GUICtrlCreateGroup("Trigger Setup", 408, 200, 265, 137, BitOR($GUI_SS_DEFAULT_GROUP, $BS_CENTER))
; Remove the theme - Thanks Melba23!
DllCall("UxTheme.dll", "int", "SetWindowTheme", "hwnd", GUICtrlGetHandle($Group3), "wstr", 0, "wstr", 0)
GUICtrlSetFont(-1, 14, 400, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFFFFFF)
$Label20 = GUICtrlCreateLabel("Mode:", 432, 248, 48, 24, BitOR($SS_CENTER, $SS_CENTERIMAGE))
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFFFFFF)
$Label21 = GUICtrlCreateLabel("Source:", 424, 288, 59, 24, BitOR($SS_CENTER, $SS_CENTERIMAGE))
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFFFFFF)
$combo_TrigMode = GUICtrlCreateCombo("Free Run", 488, 248, 145, 25, BitOR($CBS_DROPDOWN, $CBS_AUTOHSCROLL))
GUICtrlSetData($combo_TrigMode, "Free Run|Single Trig|Cont Trig")
GUICtrlSetFont(-1, 11, 400, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFFFFFF)
GUICtrlSetBkColor(-1, 0x000000)
$combo_TrigSource = GUICtrlCreateCombo("INT", 488, 288, 145, 25, BitOR($CBS_DROPDOWN, $CBS_AUTOHSCROLL))
GUICtrlSetData($combo_TrigSource, "INT|EXT")
GUICtrlSetState($combo_TrigSource, 128) ; 1 = Checked, 2 = Indeterminate(Greyed), 4 = Unchecked, 64 = Enabled, 128 = Disabled
GUICtrlSetFont(-1, 11, 400, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFFFFFF)
GUICtrlSetBkColor(-1, 0x000000)
$Label26 = GUICtrlCreateLabel("Slope Type:", 424, 311, 87, 24, BitOR($SS_CENTER, $SS_CENTERIMAGE))
GUICtrlSetFont(-1, 11, 400, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFFFFFF) ; White
$r_POS = GUICtrlCreateRadio("r_POS", 520, 311, 17, 25)
$Label27 = GUICtrlCreateLabel("+POS", 536, 311, 46, 24, BitOR($SS_CENTER, $SS_CENTERIMAGE))
GUICtrlSetFont(-1, 11, 400, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFFFFFF) ; White
$r_NEG = GUICtrlCreateRadio("r_NEG", 592, 311, 17, 25)
$Label28 = GUICtrlCreateLabel("-NEG", 608, 311, 44, 24, BitOR($SS_CENTER, $SS_CENTERIMAGE))
GUICtrlSetFont(-1, 11, 400, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFFFFFF) ; White
GUICtrlCreateGroup("", -99, -99, 1, 1)
; ============================== Calibration Setup =====================================
$Group4 = GUICtrlCreateGroup("Calibration", 696, 200, 273, 137, BitOR($GUI_SS_DEFAULT_GROUP, $BS_CENTER))
; Remove the theme - Thanks Melba23!
DllCall("UxTheme.dll", "int", "SetWindowTheme", "hwnd", GUICtrlGetHandle($Group4), "wstr", 0, "wstr", 0)
GUICtrlSetFont(-1, 14, 400, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFFFFFF)
$Button1 = GUICtrlCreateButton("Zero", 776, 232, 75, 25)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFFFFFF)
GUICtrlSetBkColor(-1, 0x646464)
$Label22 = GUICtrlCreateLabel("Zero Type:", 744, 272, 79, 24, BitOR($SS_CENTER, $SS_CENTERIMAGE))
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFFFFFF)
$r_INT = GUICtrlCreateRadio("", 840, 272, 17, 25)
GUICtrlSetState($r_INT, 1) ; 1 = Checked, 2 = Indeterminate(Greyed), 4 = Unchecked, 64 = Enabled, 128 = Disabled
$Label23 = GUICtrlCreateLabel("INT", 856, 272, 29, 24, BitOR($SS_CENTER, $SS_CENTERIMAGE))
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFFFFFF)
$r_EXT = GUICtrlCreateRadio("", 840, 296, 17, 25)
GUICtrlSetState($r_EXT, 4) ; 1 = Checked, 2 = Indeterminate(Greyed), 4 = Unchecked, 64 = Enabled, 128 = Disabled
$Label24 = GUICtrlCreateLabel("EXT", 856, 296, 35, 24, BitOR($SS_CENTER, $SS_CENTERIMAGE))
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFFFFFF)
GUICtrlCreateGroup("", -99, -99, 1, 1)
; ============================== SelfTest Setup =====================================
$Group5 = GUICtrlCreateGroup("Self-Test", 408, 338, 561, 81, BitOR($GUI_SS_DEFAULT_GROUP, $BS_CENTER))
; Remove the theme - Thanks Melba23!
DllCall("UxTheme.dll", "int", "SetWindowTheme", "hwnd", GUICtrlGetHandle($Group5), "wstr", 0, "wstr", 0)
GUICtrlSetFont(-1, 14, 400, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFFFFFF)
$Label25 = GUICtrlCreateLabel("Timeout (s):", 488, 376, 87, 24, BitOR($SS_CENTER, $SS_CENTERIMAGE))
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFFFFFF)
$i_Timeout = GUICtrlCreateInput("120", 584, 376, 121, 24)
GUICtrlSetFont(-1, 11, 400, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFFFFFF)
GUICtrlSetBkColor(-1, 0x000000)
$b_SelfTest = GUICtrlCreateButton("Self-Test", 720, 376, 75, 25)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFFFFFF)
GUICtrlSetBkColor(-1, 0x646464)
GUICtrlCreateGroup("", -99, -99, 1, 1)
; ============================== Measurement / Console =====================================
$e_Measurement = _GUICtrlRichEdit_Create($g_Core, "", 440, 56, 497, 137, _
        BitOR($ES_CENTER, $WS_VSCROLL, $ES_AUTOVSCROLL, $ES_READONLY))
;_GUICtrlRichEdit_SetFont($e_Measurement, 15)
$e_Console = _GUICtrlRichEdit_Create($g_Core, "", 408, 424, 561, 177, _
        BitOR($ES_MULTILINE, $WS_VSCROLL, $ES_AUTOVSCROLL, $ES_READONLY))
; ============================== Added Functionality ==========================
$b_Standby = GUICtrlCreateButton("Stand-By", 16, 432, 91, 25)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFFFFFF)
GUICtrlSetBkColor(-1, 0x646464)
$b_Status = GUICtrlCreateButton("", 112, 432, 27, 25)
$b_Con2File = GUICtrlCreateButton("Console to File", 992, 432, 123, 25)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFFFFFF)
GUICtrlSetBkColor(-1, 0x646464)
$i_Manual = GUICtrlCreateInput("", 16, 488, 257, 21)
$b_Send = GUICtrlCreateButton("Send", 88, 520, 75, 25)
GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFFFFFF)
GUICtrlSetBkColor(-1, 0x646464)
; ================ Font Size Fix =======================
_GUICtrlRichEdit_SetSel($e_Console, 0, -1) ; select all
_GUICtrlRichEdit_ChangeFontSize($e_Console, 3) ; change point size
_GUICtrlRichEdit_Deselect($e_Console) ; deselect all

GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

; ============================= Startup Sequence ============================================
_GUICtrlRichEdit_AppendText($e_Console, "")
_GUICtrlRichEdit_SetCharColor($e_Console, Dec("ff0000")) ; Blue
_GUICtrlRichEdit_AppendText($e_Console, "****Begin Startup Checks****" & @CRLF)
_Startup()
_GUICtrlRichEdit_SetCharColor($e_Console, Dec("ff0000")) ; Blue
_GUICtrlRichEdit_AppendText($e_Console, "****End Startup Checks****" & @CRLF)
; ===========================================================================================

While 1
    $msg = GUIGetMsg()
    Switch $msg

        Case $GUI_EVENT_CLOSE
            _viClose($h_instr)
            Exit
        Case $b_Standby
            Select
                Case $StandbyFlag = 0
                    $StandbyFlag = 1
                    GUICtrlSetBkColor($b_Status, $COLOR_GREEN)
                    AdlibRegister(_MeasurePower($e_Measurement), 250)
                    ;_MeasurePower($e_Measurement)

                Case $StandbyFlag = 1
                    $StandbyFlag = 0
                    GUICtrlSetBkColor($b_Status, $COLOR_RED)
                    _viExecCommand($h_instr, "*CLS", 10000)
                    _viExecCommand($h_instr, "SYST:PRES DEF", 10000)
                    _GUICtrlRichEdit_AppendText($e_Measurement, "")
            EndSelect
    EndSwitch
WEnd

Func _Startup()
    _viExecCommand($h_instr, "*RST", 4000) ; Places the U2000 Series power sensor in a known state.
    ; *IDN? ---- Identification Check
    $s_IDNQ = _viExecCommand($h_instr, "*IDN?", 10000) ; Allows the U2000 Series power sensor to identify itself.
    If $s_IDNQ = -1073807346 Then
        GUICtrlSetData($out_IDNQ, "*IDN? Error: The given session or object reference is invalid.")
        Return
    Else
        GUICtrlSetData($out_IDNQ, $s_IDNQ)
    EndIf
    ; ----------------
    _viExecCommand($h_instr, "*CLS", 4000) ; Clears Registers
    ; SYST:ERR? ---- System Error Check
    $s_SystErrQ = _viExecCommand($h_instr, "SYST:ERR?", 10000) ; Checks the U2000 Series power sensor system error queue.
    If $s_SystErrQ = -1073807346 Then
        _GUICtrlRichEdit_SetCharColor($e_Console, Dec("0000b2")) ; Red
        _GUICtrlRichEdit_AppendText($e_Console, "**System Check Error: The given session or object reference is invalid. " & @CRLF)
    Else
        _GUICtrlRichEdit_SetCharColor($e_Console, Dec("004c00")) ; Dark Green
        _GUICtrlRichEdit_AppendText($e_Console, "System Test: " & $s_SystErrQ)
    EndIf
    ; ----------------
    _viExecCommand($h_instr, "*CLS", 4000)
    ; AVER:SDET? ---- Step Detect
    $sys_StepDetect = _viExecCommand($h_instr, "AVER:SDET?", 10000) ; Queries whether step detection is on or off. 1=enabled/0=disabled
    Select
        Case $sys_StepDetect = 0
            GUICtrlSetState($cb_StepDetect, $GUI_UNCHECKED)
            $StepDetectFlag = 0
        Case $sys_StepDetect = 1
            GUICtrlSetState($cb_StepDetect, $GUI_CHECKED)
            $StepDetectFlag = 1
        Case $sys_StepDetect = -1073807346
            _GUICtrlRichEdit_SetCharColor($e_Console, Dec("0000b2")) ; Red
            _GUICtrlRichEdit_AppendText($e_Console, "**Step Detection ERror: The given session or object reference is invalid." & @CRLF)
    EndSelect

    ; ----------------
    ; FORM:BORD? ---- Byte Order Check
    $sys_FORMBORDQ = _viExecCommand($h_instr, "FORM:BORD?", 10000)
    If $sys_FORMBORDQ = -1073807346 Then
        _GUICtrlRichEdit_SetCharColor($e_Console, Dec("0000b2")) ; Red
        _GUICtrlRichEdit_AppendText($e_Console, "**Byte Order Error: The given session or object reference is invalid." & @CRLF)
    Else
        _GUICtrlRichEdit_SetCharColor($e_Console, Dec("004c00")) ; Dark Green
        _GUICtrlRichEdit_AppendText($e_Console, "Byte Order: " & $sys_FORMBORDQ) ; Data Format = NORM / SWAP
    EndIf
    ; ----------------
    ; FORM:DATA? ---- Data Format Check
    $sys_FORMDATAQ = _viExecCommand($h_instr, "FORM:DATA?", 10000)
    If $sys_FORMDATAQ = -1073807346 Then
        _GUICtrlRichEdit_SetCharColor($e_Console, Dec("0000b2")) ; Red
        _GUICtrlRichEdit_AppendText($e_Console, "**Data Format Error: The given session or object reference is invalid." & @CRLF)
    Else
        _GUICtrlRichEdit_SetCharColor($e_Console, Dec("004c00")) ; Dark Green
        _GUICtrlRichEdit_AppendText($e_Console, "Data Format: " & $sys_FORMDATAQ) ; Data Format = ASC<NR3> / REAL
    EndIf
    ; ----------------
    ; CAL:ZERO:TYPE? ---- CAL/ZERO Check
    $sys_CALZEROTYPEQ = _viExecCommand($h_instr, "CAL:ZERO:TYPE?", 10000) ; This query returns the current zeroing type, either “INT” or “EXT”.

    $sl_CALZEROTYPEQ = StringLeft($sys_CALZEROTYPEQ, 3)

    Select
        Case $sl_CALZEROTYPEQ = "INT"
            GUICtrlSetState($r_INT, 1) ; 1 = Checked, 2 = Indeterminate(Greyed), 4 = Unchecked, 64 = Enabled, 128 = Disabled
            $ZeroModeFlag = 1
            GUICtrlSetState($r_EXT, 4) ; 1 = Checked, 2 = Indeterminate(Greyed), 4 = Unchecked, 64 = Enabled, 128 = Disabled
        Case $sl_CALZEROTYPEQ = "EXT"
            GUICtrlSetState($r_EXT, 1)
            $ZeroModeFlag = 0
            GUICtrlSetState($r_INT, 4)
        Case Else
            _GUICtrlRichEdit_SetCharColor($e_Console, Dec("0000b2")) ; Dark Red
            _GUICtrlRichEdit_AppendText($e_Console, "**CAL/Zero Check Error: The given session or object reference is invalid." & @CR)
    EndSelect
    ; ----------------
    ; DET:FUNC? --- Measurement Mode Check - AVERage (chopper-based measurement)or NORMal(sample-based measurement)
    $sys_DETFUNCQ = _viExecCommand($h_instr, "DET:FUNC?", 10000)

    $sys_DETFUNCQ_sl = StringLeft($sys_DETFUNCQ, 4)

    Select
        Case $sys_DETFUNCQ_sl = "AVER"
            GUICtrlSetData($combo_Mode, "AVG only")
        Case $sys_DETFUNCQ_sl = "NORM"
            GUICtrlSetData($combo_Mode, "Normal")
        Case Else
            _GUICtrlRichEdit_SetCharColor($e_Console, Dec("0000b2")) ; Dark Red
            _GUICtrlRichEdit_AppendText($e_Console, "**Measurement Mode Error: The given session or object reference is invalid." & @CRLF)
    EndSelect
    ; ----------------
    ; INIT:CONT? ---- Single or Continuous Trigger
    $sys_INITCONTQ = _viExecCommand($h_instr, "INIT:CONT?", 10000)
    Select
        Case $sys_INITCONTQ = 0
            GUICtrlSetData($combo_TrigMode, "Single Trig")
        Case $sys_INITCONTQ = 1
            GUICtrlSetData($combo_TrigMode, "Cont Trig")
        Case $sys_INITCONTQ = -1073807346
            _GUICtrlRichEdit_SetCharColor($e_Console, Dec("0000b2")) ; Dark Red
            _GUICtrlRichEdit_AppendText($e_Console, "**Trigger Mode Error: The given session or object reference is invalid." & @CRLF)
    EndSelect
    ; ----------------
    ; AVER:COUN:AUTO? --- Automatic Filter Length 1=Auto, 0=Manual  **If set to OFF, AVER:COUN:AUTO? returns 0**
    $sys_AVERCOUNAUTOQ = _viExecCommand($h_instr, "AVER:COUN:AUTO?", 10000)
    $sys_AVERCOUNQ = _viExecCommand($h_instr, "AVER:COUN?", 10000)
    Select
        Case $sys_AVERCOUNAUTOQ = 0
            GUICtrlSetData($i_AvgCount, $sys_AVERCOUNQ)
            GUICtrlSetData($combo_AvgMode, "Manual")
        Case $sys_AVERCOUNAUTOQ = 1
            GUICtrlSetData($i_AvgCount, $sys_AVERCOUNQ)
            GUICtrlSetData($combo_AvgMode, "Auto")
        Case $sys_AVERCOUNAUTOQ = -1073807346
            GUICtrlSetData($i_AvgCount, 0)
            _GUICtrlRichEdit_SetCharColor($e_Console, Dec("0000b2")) ; Dark Red
            _GUICtrlRichEdit_AppendText($e_Console, "**Automatic Filter Length Error: The given session or object reference is invalid." & @CRLF)
        Case Else
            _GUICtrlRichEdit_SetCharColor($e_Console, Dec("0000b2")) ; Dark Red
            _GUICtrlRichEdit_AppendText($e_Console, $sys_AVERCOUNAUTOQ & @CRLF)
    EndSelect
    ; ----------------
    ; FREQ? ---- Queries Frequency
    $sys_FREQQ = _viExecCommand($h_instr, "FREQ?", 10000)
    If $sys_FREQQ = -1073807346 Then
        _GUICtrlRichEdit_SetCharColor($e_Console, Dec("0000b2")) ; Dark Red
        _GUICtrlRichEdit_AppendText($e_Console, "**Frequency Check Error: The given session or object reference is invalid." & @CRLF)
        Return
    EndIf
    $ActFreq = Number($sys_FREQQ)
    $slFreq = StringLen($ActFreq)
    Select
        Case $slFreq < 4
            GUICtrlSetData($i_Frequency, $ActFreq)
        Case $slFreq > 3 And $slFreq < 7
            $CorrectedFreq = StringTrimRight($ActFreq, 3)
            GUICtrlSetData($i_Frequency, $CorrectedFreq)
            GUICtrlSetData($combo_Measurement, "kHz")
        Case $slFreq > 6 And $slFreq < 10
            $CorrectedFreq = StringTrimRight($ActFreq, 6)
            GUICtrlSetData($i_Frequency, $CorrectedFreq)
            GUICtrlSetData($combo_Measurement, "MHz")
        Case $slFreq > 9
            $CorrectedFreq = StringTrimRight($ActFreq, 9)
            GUICtrlSetData($i_Frequency, $CorrectedFreq)
            GUICtrlSetData($combo_Measurement, "GHz")
    EndSelect
    ; ----------------
    $sys_CONFQ = _viExecCommand($h_instr, "CONF?", 10000) ; Returns “<function> <expected_value>,<resolution>,<(source list)>”
    $sr_CONFQ = StringReplace($sys_CONFQ, " ", "|")
    $sr2_CONFQ = StringReplace($sr_CONFQ, ",", "|")
    $sr3_CONFQ = StringReplace($sr2_CONFQ, """", "")

    $aCONF = StringSplit($sr3_CONFQ, "|")
    $vCommandFunc = $aCONF[1]
    $vPowerLevel = Number($aCONF[2])
    $vResolution = $aCONF[3]
    $vSourceList = $aCONF[4]
    _GUICtrlRichEdit_SetCharColor($e_Console, Dec("004c00")) ; Dark Green
    _GUICtrlRichEdit_AppendText($e_Console, "Command Function: " & $aCONF[1] & @CR)
    _GUICtrlRichEdit_SetCharColor($e_Console, Dec("004c00")) ; Dark Green
    _GUICtrlRichEdit_AppendText($e_Console, "Expected Power Level: " & $vPowerLevel & " dBm" & @CR)
    _GUICtrlRichEdit_SetCharColor($e_Console, Dec("004c00")) ; Dark Green
    _GUICtrlRichEdit_AppendText($e_Console, "Resolution: " & $vResolution & @CR)
    _GUICtrlRichEdit_SetCharColor($e_Console, Dec("004c00")) ; Dark Green
    _GUICtrlRichEdit_AppendText($e_Console, "Source List: " & $vSourceList & @CR)
    ; ----------------
    $s_DEVQ = _viExecCommand($h_instr, "TEMP?", 10000)
    $Conv = $s_DEVQ * 1.8 + 32 ; Convert Celsius to Fahrenheit
    $s_DEVQ = StringLeft($Conv, 4)
    _GUICtrlRichEdit_SetCharColor($e_Console, Dec("004c00")) ; Dark Green
    _GUICtrlRichEdit_AppendText($e_Console, "Temp F: " & $s_DEVQ & @CR)
EndFunc   ;==>_Startup

Func _MeasurePower($e_Measurement)
    _viExecCommand($h_instr, "INIT:CONT ON", 10000)

        $sys_MeasurePower = _viExecCommand($h_instr, "FETC?", 10000)
        _GUICtrlRichEdit_SetCharColor($e_Console, Dec("0000b2")) ; Red
        _GUICtrlRichEdit_AppendText($e_Console, $sys_MeasurePower)
        $num_MeasurePower = Number($sys_MeasurePower)
        $sl_MeasurePower = StringLeft($num_MeasurePower,6)
        _GUICtrlRichEdit_SetFont($e_Measurement, 15)
        _GUICtrlRichEdit_SetText($e_Measurement, $sl_MeasurePower)
        _GUICtrlRichEdit_SetFont($e_Measurement, 15)
        $sys_MeasurePower = ""

    GUICtrlSetBkColor($b_Status, $COLOR_RED)
    ;$StandbyFlag = 0
EndFunc   ;==>_MeasurePower




; ******Internal Functions*******
Func _Number_AddSep($iVal, $sSep = -1, $dSep = -1)
    If (Not StringIsInt($iVal)) And (Not StringIsFloat($iVal)) Then Return SetError(1)
    If $sSep = "" Or StringRegExp($sSep, "(?i)-1|default") Then _
            $sSep = RegRead("HKCU\Control Panel\International", "sThousand")
    If $dSep = "" Or StringRegExp($dSep, "(?i)-1|default") Then _
            $dSep = RegRead("HKCU\Control Panel\International", "sDecimal")
    Local $dVal = ""
    If StringIsFloat($iVal) Then
        $dVal = StringMid($iVal, StringInStr($iVal, "."))
        $iVal = Int($iVal)
        $dVal = StringReplace($dVal, ".", $dSep)
    EndIf
    Local $oVal = ""
    $cArray = StringSplit($iVal, "")
    For $I = UBound($cArray) - 3 To 1 Step -3
        $cArray[$I] = $sSep & $cArray[$I]
    Next
    For $I = 1 To UBound($cArray) - 1
        $oVal &= $cArray[$I]
    Next
    If StringLeft($oVal, StringLen($sSep)) = $sSep Then $oVal = _
            StringReplace($oVal, $sSep, "", 1)
    Return $oVal & $dVal
EndFunc   ;==>_Number_AddSep

Func _IsChecked($idControlID)
    Return BitAND(GUICtrlRead($idControlID), $GUI_CHECKED) = $GUI_CHECKED
EndFunc   ;==>_IsChecked

 

Link to comment
Share on other sites

  • 3 weeks later...

Thanks @Subz... Worked perfect! Sorry for the slow "Thank You" but our engineers have stopped developing our test software for us so I have been tapped to do it...which isnt really what is in my job description!! Too many projects, not enough time. Thankfully ive been making my test code modular with UDF libraries!!

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...