3/26/2024 Version 7.9.2.3 1. Immunity Test action: Fix issue where the INS_TELECOM_AFTER_MEAS event was not firing any associated scripts. 2. Immunity Calibration action: Add Calculations Tab, in order to support running equations and scripts. 3. CustomDriver.ins driver: Fix crash for some drivers when configured as the Default Instrument. The following drivers were affected by this issue: ag_35670, ag_mxa, ag_mxe, ag_mxe_rx, ag_PNA_Series_VNA, ag_psa, ag_X_S_series_scope, an_VectorStar_Series_VNA, ceyear_3915_series_rx, gi_tdemi_rx, gi_tdemi_sa, ivi_scope, ivi_specan, ks_8990B_PeakPoweranalyzer, rs_ESxS_series_rx, rs_fpc_sa, rs_ZNx_Series_VNA, siglent_ssa3000x_series,tek_RSA_6100_5100_series. 4. Project View updates: a. Add User Folders to improve organization of items in Project View. Right-click a folder and select New Folder from popup menu to add a new user folder. Then drag items of that type (e.g. data elements, instruments, graphs) into the new folder. User folders have blue icon to distinguish from native folders. b. Add multiple selection of items. c. Allow data items to be copy/pasted properly. d. Disallow actions to be copy/pasted (not currently supported from Project View- use the Flowchart instead). 5. Data View and Instrument View: When multiple items are selected for deletion, change dialog prompt to indicate that multiple items will be deleted instead of just one. 6. Explore Drivers Dialog: Add Include Function Table checkbox that determines whether the Search contents should search for the string in the Function Table. By default this will be off. Enabling this setting will allow searching all drivers for specific command strings. 7. Update Tile.pdf to revision N. 1/15/2024 Version 7.9.1.1 1. New Feature: TILE! Preview Handler a. TILE! profiles when viewed in Windows Explorer can be previewed using View->Preview Pane, or Alt-P. Profiles prior to ver 7.9.1 will show the TILE! version of the profile. If the profile is saved in 7.9.1.1 and higher with the Save Preview Image setting enabled, a snapshot of the profile will also be shown in the Preview. b. Add Save Preview Image setting to doc. This setting enables taking a snapshot PNG image of the profile view to save into the file, to allow the TILE! Preview Handler to display the image in Windows Explorer. It typically adds about 100-200k to the file size, so the setting can be disabled to save disk space. The default value for this setting is True. 2. ceyear_1652_series.ins driver: New driver supporting Ceyear 1652 Series Arbitrary Waveform Generator. 3. ivi_scope.ins driver: a. Retest R&S MXO44 with the release of RsMxo 1.4.1. b. Updates to accurately check for RsMxo prefix, which is "RohdeSchwarz.RsMxo" instead of "RsMxo". LeCroy (LcScope) specific updates: c. Add workaround when running AutoSet after a Reset. Needs added time before proceding to rest of test. d. Tested with LcScope 4.0.2 which resolved some of the original issues reported to LeCroy support. e. Tested with LXI connection. This works better than VICP because it allows multiple session connections so we can: 1. Use Validate button on IVI tab. 2. Use the VISA session for direct IO using Interactive Instrument Dialog and VISA action. LXI connection is made by specifying hardware asset using TCPIP resource descriptor in NI-MAX, and selecting LXI (VXI11) as the Remote Control setting on the instrument. Note: LeCroy support has indicated that a Maui firmware update 10.6.0.x will allow a VICP connection to make multiple session connections simultaneously. This release is scheduled for Jan 2024. f. When profile closes, close the VISA session associated with the IVI session. Not doing this prevented a VICP connection from working on subsequent profile loads. 4. maturo_ncd.ins driver: a. Add maturo_ncd.ins output for Maturo NCD controller to maturo_mcu project. NCD can have either GPIB or LAN connections, and if LAN needs the same NULL byte adjustments as FCU. b. Remove Simulation adjustments that compensated for NULL byte configs. Current versions of the Sim can support NULL byte writes. c. Update driver description string to include FCU and NCD. 5. rs_rcvr.ins driver: Change driver type from Unknown to Receiver. 6. ivi_rfsiggen.ins and ivi_fgen.ins drivers: a. Change driver type to SigGen so they are sorted correctly in Explore Drivers dialog and the Type is displayed correctly in Instrument View. b. Update ivi_fgen driver description so it is consistent with other Function/Arbitrary Waveform Generator drivers. 7. Reverb Test action: Fix problem selecting Frequency data using Set From Table (problem was introduced in (7.8.1.7). 8. Reverb Cal action: Update Iterators to include Receiver (Monitor) reads in the iterated sections, and calculate all receiver derived outputs for each iteration. This includes Monitor Max/Min/Avg, Q Max/Min, Load Factor Max, Estimated Field Max/Min. Data that is not iterated will still be duplicated in AutoGenerateData, but the values stored in each output are common. These outputs include Inject Pwr Fwd/Rev/Net, Positioner 1 and 2, Number of Points, SigGen, and Q. 9. Simulation 2.3.1.13 Fix issue with two Analyzer Sims active where 2nd SA does not respond to *OPC?. 10. Explore Drivers Dialog: Add Function Table to description display. This shows the "string table" entries for each driver. Most drivers (but not all) use this table as a starting point for generatng the SCPI ouput corresponding to each driver function. This feature may be useful for discovering a driver's command set and determining its compatibility with a specific instrument. 11. Scripting updates: a. Add new functions to aid with driver behavior discovery. 1. instrument_get_function_cmd(inst, function) This function returns the corresponding entry in the driver's string table for the specified function code, if it is present. This may help to show the underlying SCPI API that a particular driver is using. is a numeric code or string name of an internal driver function. The supported function names match the methods in a Custom Driver for a specific driver class, and also Event Handler event names. Note: Not all drivers use string tables, so the result for a given function may be an empty string, or may otherwise not represent the SCPI command that the driver will use for that function. 2. instrument_get_function_name(inst, function_code) This script function returns the string name of a driver function that corresponds to the numeric in the input parameter. 3. instrument_get_function_code(inst, function_name) This script function returns the numeric code of a driver function that corresponds to the string in the input parameter. b. Update instrument_do_query to accept both numeric function codes and string function names in the function input parameter: instrument_do_query(inst, function). Previously the input only accepted string names. This change makes it consistent with instrument_do_function, which already accepts both numeric and string types. c. For script functions that display text in a dialog, prevent the dialog from becoming full screen when the displayed text is an empty string. Functions affected: popup, message_ok, message_ok_ex, message_yesno, message_yesno_ex. d. Fix file_save and folder_save functions to output CSV files in same format as XferData action and Export from data view (CRLF line termination and CRLF at end of file). 11/27/2023 Version 7.9.0.2 1. ivi_scope.ins driver: a. Fix Vertical AutoScale issue that could toggle between 2 ranges and not settle on some scope models. b. Fix issue where initial horizontal timebase is not set properly if Immunity or ImmCal is run immediately after Reset. c. Fix issue where hoizontal timebase may not be set properly following a driver error on previous call. 2. ceyear_2438_series.ins driver: New driver to support Ceyear 2438 Series Power Meter. 3. CPeaksPSA action: Fix issue that prevented SigGen and Switch instruments from being selected. 4. Graph updates: Fix Comments boxes (1, 2 and 3) Background and Text Color settings not working. 5. Simulation: Update Cmd Config files with EMCenter drivers to support EM8 and Sim EXE formats. 6. Event Handler: Add SG events to Event Handler for actions where they were missing: CPeaks, CPeaksPSA, MPeaks, Polar, Switch_E. 11/17/2023 Version 7.9.0.1 1. IVI updates (all ivi drivers): a. Add ID Query setting to IVI tab. This allows disabling the IDQuery setting to ivi_init when Validate is pressed, or Instrument is re-initialized. it does not affect the init call made when profile loads (setting is False to allow driver to avoid IO during load). b. Fix issue where IVI session could be lost when Instrument is Edited and closed, even if no changes were made. 2. ivi_scope.ins driver: a. Fix invalid points error observed on some drivers/models. b. Re-validated on Agilent MXO-X 3024A (AgInfiniiVision). c. Add support for R&S MXO44 (RsMxo). Valid RsMxo versions: 1.2.0, 1.3.2, 1.4.1 or higher. Invalid RsMxo version: 1.4.0- DO NOT USE this version. d. Add support for LeCroy WaveRunner/WavePro (lcscope). Contact TILE! Support for configuration steps and known issues. e. Add Channel and Trigger Source settings for channels 5 to 8. 3. ivi_pwrmeter driver: New IVI driver for PwrMeter class instruments. a. Using ivi_pwrmeter.ins requires additional installers by user: 1. NI IVI Compliance Package (tested with 22.5) 2. Vendor's Specific IVI Driver (all types supported: IVI-C, IVI-COM, IVI.NET) b. Tested instruments/drivers: 1. Agilent E4419B EPM (KtRFPowerMeter driver 2.1) 2. Rohde and Scwharz NRP2 (RsPwrMeter driver 2.30.0) 4. rs_fsp.ins driver: a. Fix issue reading marker on QP or Avg traces: marker was not moved to correct trace in SA_MrkToPk event. b. Fix issue where stale start/stop frequencies were sent in SA_TakeSweep when zero span mode is active. 5. EMCenter updates for EMControl and EMPower: a. Add support for use in EM8. b. Fix issue where Port Char was not changing if user edited Device or Channel after profile load. 6. CustomDriver.ins driver: a. Add Probe to supported driver types. b. Add NA_ methods to the VectorNetworkAnalyzer driver type template. These methods are called by the DirectRead (Setup/Read) action. 7. hp_epm4419/ag_epm driver: Update string table to support instrument_do_query for PM_SetFreq. 8. Reverb Cal action: Add missing data elements to Auto Generate Data feature when using Probe Iterator. Previously only Probe data outputs were Auto Generated. 9. Immunity Test and Reverb Cal actions: Refactor Iterators and improve performance for AutoGenerateData. 10. Add File Other and Folder data type selection in Property View. This allows access to the Path property of these types in scripting. 11. Simulation: Update PM Cmd Config to support querying frequency setting for ag_epm. 12. Script editor: Fix autoformat for multiple case statements. 13. Update VC redistributable to version 14.36.32532 with VS2022 17.7.4. 9/22/2023 Version 7.8.2.5 1. siglent_sdg_series.ins: New Driver a. Driver supporting Siglent SDG Series function/arbitrary waveform generators. b. Tested with SDG2122X, firmware 2.01.01.37R6. 2. ivi_fgen.ins: New Driver a. IviFgen class driver supporting Waveform/Arbitrary Function Generators. Using ivi_fgen.ins requires additional installer(s) by user: 1. NI IVI Compliance Package (tested with ver 22.5) 2. Vendor's Specific IVI Driver (all types supported: IVI-C, IVI-COM, IVI.NET) b. Tested instruments/drivers: a. Siglent SDG2122X (sdg driver ver 1.0.2). b. Keysight 33622A (Ag3352x driver ver 2.4.2). c. Known issues with this release (all issues reported to vendors for resolution): a. SDG modulation waveform types are out of sync: Sine results in Square, Square results in Triangle, and Triangle results in Ramp Up. b. SDG arb functions do not work correctly (errors on data transfer). c. Some Ag33522x modulation settings are sent to both channels, when they could be channel specific. d. Arb function notes using XferData action: As with all FG/Arb drivers in TILE!, the arb functionality is supported by using the Arb Waveform tab of the Trasnsfer Data (XferData) action. The data element selected in the ARB Data will use the amplitude values sent to the instrument normalized to +- 1.0, with a gain setting equal to (max - min) / 2, where max and min are the highest and lowest values of the data set. If the instrument reports an out of range error due to too high of an Amplitude, adjust the data values accordingly. The offset value is set to 0, so if an offset other than that is desired, the data values can be adjusted accordingly, or set Offset directly using VISA. Setting frequency or sample rate is not currently supported, but could be done with direct VISA calls to the instrument. 3. ag_33500.ins driver: a. Add new Init Action setting, with options Reset, Autorange Lock, Autorange On, Autorange Off, and Do Nothing. If Autorange Lock or Off is selected, the instrument disables the default autorange behavior and will no longer autorange when needed. The user can use this feature to manually set the output level, then call Init with Autorange Lock, and the instrument will then be locked into its current range until it is reset or power cycled, or the Initalize action is run with a different setting (Reset or Autorange On). According to the user manual: "Disabling autoranging eliminates momentary disruptions caused by attenuator switching while changing amplitude." This feature was added to satisfy SR-2023-1A0AE. b. Add *IDN? query for documetation in logs. c. Fix Arbitrary Waveform support using XferData action. d. Add GetAlias to support instrument identification and driver selection using Explore Drivers dialog. e. Wait for *RST to complete before continuing init sequence (takes several seconds). f. Copy driver output to ks_336xx_series.ins. 4. ETS_EMSense10.ins driver: Fix issue using DirectRead action following completion of ReverbTest. Axis setting stayed set from final read in Reverb (usually Z) instead of using the configured Driver Axis Setting (e.g. Default or Composite). 5. rs_fsp.ins driver: a. Fix issue with FSP-38 scanning higher than 30GHz. This range requires setting the High Band filter setting (YIG filter is disabled). b. Add *IDN? and *OPT? queries to document instrument info in logs. c. Add test for INP:FILTER:YIG command support to determine if instrument has the high/low band option. d. Send Stop Freq before Start Freq. e. Improve trace completion algorithm, which fixed an issue waiting for long sweep times to complete. f. Add support for MRangeEx. 1. Adds dual trace/detector support. 2. Adds use of Sweep Count setting to set Number of Sweeps > 1. 6. wavecontrol_smpX.ins driver: Change Baud rate from 115200 to 230400. This will work for both fiber optic and direct USB connections. 7. IVI driver updates (ivi_fgen, ivi_rfsiggen, ivi_scope): a. Add Group Capabilities, Instrument Vendor, Instrument Model, and Instrument Firmware Version properties to all 3 drivers. b. Improve IVI simulated behavior. VISA session is not opened when no physical instrument is present (attempting to do direct Write in Insturment Interactive Control dialog or in scripting avoids confusing "empty VISA resource" dialog, returning an error instead. 8. Skip prefixing of EMCenter drivers for raw socket connections. This prepares drivers like EMSense to support the new 8 slot chassis with direct raw socket TCP connections to each module. 9. Scripting updates: a. instrument_do_query returns empty string if no command is available from driver string table. This function is primarily used in Interactive Instrument Panels. b. Fix issue that caused some scripting functions such as folder_create to fail on network drives. c. Fix issue where SG_AmWaveTriangle and SG_FmWaveTriangle events were not callable from instrument_do_function. 10. Simulation 2.3.1.12 a. Improve overall peformance for threaded (non sequential) IO access. b. Update PwrMtr Simulator to support immediate response to ReadPt command by adding capture group syntax to Primary Search string. This provides option for fast response time as tradeoff to possible data synch issues with connected SigGen. Although this was done specifically for EMSense10 testing with Reverb Test, this feature could be utilized by any PM or Probe driver. c. Update PM Cmd Config.csv file to add fast response syntax to EMSense10. Also update all EMCenter drivers in this file so that prefixing characters are optional. 7/31/2023 Version 7.8.2.3 1. ETS_EMPower.ins driver: a. Add support for 7002-009 a. FREQUENCY is set using Hz instead of all other models that use kHz. b. FILTER setting is numeric only (no AUTO) and has range 1..12 instead of 1..7. b. Add *IDN? query on init to identify model. This feature is needed now since not all models use the same API. The driver will dynamically adjust the Filter setting options listed based on the detected model. c. Add EMPower Settings property group. 1. New property setting Default Frequency ensures that a FREQUENCY command will be sent to the sensor if the first access is from Read Monitor action. The units of Default Frequency are Hz for all model types. Set this property to 0 to skip sending a default frequency. The default frequency is also sent when calling the Initialize Instruments action, even if it was previously sent. 2. Several properties are read from the sensor and displayed as read only, including Model Type, ID Number, SW Version, Min and Max Frequency (varies by model type). 2. ETS_8100_Amp_Series.ins: a. Update 8100-033 info from 2-band to 3-band, with switch frequencies at 26.5GHz and 31.5GHz. b. Add 8100-101 to -129 model types (no 106 or 116). 3. Wavecontrol_smpX.ins driver: a. New driver for Wavecontrol SMP2 and SMP3 field probe meters. b. Instrument uses custom XML format for receiving commands and sending responses. The driver overwrites Write/Read methods to handle custom processing, which allows VISA action and Instrument Interactive Control dialog to write any valid command such as INFO_SYSTEM, GET_SAMPLE, BATTERY_INFO, and it will be correctly formatted into XML as the SMP expects. Custom format of : attempts to parse the requested field out of the result string, and will overwrite the actual SMP response string in output buffer with just this field's value. Using this format, the "?" is supported (optional) on query commands to create a pseudo SCPI query syntax. Examples: Query "GET_SAMPLE:VALUE?" to retrieve the value field from GET_SAMPLE response. Query "INFO_SYSTEM:DEVICE?" to retrieve the device type (SMP2 or SMP3). Query "BATTERY_INFO:charge_mah" to retrieve the current charge in mA/h. Refer to the SMP2 and SMP3 user manuals for other valid command/field combinations. c. Tested with SMP2, firmware ver. 2.3.7. 4. Lumiloop_lspm.ins driver: Fix Instrument Type to display as Power Meter instead of Probe. 5. Immunity Test action: Extend the First Offset and First Step Tries settings to apply to the following scenario: a) Use Previous Amp for Best Guess is enabled, and Best Guess Amp data is not set. b) The action starts in Manual Mode or is Paused on the first frequency step before leveling completes, and then Next is pressed to increment to a subsequent frequency step. When the action is in this state, there is no previous amplitude data available to refer to. To compensate for this, the First Step Offset and Tries settings on Freq Steps 3 tab are utilized instead of the normal Offset and Tries settings on the Leveling tab, even though the action is no longer on the First Freq Step. 6. Measure Peaks and Scan Peaks actions: Add Use Avg Detector for Analyzer setting. This setting enables the Avg Detector in final measurement when Average Output is enabled and an SA mode driver is in use (e.g. ag_mxa, rs_esu_sa, rs_fsv). For MPeaks the setting is on the Avg Parameters tab and properties group, and for CPeaks the setting is on the Parameters tab/properties group. Note: When the setting is disabled (legacy behavior), the Peak trace detector is used for an analyzer with VBW set to 1 Hz. Multiple readings are taken and the results are averaged to produce the final measurement value. When the setting is enabled and multiple traces are enabled, the max value of all readings is used for the final measurement result. 7. Explore Drivers dialog: a. Fix bug that caused some drivers to be associated with incorrect vendor. An example of this was the dsi drivers displaying as Stanford Research instead of Dynamic Sciences. b. Add Wavecontrol vendor. c. Fix vendor association for waveXXX drivers. Should be Wavetek, but they were listed as Wave Factory. 8. Save recent file list to registry immediately after file is opened. Normally this is done only when TILE! exits. This ensures the file list has been updated for subsequent runs, even if TILE! crashed on the previous run. 9. Improve Save As dialog algorithm for detecting valid filename extensions. This fixes an issue where a version string appended to the filename could lose the last digit, e.g. filename_7.8.2 would be saved as filename_7.8.til. 7/5/2023 Version 7.8.1.10 1. rs_esu_sa and rs_esu_rx drivers (includes all derived drivers e.g. rs_esw, rs_esl, rs_esr): a. Update Screen Capture feature using XferData action to fix some syntax and filepath issues. b. Improve Screen Capture algorithm so directory check does not generate instrument errors if directory already exists. c. Fix inifinite loop when doing single point reads (e.g. in Immunity) when reading drops below -120 dBm (_sa drivers only). 2. rs_fsv.ins driver: a. Fix trace state commands when called from MeasurePeaks or ScanPeaks final measurements. The driver was incorrectly disabling the trace in this part of the test. b. Fix *IDN? formatting string to parse reply if it contains spaces. 3. lumiloop_lspm.ins driver: a. New Driver for Lumiloop LSPM power meters. Tested with LUMILOOP LSPM 1.0, LSPM Firmware 8980. The LSPM_1.0_TCP_Server.exe program must launch before sending commands (default driver setting launches the Server EXE when profile loads). That program runs in a command prompt and shows status of the PM, such as #connected clients to the server, current channel status of the PM, current mode of the PM, etc. 4. ag_psa.ins driver: a. Skip POW:GAIN commands if preamp options are not installed. b. Add Screen Capture using XferData action. 5. Immunity Test action: a. Improve shutdown behavior for Finished and Cancel buttons, preventing possible UI lockup scenarios when pressed too fast after entering Manual Mode. b. When a calibration data error occurs for PM1 with Probe Cal enabled, enter Manual Mode after closing error dialog. 6. Fix issue when Save As dialog is used to save a profile name that includes a period but does not include the .til extension. Before this fix the text after the last period in filename was truncated (assumed to be the extension) and replaced with .til. 7. Driver configuration behavior changes: a. Fix issue introduced in TILE! 7.8.0.6 that caused initial driver setting selections to be lost after the first driver edit is completed. b. Fix the root issue that was trying to get fixed in 7.8.0.6, where the initial driver was released and then a new driver was created when pressing OK. This was causing problems for drivers like btn_rtp_series which had already stored internal session info in the first driver instance. 8. Scripting updates: a. Add script_generate_io_parameters function to generate script IO params via script. b. Update global_item_store to work for numeric values. Previously this function only worked for non-numeric types such as the stopwatch variable. c. Fixed bug with data_load_file function. The function was not loading data from the specified path. 9. Tile.pdf help file: Update to rev M. 10. Simulation: When LVRTE is missing, update the LV_2020_RTE download link to point to the new support portal. 11. Updated graphing routines to properly detect and move an undrawable data point closer to the plot. This is to fix an issue where a point was being improperly moved so that it was in the drawing context of a device. The issue/bug caused the visible plotted line to be skewed because the destination point that is offscreen was moved to the wrong location by a simple integer bounds check. 4/8/2023 Version 7.8.1.7 1. Dare_RadiSense10_40.ins driver: a. Change default value for Cal Corrections setting to Disabled. b. Do not force Cal Corrections to be enabled. 2. siglent_ssa_3000x_seriess/sva_1000x_series.ins drivers: a. Fix issue when using as Power Meter. Was sending invalid command ":SWE:TIME:AUTO". Change to ":SENS:SWE:TIME:AUTO ON". b. Tested with firmware 3.2.2.6.0R4.r20 (beta) on SVA1015X. This fixes two significant issues that we have reported to Siglent: 1. Sending repeated commands without changing the parameter produced error -200,"Execution Error". 2. DoPowerSetup sequence called from ImmCal or Immunity would produce a failed completion trace after 43 freq steps (*ESR? query response never changes to "1"). After this the instrument needed to reboot to clear the failure condition. Customers running currently released firmware 3.2.2.5.1R1 may still see these issues on SSA3000X Plus, X-R, and SVA1000X. c. Add Sweep Mode setting. Options: Auto, Sweep (default), FFT, and Do Not Set Note: Previous behavior was Do Not Set, as the SWE:MODE command was never sent by the driver. This setting determines which Sweep Mode to set the analyzer to during the Init sequence or driver first access. It was determined in testing that the Siglent *RST state (Sweep Mode Auto) would not always be able to accept other settings such as manual sweep time. With the addition of the new setting and the default sweep mode = Sweep, the possibility of settings conflicts is minimized. If the user changes the Sweep mode to Auto or FFT, they should validate that their other settings (sweep time in particular) are also being accepted by the instrument. Siglent support has indicated they do not think this is an issue or behavior they intend to change. ETS-Lindgren recommends leaving the Sweep Mode set to Sweep for best results. d. Change InstInit action reset command from *RST to SYST:PRES. This allows user to define a user state to reset instrument, including sweep mode, frequency start/stop, bandwidth, etc. 3. CustomDriver.ins: a. Add Monitor Driver Type for an EUT Monitor template. This template provides the methods used by the EMMonitor API and is useful for communicating with external EUT software applications. b. Fix issues with DoInstQuery return value discovered while testing TLCM_MeasFinished method with new Monitor Driver Type. 4. Scripting updates: a. Add do_function as shorthand call to instrument_do_function in general scripting context (non-CustomDriver). Ex: do_function(inst, function, val, 0, 0) b. Add do_function as shorthand syntax for instrument_do_function in CustomDriver scripts. Ex: do_function(function, val, 0, 0) c. Fixed a scripting bug which could cause a crash during cleanup. d. Add stopwatch functions to scripting: stopwatch_create, stopwatch_start, stopwatch_stop, stopwatch_reset, stopwatch_restart, stopwatch_start_countdown, stopwatch_is_expired, stopwatch_is_running, stopwatch_get_elapsed, stopwatch_get_elapsed_sec Example: sw = stopwatch_create(0) stopwatch_start(sw) delay(1000) time_ms = stopwatch_get_elapsed(sw) //time_ms = 1000 or 1001 time_sec = stopwatch_get_elapsed_sec(sw) //time_sec = 1 or 1.001 e. Add global_item_store function to store global items that can be shared accross scripts. This is useful in context with the new stopwatch functions to perform timing operations from separate scripts in the profile. Example: Script 1 sw = stopwatch_create(0) global_item_store("sw1", sw) stopwatch_start(sw) //between running Script 1 and Script 2, run the action or operation that is to be timed Script 2 sw = get("sw1") time = stopwatch_get_elapsed(sw) //get elapsed time in ms 5. Ignore/Replace Command udpate: Add ignore case ability for regex matches. Add the ignorecase flag after the regex prefix separated by '|' pipe. Ex: regex|ignorecase 6. InstCmd action: Remove Instrument Wrapper properties. Too many crashes and profile corruptions when trying to enable these settings. 7. Simulation: Add siwi_swspa RESET command to Amplifier Cmd Config file. 8. TILE! Installer: Update the LV_2020_RTE download link to point to the new support portal. 2/15/2023 Version 7.8.1.6 1. siwi_swspa.ins driver: a. New driver for SIWI SWSPA amplifier. The SIWI SWSPA is a tunable attenuation amp driver which can control different output power levels under SG Mode. SG Mode allows the amplifier driver to be used in the SigGen slot of an action (like Immunity Test). In this mode, RF Level events are translated into attenuation values using a transfer function that is tunable using the two SG Mode driver settings. b. Driver Settings: Attenuation at Init: sets the attenuation value when running the INIT Action. Max Attenuation (SG Mode): sets the max attenuation value. Input Pwr at Max Atten (SG Mode): sets the input RF Level power that corresponds with the max attenuation. For example, when this setting is -40dBm and the Max Attenuation setting is 50dB: If the input level is less than or equal to -40dBm, the attenuation will be 50dB. If the input level is -35dBm (-40dBm + 5), the attenuation will be 45dB (50dB - 5). 2. ag_psa.ins driver: a. Fix some driver modes that worked in old ag_e444x drivers but not in ag_psa. b. Change trace completion algorithm to polling using *ESR?. c. Fix some driver setting conflicts and error conditions detected in EMC mode. In particular, check for external Preselector connection during init and avoid non-supported commands when not present. d. Add new Setting to allow user selection of instrument personality/mode = Default, SA, or EMC (when option 239 is present). Default option retains the previous driver behavior: If Option 239 is not present, uses SA personality. If Option 239 is present, uses EMC personality for all Peak Detector settings except for MIL Peak. If Option 239 is present, uses SA personality when MIL Peak is selected. 3. siglent_ssa3000x_series.ins driver: a. Updated to support SSA3000X Plus/SVA/X-R Series models. 1. These models require *OPC command added after INIT:IMM, before beginning *ESR? queries. 2. Added Alias entries for SSA3000X Plus, SSA3000X-R, and SVA1000X models. 3. Copy driver output to siglent_sva1000x_series.ins. 4. Tested driver updates on SVA1015X, firmware 3.2.2.5.1R1. Siglent engineering indicated that the INIT:IMM;*OPC change should work OK on all models/firmware versions that we intend to support. Many of these versions however have not been tested with the update. b. Call CheckFirmware (which does *IDN? query) on every InstInit action call (previously was done only on driver first access). This will put the model/firwmare info into most IO logs that are acquired during a test run. c. Fix issue with *ESR? completion. AND the result to look specifically at completion bit 0 instead of result of "1". This was causing completion event to be missed on fast traces where first *ESR? read included higher order bits in result as well as bit 0. 4. rs_sml.ins driver: Removed AM binning (SR-2023-F3FC4). AM frequency is now passed directly to instrument. 5. ETS_EMSense40.ins driver: a. New driver output, copy of ETS_EMSense10.ins. b. EMSense40 probe is functionaly equivalent to EMSense10, so only changing description and resource strings (e.g. EMSense10 -> EMSense10/40). 6. Dare_RadiSense40.ins driver: a. New driver output, copy of Dare_RadiSense10.ins. b. RadeSense40 probe is functionaly equivalent to RadiSense10, so only changing description and resource strings (e.g. RadiSense10 -> RadiSense10/40). 7. btn_rtp_series.ins and ar_psp_series.ins drivers: a. New driver (based on btn_pmx40). ar_psp_series.ins is binary copy of btn_rtp_series.ins. Supports direct connection to Boonton RTP Series and AR PSP Series sensors over USB. These sensors do not have a direct SCPI interface over VISA. Instead we must use a vendor supplied DLL (PwrSnsrLib32.dll) and custom API to communicate. The API does provide SCPI write/read functions however which allow us to "virtualize" a SCPI-like interface and implement logging features. A driver setting enables or disables the logging feature. The SCPI commands used are documented in the PMX40 programming manual. The driver configures sensors using a Sensor Resource combo box in the Properties View. All currently detected resources will be shown in the dropdown. Once a resource is selected for an Instrument, it will not be available for selection in other Instruments. Each Instrument in a profile must have its own unique Sensor Resource for multi-sensor systems. Selecting a Sensor Resource will immediately query the sensor and display its Model and Serial Number for identification. b. Tested with RTP 4106 and AR PSP102 sensors. Firmware ver (for both): 20191202 RTP 4106 *IDN? response: Boonton Electronics,RTP4106,9992,20191202 AR PSP102 *IDN? response: Boonton Electronics,PSP102,582500,20191202 c. TILE! installer puts a copy of the required PwrSnsrLib32.dll in the TILE! app directory. Note this same DLL comes installed with the Boonton Power Analyzer software which is supplied with a Boonton sensor purchase. Boonton Power Analyzer and TILE! cannot access the sensor(s) at the same time. 8. Fix potential crash when enabling Enable Error Query mode in the following drivers: ag_mxe, ag_mxe_rx, rs_esu_rx, rs_esu_sa, rs_fpc_rx, rs_fpc_sa, rs_nrp, siglent_ssa3000x_series. 9. Immunity Test action: a. Properties updates so that scripts/sequences do not have to select the Monitor Group before accessing Monitor properties beyond the first 10 monitors. b. Add new Instrument Switching settings. Instrument switching checks were previously done automatically with no user intervention or behavior customization. Instrument Switching occurs when any Event Action or Iterator has changed an "output" instrument (SigGen or Amplifier). An output instrument change usually requires some additional commands to be sent to leave the system in a valid state: a. Turn off the old instrument (Old Off). b. Turn on the new instrument (New On). c. Set the current test frequency for the new instrument (New Frequency). Each of these functions now has a dedicated setting to determine whether the function is performed. For instance, when changing from one SigGen to a different SigGen in an Iterator, the SigGen Switching Old Off setting can be set to False to leave the first SigGen On (then both SGs will be on at the same time). These additional settings have the following behavior: All Off on Finalize: When the action has completed, if this setting is True then all instruments (SigGen or Amplifier) will be turned Off. Note that if Old Off is True, this feature is likely not needed. SigGens/Amps On/Off in Test: This setting is a numbered list of specific instruments to send On/Off commands to while the test is in progress (usually in Manual Mode). For example when the action is Paused and the SG would normally be turned off, an entry of "1" will ensure that the first SG is turned off, even if the action has iterated to another instrument. Use the format "1;2;3..." to specify which instruments to turn On/Off during the test. This is a similar format to the default entry for an Iterator's Data Tag setting. c. Rearrange properties in Actions and Iterators group for better organization. All Actions are grouped together, followed by the new Instrument Switching group (which affects both Actions and Iterators), followed by Iterators. 10. Scripting update: Add get_tickcount function to get high resolution tickcount in units of ms. Returns number of "ticks" since PC was turned on, but down to ms resolution. This function can be used to calculate time durations by calling multiple times and subtracting the difference. Example: t1 = get_tickcount(0) delay(1500) t2 = get_tickcount(0) tdiff = t2 - t1 //tdiff should be close to 1500, eg. 1500 to 1502. 11. Probe API updates: These changes were needed primarily for Reverb actions, but all probe actions received corresponding updates. The updates affect these drivers: ar_fm7004, ETS_EMSense, ETS_EMSense10/40, Dare_RadiSense10/40, ets_probe, hi6100, Lumiloop_LSProbe And these actions: Reverb Test/Cal, Immunity Test/Cal a. Add new event PBE_SET_FREQ. This replaces the previous functionality of the PBE_TRIGGER event. This event name better reflects what it is being used for. For many probe drivers it was (and will continue to be) a no op. b. Re-implement PBE_TRIGGER event to trigger the probe by moving the query command from ReadPt into PBE_TRIGGER. Allows driver to do a single probe reading and then return the cached result for each GetX/Y/Z/RMAX / ReadValue pair instead of having to re-query. This is primarily needed to make Reverb actions more efficient, but all probe actions were updated in conjunction with these changes. 12. Update About TILE! dialog copyright to 2023. 13. Simulation 2.3.1.8: a. Fix issue in License Dialog when no key is present- dialog could get locked up without being able to close. b. Update copyright to 2023. c. Add ar_fm7004 to PM Cmd Config.csv. d. Add Attenuation to Amplifier Sim. e. Add Amplifiers to Switch Config dialog's Output Connection dropdown. Also add additional sims to Input/Output Connection lists that were added in 2.3.1.5. f. Add ability to echo part of command back in Response Type for all sims. This uses the regex convention of $0 for entire match, $1 for first value match, and $2 for second value match. g. Update Amplifier Cmd Config.csv to support siwi_swspa driver. 14. Driver Configuration: Release temp driver object that is created during new driver config editor sequence. This issue was discovered during btn_rtp_series development which relies on the temp driver to be Uninitialized prior to the creation of the permanent driver object when Edit operation is completed. 15. Update VC redistriubtable to version 14.34.31931 with VS2022 17.4.3. 16. Explore Drivers Dialog: Add vendors for EMMonitor derived drivers: APx500 = Audio Precision DAQmx = National Instruments RadSens2 = OpSens 12/12/2022 Version 7.8.0.5 1. ETS_EMonitorAPx500.ins driver: New driver to support the new EMMonitor APx500 add-on module for the Audio Precision APx500 audio analysis software application. Requires separate installation available on support portal. 2. innco_CO3000.ins driver: a. Add device Not Referenced detection. Driver keeps track of each requested target value and compares the current position to the expected target when movement stops. If the current position is not at the expected target, this is flagged as the Not Referenced symptom and an error dialog is shown indicating the issue. b. Add error detection for documented error code responses such as "E - D" (device error). 3. Immunity Test action: a. Fix alignment issue for the "Use Previous Amp when Leveling failed on Previous Freq (no level mode)" label on Freq Steps 2 tab. It covers up its checkbox, but the checkbox appears and is still settable when moused over. The issue is therefore cosmetic and not a functional problem (problem was introduced in 7.8.0.4). b. Fix Trim Data bug introduced in 7.5.5.17. This caused the Trim Auto Data feature for Immunity Iterators to stop working. 4. Fix sorting crash in MathEz line objects. 5. Simulation: a. Add EMControl/2090 rotational limit commands CL and WL to Positioner Cmd Config.csv. b. Add btn_pmx40 commands to PM Cmd Config.csv. 11/16/2022 Version 7.8.0.4 1. Update TILE! Version to 7.8 for FY2023. 2. Update compiler to VS2022. 3. Update VC redistriubtable to version 14.32.31332 with VS2022 17.3.5. 4. Update installer to delete the most recently deprecated drivers: ag_XSeries_SSeries_scope_universal tdk_si300_chan2/3/4 ag_fieldfox ks_fieldfox ag_e444x drivers (see item 15) 5. Immunity Test action: a. Add new setting Read Monitors with Modulation On. This splits the previous functionality of Read Sensors with Modulation On into two separate settings. Read Sensors with Modulation On still controls Power Meters and Probes. Read Monitors with Modulation On affects only Monitor instruments. When previous version profiles load in the updated action, Read Monitors with Modulation On is set to the same value as Read Sensors with Modulation On, so as to preserve backwards compatibility. b. Add Field Probe Level data element and Save outputs. If Save is enabled, the Probe Leveling result is stored in this data element instead of in the Probe 1 data element. If Save is not enabled, the Probe Leveling output is stored in the Probe 1 data element (same behavior as in previous versions). c. Add Include In Leveling checkboxes for Probes 1-4. If Probe Leveling Method is set to Min, Max, or Avg, these checkboxes determine which Probe readings are used in the selected leveling alogrithm. Probes that are enabled but do not have Include in Leveling set will still be read and recorded. If Probe Leveling Method = Probe 1 (or 2,3,4) only one Include In Leveling checbox can be selected at a time. d. Change the default label for Probe 1 data element from "Current Probe" to "Field Probe 1". The "Current Probe" label is used when there is no Probe 1 instrument selected and there is a Level Monitor Instrument selected on the Injection Level tab. Previously only the Probe 1 instrument criteria was used to determine the label. This label will also change between "Field Probe" and "Field Probe 1" depending on whether the probe leveling result or the raw Probe 1 value is being stored in this output. 6. Immunity Cal action: Add Live Value Properties for current_index, current_freq, forward_power, and reverse_power. 7. Immunity Test and Reverb Test actions: Initialize Live Values so that scripts that use these properties can run without errors before the action's first run. This also allows drag and drop of the Live Values properties into script editors without having to run the action first to create them. 8. XferData action: Prompt for filename updates (SR-2022-6505) Check box added to the execution dialog to keep the file information for the next time the transfer is executed. 9. ReadInst action: Fix an issue observed with tek_scope_universal where due to rounding error an extra point could be added to the result. 10. Direct Entry action: Fix bug when user changes the frequency value to 1Hz, but actually displays as 1KHz. 11. btn_pmx40.ins driver: a. New driver (based on btn454x) Models supported: Boonton PMX40 Tested equipment: PMX40 power meter: firmware 2020.9.24.0 RTP4106 sensor: firmware 20191202 b. Primary differences from btn454x: a. Update from 2 Ch instrument to 4 Ch b. Add new Settings c. Settings: 1. Channel (Default, 1-4) 2. Reset on Init (Reset or Do Not Reset) 3. Display Mode (Text, Graph, Do Not Set) 4. Bandwidth (Low, High) 5. Filter (Off, Auto, 2,5,10,20,50,100,200,500,1000,2000,5000,10000 ms) 6. Sensor Mode (Continuous, Pulse, Do Not Set) 12. emt_cws500n.ins driver: Fix issue in Cal Mode when 2 consecutive frequencies occur- do not implement the redundancy check or the ensuing ReadPt call will fail. 13. rs_esu_sa.ins driver: a. Update sweep completion algorithm to handle long sweeps, especially when action's Number of Sweeps > 1. b. Use *ESR? register polling instead of *OPC? for more responsive sweep aborts and better performance. c. Add Debug Logging option to monitor the progress of a multi-sweep scan. Enable Debug Logging by entering "1234" as the SN of the Instrument. The format of the log entry is: Cnt=;MST=;TO=;CT= where Cnt = current sweep count, CST = current sweep time, MST = max sweep time, TO = total sweep timeout, CT = current sweep time d. Add setting for Sweep Type. Options are Auto (default) or Sweep. The RBW selection normally selects the Sweep Type of a scan. If the RBW selection has "FFT" in the label (e.g. 100kHz(FFT) or 100kHz(MIL,FFT)) then it sets the Sweep Type to FFT. If the RBW did not have FFT in the label then it would select Auto as the Sweep Type. With the new setting, the user chooses whether Auto or Sweep will be used for the non-FFT RBW selections. 14. tek_scope_universal.ins driver: a. Add support for MSO 4/5/6 Series MSO54,MSO56,MSO58,MSO58LP,MSO54B,MSO56B,MSO58B,MSO64,MSO64B,MSO66B,MSO68B,MSO44,MSO46,LPD64,MSO22,MSO24 Tested with MSO44, firmware 1.20.7.6859 (released 7/18/19) b. Add setting for Reset on Init, allowing an Initialize action to not send *RST. This helps when multiple channels are being used- the additional channels will want to skip *RST so as not to interfere with the previous channel setup. 15. Deprecate ag_e444x project and driver outputs. These drivers will load as ag_psa.ins: ag_e444x.ins, ag_e444x_1000.ins, ag_e444x_4000.ins, ag_e444x_8000.ins, ag_e444x_8000RMS.ins, ag_e444x_milpeak.ins, ag_e444x_mpeak_1000.ins, ag_e444x_pospeak.ins, ag_e444x_spc.ins, ag_e444x_spc2.ins, ag_e444x_stdpeak.ins. 16. Imports: Fix issue when profile that is Importing came from another PC. The Import file paths may be invalid and cause a crash on the new system. To prevent this the Import paths may be changed to relative paths when the profile is saved on the new system. 9/30/2022 Version 7.7.2.27 1. FieldFox drivers: With the addition of the new ks_fieldfox_rx driver (EMI Measurements Mode), the 2 existing FieldFox drivers are also being renamed for consistency: a. Rename ag_fieldfox to ks_fieldfox_sa. This is the SA Mode driver. b. Rename ks_fieldfox to ks_fieldfox_na. This is the NA Mode driver. 2. ks_fieldfox_rx.ins driver (new driver): a. This driver supports the EMI Measurements Mode application on the FieldFox analyzer with Measurement Type set to CISPR Band Scan. This mode is unique in that the instrument begins to act more like a receiver than an analyzer, in that we can no longer directly set #pts. The points in the trace will vary based on Start/Stop/Bandwidth. But- we can also not set or query step size which causes a problem. We are using an algorithm that initiates a fast dummy sweep before the actual sweep in order to determine how many points will be in the trace. b. Tested with firmware A.12.46. c. Driver has 2 settings: Points (Fast SA Scan only): This setting is only valid when driver has enabled Fast SA Scan (similar to SA mode driver). Allow Fast SA Scan: This setting determines whether Fast SA Scan will be enabled when necessary. The FieldFox in CISPR Band Scan mode has limitations on how narrow the span can be (depends on which Band is currently enabled). If the setting is No (default), then when a requested span is too narrow (or zero span) an error dialog is displayed. 3. ks_fieldfox_sa.ins (previously ag_fieldfox.ins) driver: a. Tested with firmware A.12.46. b. Fix suffix error on :DISP:WIND:TRAC:Y:PDIV command by removing DB units. c. Fix error -213 on INIT:IMM (command ignored) in continuous sweep mode. d. Change SENS:SWE:TIME cmd to SENS:SWE:ACQ (except for zero span), which is the valid command to set the sweep time in SA mode. The parameter for this command is a relative value from 1 to 5000, so we can only estimate the correlation between the requested sweep time and the actual time. The driver uses a lookup table to attempt to use a sweep acquisition value that might produce a sweep time close to what was requested. This algorithm assumes that Video BW has been set to Auto. If the user takes a sweep and the actual sweep time is off, the requested sweep time can be used as a relative value to make the adjustment for ensuing sweeps. For instance, if the requested Sweep Time was 2 sec but the actual sweep time of the FieldFox was 4 sec, adjust the Sweep Time to 1 sec and the sweep should then be close to the desired value. e. Improve the sweep timeout algorithm by using the SWE:MTIME? query while the trace is in progress. The FieldFox will update its display sweep time as the trace is in progress, and it is accurate enough to adjust our own timeout value in mid trace by querying it with this command. 4. rs_fsl.ins driver: a. Add support for FPL analyzer. Copy driver output to rs_fpl.ins. b. Add setting for Bandwidth Type, with options Normal, EMI/Pulse, and MIL. Before this update the driver always sent BAND:TYPE PULS (EMI mode) which caused an error on the FPL without option K54. The new setting allows user to select Normal (BAND:TYPE NORM) which uses Gaussian filters for either FSL or FPL and works regardless of options available. 5. rs_nrx.ins driver: a. Expand the Channel list from 1~4 to 1~128 to support USB and LAN sensors. b. Add a Freq Change Delay Setting so the user can select the delay after the Frequency Change command is sent. 6. MRange_Ex action: a. Fix bug when driver is in FFT mode and there are multiple ranges. b. Fix crash when receiver driver is used as QP Detector instrument. 7. Fix copyright info on Driver Info tab for these drivers : ag_psa, ag_X_S_series_scope, ar_fp70xx, bonn_bsa_series, btn4242, ETS_EMField, hangtai_amp, hmct2100, innco_CO3000, ks_XSeries_PulseMeasurement, LeCroy9300, LeCroy_3000_series, LeCroy_354A, maturo_mcu, minicircuits_pwm, pmm_3030, rigol_dg1000, rs_bba100, rs_bba150, rs_fsv_rvbieee, tek_scope_universal, xian618_amp, yok_dl6000_Series. 8. Fix Table type data Export to CSV file format to include blank rows and format for standard Windows output (CR+LF). 8/31/2022 Version 7.7.2.24 1. an_ms2830a.ins driver: Checks for Option 016, Spectrum Analyzer Mode and SCPI language mode. Gives Warning if incompatability is detected. 2. ETS_EMMonitor.ins driver: Fix bug in standard EMMonitor mode (not a derived version e.g. DAQmx) that caused Immunity to get stuck in DoDwell. 3. ivi_scope.ins and ivi_rfsiggen.ins: Fix issue that broke core IVI driver functionality since TILE! 7.7.1.1. Symptom was errors occurring on Initialize. 4. ivi_scope.ins driver: a. Add support for Rigol 1000Z series. Tested on DS1054Z, firmware ver. 04.05.02 ("00.04.05.SP2" in *IDN? reply). Quite a few direct command workarounds needed to get Vertical Auto Scaling to work in Immunity actions. b. Add setting for Probe Ratio. Some scopes reset this setting after a Reset on Init, so enabling this setting will put the scope back to the desired value. Default is Do Not Set. The value is only set by the Initialize Action. c. Add setting for Trigger Source. Options are Do Not Set, Same as Channel, 1, 2, 3, 4, and External. Do Not Set: since a profile can have multiple Instrument instances with different Channels, only one instance should be setting the Trigger Source (scopes have a single Trigger Source). Other instances should use Do Not Set. Same as Channel: sets the Trigger Source to match the Channel setting. This is the default option, and should be used when only one channel instance is being used in the profile. 1 - 4: set the trigger source to this specific channel. This lets a signal be acquired on one channel (Channel setting), but triggered from a different channel. External: set the trigger source to External. d. Reorder Settings so that Trigger Source and Trigger Slope are grouped together. Moved Disable GPIB Autopolling to the last setting since most users won't need this. e. Add a means for the Vertical AutoScale loop to exit if it cannot complete. 5. ag_mxe.ins: Fix POW:GAIN ONFULL being sent instead of POW:GAIN ON for preamp enable. Issue was only in 7.7.2.18. 6. tdk_si300.ins driver: Change PR:REQMAXR:CH and PR:REQMINR:CH commands to PR:REQF:CH. 7. ifi_custom_bands.ins driver: a. Add setting for Range Change Delay. Driver implements specified delay time after band changes. b. Fix some logic for 2 and 3 band amps. 8. Imm_Cal action: Fix issue where Stop button was not closing action if currently Paused. 9. Graph and Table views: Fix issue in some older profiles (or profiles that contained older Graphs/Tables) that would not allow the Gaph/Tabes to save and restore into the View properly. Note: this fix works on the Save, not the Load. That means profiles that were corrupted with this issue will still not load. But, once they have been resaved in the new version, they will restore properly on subsequent loads. 10. Remove extra "is" in driver license option check dialog, e.g.: "License for the following driver is is invalid". 11. SCPI Server: Add support for getting and setting properties. getprop? (get property) Format: getprop? . Examples: getprop? MRange.frequency.frequency_items.start_freq.value getprop? EUT_Info.eut_information.item1.value setprop (set property) Format: setprop . If or contains spaces then use quotes surrounding the corresponding argument. Examples: setprop MRange.frequency.frequency_items.start_freq.value 30.0 setprop "MRange 2.frequency.frequency_items.stop_freq.value" 100.0 setprop MRange.frequency.frequency_items.scaling "Log Scale" To find a property's prop_id string, right-click on the property and select Copy ID to Clipboard, then paste into the editor or tool being used to send the commands. 12. Simulation 2.3.1: a. Increase available Sims for each sim type. All sims types now have 5 available sims, with the exception of Probes and Switches having 10. Total sims available is now 55. b. Change default Configure Simulation list to be subset of all sims instead of evry available sim. c. Add Enable Defaults button to Edit Simulator List dialog. d. Allow Configure Simulation dialog to be resized. If enabled sim list exceeds the vertical space availalbe then show vertical scrollbar. e. Add Band 4 option to Amplifier Bands controls. f. Update TILE! to match sim changes. g. Update Simulation Readme.pdf with new screenshots, available sim lists, and updated Supported Drivers list. 8/1/2022 Version 7.7.2.18 1. tdk_si300.ins driver: a. Updated measurement parsing to extract value. b. Updated to use Settings. c. Updated command set to current instrument firmware. SR-2022-6437 2. ifi_custom_bands.ini driver: a. New Driver. This driver uses the modern IFI amp API (used by ifi_smx_new.ins and others), but allows customization of the number of frequency bands and the switching frequency for each band. b. Set the number of bands and switch frequencies for each band in the driver's Properties View. c. The initial customer for this driver is using an ST121-50-25BC: 4 Band amp with switch frequencies at 2GHz, 4GHz, and 7GHz. The default band frequencies were selected to match these values (although Number of Bands must be changed from 1 to 4). 3. rs_fpc_sa.ins driver: Fix issue where start and stop freq commands were not being sent to instrument. 4. rs_esu_sa.ins driver: a. Fix issue in SiteAttn (and possibly other actions) where multiple marker reads in continuous sweep mode were clearing the max hold before each read. b. Abort trace in progress when user stops a sweep-based action or presses TILE! Abort button in toolbar. 5. ag_mxe.ins: a. Optimize trace acquisition speed for fast sweep times (< 1 sec). b. Abort trace in progress when user stops a sweep-based action or presses TILE! Abort button in toolbar. 6. rs_fsv.ins driver: a. Testing with FSV3030 (3000 series) model. Firmware ver. 1.70. b. Add setting for Sweep Type with Auto and Sweep options. Setting to "Sweep" overrides previous behavior which always used AUTO sweep type. Auto tells box to auto-select either Sweep or FFT based on which is "faster" for current settings. But- it was determined on the newer 3000 series that FFT mode would actually take quite a bit longer when using long sweep times. c. To account for possiblity of longer sweep times when Auto sweep type is in use, incorporate the SWE:DURation? query command available on the 3000 series. This query gives us the actual time it will take the box to return a trace, which can be 3x longer than the current sweep time setting. d. Add command test for INP:ATT:PROT command. Observed errors on 3000 series, also not documented in previous FSV manual. e. Add Preamp option check and commands. f. Add ability to abort trace in progress when Sweep action (e.g. MRange) is stopped or TILE! Abort button is pressed. 7. ag_fieldfox.ins driver: a. Remove extra 0's in the Points setting dropdown list. 8. signalhound_usbsa44b.ins driver: New driver for Signal Hound USB-SA44B spectrum analyzer. 9. Reverb Test action: Fix some Properties View isssues for Monitors. a. Numeric values for each Monitor group label were missing. b. Added checks when changing a Display Position value to prevent two monitors from using the same position. This check was done when editing from the Monitors tab, but not from the Properties View. 10. Scripting: Fixed nested if problem. 11. Simulation: Update Amplifier Cmd Config to support IFI amplifier drivers such as ifi_custom_bands.ins and ifi_smx_new.ins. 12. Fix bug that caused DLL loading to be logged to NI IO Trace regardless of the Enable DLL Load Logging setting in the NI I/O Trace menu. 13. Updated HASP installer to 8.43. 6/23/2022 Version 7.7.2.11 1. Immunity Test action: Update the EMMonitor API with consistent channel indexing across action and drivers. 2. ETS_EMonitor driver: a. Add ETS_EMMonitorRadSens2.ins driver output. This supports the new EMMonitor RadSens2 module for the OpSens RadSens2 data acquisition chassis. Requires separate installation available on Support Portal. b. Fix channel indexing issues when using Default Ch Config setting with Immunity monitors. c. Add *OPC? Wait Timeout setting (default 10 sec). If external EMMonitor never replies 1 to *OPC? queries, this timeout will prevent Immunity from locking up. d. Fix numerous state issues that affect commands sent to EMMonitor instrument, such as always sending TestEnded when Immunity completes regardless of outcome (error condition, cancelled, etc). 3. avl_puma driver: Update channel indexing for Default Cfg to match changes in Immunity Test. 4. steppir_sy3.ins driver: a. Turn on fan using FAN_ON command after every frequency change. The antenna turns the fan off when it changes position, so we need to turn it back on after the movement completes. b. Skip the SigGen functions when using doing direct IO mode to change frequency. 5. ETS_2005_SingleAxis.ins, hi3604.ins, pmm_9010_rx.ins drivers: Fix drivers that were passing old baud rate indices instead of actual values. This would result in incorrect baud rate settings during initialization and possible communication problems to the device. 6. ETS_EMSwitch.ins driver and SwitchChassis action: Add support for new module types (7001-023, 7001-024, 7001-025, 7001-026, 7001-027). 7. C_Peaks action: Fix unitialized span_min and span_max variables. This was causing incorrect Freq Start/Stop values to be sent to the receiver when the Pause for Manual Optimization setting is checked. 8. SiteAttn action: a. Covert from single-threaded to multi-threaded architecture. b. Prevent action error dialogs when Stop button is pressed. c. Fix some property labels to match their Edit Mode tab names: Attenuation Height -> Antenna Height Direct Mode Attenuaiton -> (Direct Mode) Attenuation 9. Prompt action: Fix crash when editing action after linking to 2 output actions. Problem introduced in 7.7.2.4. (SR-2022-6458) 10. Scripting update: a. Fix instrument_do_function strings for the Probe On/Off events (e.g. PRB_Prb1On, PRB_Prb1Off, etc). b. Fix calls to some Positoner functions using instrument_do_function that were generating errors: POS_CW, POS_CCW, POS_GetLL, POS_GetUL, POS_SetLL, POS_SetUL. c. Fix issue that caused incorrect branching in if-else statement that contained a while loop. 11. Update Receiver Function tabs and properties on the following actions to remove the LF/HF label references for Input selection: CPeaks, CPeaksPSA, CRange, CScan, MRange, MRangeEx, Oats, Optimize, SiteAttn. 12. Fix copy-paste crash introduced in 7.7.2.4. 13. Add Gif Support for graph exports and to the following actions: Picture, XferData, and SaveWindow. 4/26/2022 Version 7.7.2.4 1. Updated to VS 2019 16.11.13. - This should not impact customers directly. 2. emt_cws500n.ins driver: a. Add calibration mode support. b. Add Retry button to error dialog for some scenarios. c. Fix checksum issues when checksum is 0 (NULL) or 10 (LF). CWS500N has a firmware bug that prevents it from receiving 10 as the checksum value. We attempt to change the string when possible by incrementing the numeric content of the command (e.g. "NF,13520;" -> "NF,13521;"). d. Remove redundant level command when Immunity is in Manual Mode. e. Improve efficiency. Use more state flags to avoid sending redundant commands for SG_RfOn, SG_Freq, SG_RfLevel, SG_ModOff, SG_AmOff and SG_AmOn events. 3. ag_XSeries_SSeries_scope_universal.ins (now ag_X_S_series_scope.ins) a. FFT Mode fixes: Fix issue where Ch 3 and 4 were potentially using a Function value higher than present on the instrument, which caused FFT Mode to not work in that situation. Add max Function check to DetermineCapability so that Function value never exceeds what the instrument can do. b. Improve instrument capability checks so they are not repeated. Separate driver instances will skip the capability check if it was performed on the same physical instrument by a different Instrument instance. c. Add Aliases for supported model series to support *IDN? Find All query in Explore Driver Dialog. d. Fix S-Series issues found while testing with MSOS804A firmware 6.0: a. TRIGger:SOURce? query should be TRIGger:EDGE:SOURce? b. Change "SYST:ERR?" to "SYST:ERR? STR" to get the normal descriptive error response. e. Change driver name from ag_XSeries_SSeries_scope_universal to ag_X_S_series_scope. Existing profiles will automatically load new driver name using DriverUpdates.csv. 4. rs_esu_sa.ins driver: More issues related to Start/Stop Freq commands being sent when they shouldn't be (due to stale caching variables). Testing with Scan Peaks / Zero Span mode to find these scenarios. 5. Log View: Enable NI I/O Trace log settings for new profiles. This is equivalent to selecting the "Enable TILE! Logging (this profile)" option in the NI I/O Trace menu. 6. Explore Drivers Dialog: Fix resizing issues. Search button and Vendor List scroll bar were moving when right edge resized. Min panel size was too small to still show controls correctly. 7. Instrument Interactive Control dialog: Resize System Error Query button to fit text size of the error string. 8. When a driver fails to load, remove "Instrument drivers must be loaded from the \instruments\ path of the TILE executable" from the logging message. This text is not necessary and the extra preceeding LFs cause problems when logging to NI IO Trace. 9. Fix crash when selecting graph line Marker Shape = Letter before the data's "Has User Comments" option has been selected. 10. Fix overlay initial draw issue (overlay text was not shown directly next to its icon). 11. Fixed ArrayUtils FindItem bug. 12. Fixed loading crash. 13. Fixed AfxThread bug with building the instrument database. 3/14/2022 Version 7.7.2.3 1. emt_cws500n.ins driver: a. New driver for EM Test CWS500N Continuous Wave Simulator. b. Old drivers emt_cws500a.ins and emt_cws500a_cal.ins are deprecated. 2. rs_nrp.ins driver: a. Add support for NRP VISA Passport sensors (e.g. NRP-Z91). These are USB sensors but do not use the standard "USB::" VISA resource type. Instead the R&S NRP VISA Passport is first installed on the system, and then the sensors are accessed using a VISA resource in the format: “RSNRP::::[::INSTR]” : USB device ID in hex.format : the sensor’s serial number, e.g. 100123 You can see if the R&S NRP VISA passport is installed/enabled in NI-MAX: View Tools->NI-VISA->VISA Options View My System->General Settings->Passports in the left pane tree control Look for the entry RsViNrp.dll b. Add support for NRP LAN sensors (e.g. NRP18AN). Most NRP sensors are available as a LAN model, with model names that end in SN, AN, or TN suffix. These sensors directly connect to the PC and use a standard VISA TCPIP resource name, e.g. "TCPIP0::192.168.x.x::inst0::INSTR". c. Add GetAlias to recognize NRP, NRP2, and numerous direct connect NRP power sensors using Explore Driver dialog. 3. rs_esu_sa.ins driver: Fix issue in Power Meter Mode where driver could send stale Start/Stop Freq commands from a previous sweep, after setting center frequency. 4. pmm_9010_rx.ins driver: Fix firmware ver. check bug: driver was determining that 2.02 was less than 1.77 (min required for 9010F). 5. Scripting Updates: a. fixed string_concat for properties. b. Add support to array_clip function to handle data table rows/columns and string arrays as input type. c. Fix issue with array_clip: when input type is double array and Start parameter = -1, the ouptut indices were off by one (instead of extracting Length values ending with the last value, was extracting Length values ending with second to last value). 6. Fixed Find View column swap labels for Name and Type. 7. Ignore/Replace Command editor: Fix bug that caused an existing command containing "()" to be replaced when a new command was Added. 2/19/2022 Version 7.7.2.2 1. Reverb Test action: a. Add support for native DO160G Zero Span mode. a. DO160G Zero Span tab and settings added to action. b. Existing Revolution Waveform and Script data elements moved to this tab from the Reverb Standards tab. b. Add DO160G Test- Stepped mode. This mode is identical to existing stepped modes (e.g. DO160F) but uses correct DO160G target power equations. c. Change speed settings from int to double. This allows 2090-based drivers such as EMControl to use fractional values to adjust the preset speed settings to non-default values. d. Increase number of Monitors supported from 8 to 100. 1. Replaces the previous 4 Monitor tabs (2 each) with a single Monitors tab, using a UI similar to Immunity Test. 2. Monitors are still only supported for stepped mode standards, so now they are hidden on Run Dialog for stirred mode. e. Fix issue that required pressing Cancel button twice to be recognized. 2. PosTT and Tower actions: a. Change speed setting from int to double. This allows 2090-based drivers such as EMControl to use fractional values to adjust the preset speed settings to non-default values. b. Change target and margin values from int to double. This allows target position resolution to tenths of a degree for drivers that support it. 3. ReverbCal action: a. Change speed setting from int to double. This allows 2090-based drivers such as EMControl to use fractional values to adjust the preset speed settings to non-default values. 4. ETS_EMControl.ins driver: Allow speed setting to be set as double value. This allows adjustment of presets 1-8 to speeds other than their default speed In particular, we need to be able to set Speed 1 to something slower than the default SS1 = 31 setting, in order to support Reverb Test DO160G Zero Span mode which requires slow rotations. If speed value has a fractional part, driver sends a speed adjustment command before the speed preset command, using the formula: speed_adjustment = (value / 8.0) * 255.0. For example, to change the Speed 1 preset from 31 to 16, use a speed value of 0.5. This should result in a Speed 1 setting of approximately half the default value (twice as slow). Speed values between x-1 and x will adjust the preset value of x, and then set the speed preset to x. For example, speed values between 0 and 1 will adjust Speed 1 and set the speed to 1; between 1 and 2 will adjust Speed 2 and set the speed to 2, etc. When using a non-integer value as the speed setting, the user should be aware that the preset value is being modified which would affect any subsequent use of that preset by other actions or from the EMControl instrument panel. To set a preset speed back to its default setting, a profile can set a speed setting 0.001 less than the preset value. For example, to reset the Speed 1 preset value back to its default, set the speed value to 0.999; 1.999 resets Preset 2, etc. 5. ag_mxa.ins driver: Abort zero span trace in progress before starting new one, when called from Reverb Test Zero Span mode. 6. rigol_rsa5000_series.ins driver: a. Ignoring SA_ScaleLin event. Rigol exhibits strange behavior when setting Y Scale Type to linear. It changes the units to percent, and ignores subsequent remote commands to change units to anything else (e.g. dBuV). b. Increase abort timeout value for sweeps. c. Fix internal delay when in continous sweep mode and sweep count = 1. d. Fix SA_MrkFreqStart event issue- "CALC:MARK1:X " was being sent without the frequency parameter. e. Tested on RSA5065N with Preamp option (no related driver changes). Made observation that the Rigol will increase attenuation if preamp is on and rev level is set too high. On other vendor models like CXA, this would result in a clipping error. But- Rigol doesn't have error query command, so instead they just change the other settings so they are not in conflict. TILE! actions must know ahead of time what the valid combinations are and set all 3 settings so they are not in conflict (preamp, attenuation, ref level). f. Turning off USB warning dialog. The new unit never showed any issues, so the problems we saw before could have been just with the loaner box we used for development. 7. Updated to VS 2019 16.11.10 Replaced vcredist_x86.exe with new version 14.29.30139.0 8. Scripting updates: a. Add math_do160g_eutduration_array function. Same as math_do160g_eutduration, but outputs the EUT Duration trace instead of calculated value. b. Change math_do160g_eutduration function so that delta input is optional. This allows backwards compatibility with previous versions, but also is compatible with Reverb Test updates in this version that set the x axis with time values (in which case delta input is not needed). Note: The function itself is now not necessary, as the EUT Duration calculations have been added as native Reverb Test outputs along with other DO160G Zero Span mode features. 9. Sequence Editor: Fix issue that potentially corrupted sequence item list strings when editor opens. The issue was introduced in ver. 7.7.1.5. 10. VISA instruments: a. Get the actual VISA Resource Name when VISA session is opened and store it in a viewable property. This is useful information when the VISA Name is an Alias. The VISA Resource Name is also serialized so that this information will transfer with profile for debugging puposes (TILE! support can see what VISA resources were in use even if customer used aliases for their VISA config). b. Add additional Serial Baud Rates when Communication Type is VISA Serial (type = VISA, and the VISA resource indicates a serial interface e.g. "COM1"). Additional Baud Rate options: 600, 14400, 28800, 56000, 128000, 153600, 256000, 230400, 460800, 921600 11. Pulse Train modulation updates. Driver Updates: a. Add Pulse Train support to ag_n518x and siglent_ssg_series drivers. b. Update Pulse Train support in rs_smb100a driver. Previously External Triggger was required and an external cable ran from LF output to Ext Trig input. Now the pulse train signal can be generated without this requirement. Action Updates: c. Update Pulse Modulation edit mode tabs and Property View on Immunity Test and Reverb Test actions. External Trigger is no longer a requirement to use the Trigger Rate setting. When External Trigger is unchecked, Trigger Rate sets the cycle rate for the pulse train burst. Add label explaining use of External Trigger setting when Pulse Train is enabled. d. Change default Pulse Train settings to On Time = 1ms, Off Time = 2 ms, Repetitions = 10, Trigger Rate = 10 Hz. These settings do not cause a conflict like previous defaults. e. Add sanity check for Pulse Train settings to alert user when the total pulse train burst exceeds the Trigger Period (1/ Trigger Rate). 1/6/2022 Version 7.7.1.5 1. ks_n9344.ins driver: a. Add support for N932xC (N9321C/22C/23C/24C). Copy driver output to ks_N932xC.ins. b. Add support for MRangeEx. This includes using the Max/Min Number setting (:TRAC:HOLD:COUNT) to support HW settable sweep count. c. Add new Settings: 1. Average Type (Log Pwr, Power, Voltage, Do Not Set) 2. Sweep Type (Auto, Sweep, FFT, Do Not Set) 3. Sweep Time Rule (Speed, Accuracy, Do Not Set) d. Do Option query during init sequence to determine if EMC, TG (tracking gen), and Pxx (preamp) options are present. e. Tested on firmware A.06.27 for both N9322C (w/ EMC option) and N9344C (w/ TG option). 2. ks_N9320B.ins driver: New driver for Keysight N9320B (BSA) spectrum analyzer. Models supported: N9320A, N9320B, and N9340B. 3. siglent_ssg_series.ins driver: New driver for Siglent SSG Series signal generators (SSG3000X and SSG5000X). 4. rs_fpc_sa.ins and rs_fpc_rx.ins drivers: New drivers for R&S FPC1000/FPC1500. a. Spectrum Analyzer mode: rs_fpc_sa.ins b. Receiver Mode: rs_fpc_rx.ins 5. rigol_rsa5000_series driver: New driver for Rigol RSA 5000 Series spectrum analyzers. Models RSA5032 and RSA5065. The driver only supports GPSA mode (not RTSA). Includes tracking generator support for TG and N models (e.g. RSA5065-TG). 6. ar_fl7004 driver: a. Copy output to ar_fl8000_series.ins. The ar_fl8000 driver config sends "D" query command instead of "D5", otherwise it is functionally equivalent to ar_fl7004. b. Add Aliases for specific FL 8000 series probe models (FL8009, FL8018, FL8040, FL8060, FL8200). c. Update Simulation PM Cmd Config.csv to handle the "D" command in addition to "D5". 7. ar_fl7006.ins driver: Correct the driver description string from "FL7600" to "FL7006". 8. rs_esu_rx.ins driver: Test with Enable Error Query Mode setting enabled and cleanup commands causing warnings/errors. 9. rs_ZNx_Series_VNA driver: Tested ZNA firmware V2.40, Vertical & Horizontal commands no longer cause an error. 10. ni_daqmx_generic.ins driver: Add support for Immunity Test action Door Check monitoring using the Monitor action. 11. IVI drivers: Add IVI Status indicator on the Instrument IVI tab that shows any IVI system errors detected. 12. Immunity Test action: a. When Door Check is active, check door during CW and Mod Dwell periods. Previously door was only checked during leveling. b. Add new Door Check settings: 1. Dwell Polling Rate: Specifies the polling rate during the dwell periods. Option for "No Polling In Dwells" which provides backwards compatibility to previous behavior. Options availble from 100 ms to 5 sec. Default is 1 sec. 2. Reverse Polarity: When set, reverses the polarity of the door check input signal. The interpretation of the signal is action and driver dependent. For example, if normally Door Closed = 0 and Door Open = 1, then setting Reverse Polarity = True will make this Door Closed = 1 and Door Open = 0. c. Update CW and Mod Dwell timing loops for better timing accuracy. 13. Scan Peaks (c_peaks) and Scan Peaks PSA (c_peakspsa) actions: Fix Property View labels for Quasi Peak Data setting in Output group (was Quasi Peak Adapter, now Quasi Peak Data). 14. Scripting update: a. Fix instrument_set function crash when trying to copy one instrument's settings to another instrument. b. Fix instrument_do_function for SA_DetPk, SA_DetSmpl, and SA_GetCtrFreq methods. c. Fix instrument_do_function for some method names that were not finding the correct underlying function. d. More panel close issues. Allow an OK button that has been assigned to a panel (panel variable passed as its value in button_create) to close the panel. This functionality was broken in 7.6.2.10, and was not fixed along with the updates in 7.7.0.2. e. Fix crash when script panel is open and new profile is opened. f. Added check for running scripts when opening new profile. 15. Fix bugs for silent TILE! exit scnearios. Both of these contexts were showing one or both dialogs for "Test is already in progress" and "Save changes", when they should not have been. a. AutoSave action with Close Application After settting checked. b. Calling script function tile_exit. 16. Supress the BW Changing dialog if profile is loading. This behavior is not desired when using SCPI Server opendoc command to load profiles. 17. Updates to SCPI Server: a. closedoc function prevents dialogs during remote file closing. b. Fix crash in closedoc command when the profile that is closing has Imported other profiles. 18. Clean up SCPI Server logging entries: a. Trim LF from Receive log entries to prevent extra line in IO Trace log. b. Remove redundant Send log entries (each send event was logged twice). 19. Explore Driver Dialog: a. Allow EMCenter *IDN? query to locate associated drivers. b. Fix tab order for new buttons Find All and Incl. Remote. c. Auto set focus to IDN combo dropdown after doing a *IDN? with Find All checked, to allow immediate keyboard navigation of the dropdown using arrow keys. d. Add Find All button. When checked, "-1" is automatically entered into the address control. e. Add Include Remote button. When checked, the IDN? search will include VISA Remote Systems in the query. VISA Remote Systems are configured in MAX. f. Remove the "-1 for all" label next to Address to make room for new buttons (now it is not necessary with addition of Find All checkbox). 20. Data Units updates: a. Add "Angle" as option on X Units dropdown on Data Values tab. Currently we have No Units, Frequency, and Time. b. Use the X Units setting to show an appropriate units suffix on the Values data grid, and in the Data Editor grid. Use the X Units setting to change the "freq" column header to "time" or "angle" when those options are selected. c. For a UI Table display, use the Page Defaults "Exclude Units" setting to turn off the units suffix in the X value column. 21. Data table type updates: a. Change default import behavior for tables without headers to load from file without setting headers. This matches export beahvior already present. b. Allow tables without headers to export correctly to output file using XferData action or Export menu option. c. Add Headers Set indicator to Table tab to see whether a table currently has its headers set. d. Fix issue where tables without headers could not add/remove columns in editor. e. Other UI improvements to table editor interface. 22. Update compiler to VS 2019 16.11.4: replaced vcredist_x86.exe with new version 14.29.30135.0. 10/6/2021 Version 7.7.0.2 1. siglent_ssa3000x_series.ins driver. New Driver for Siglent SSA 3000X Series spectrum analyzers. Minimum required firmware ver. = 1.3.9.8. 2. Update TILE! Version to 7.7 for FY2022. 3. Scripting Updates: a. Update process_execute() result so that it returns the output string of the command executed. This allows commands that execute in the cmd prompt (e.g. "cmd /c dir") to retrieve the output of the command (in this case the directory list). b. Fix scripting panel not closing on button press. 4. Tile Scripting Guide: Sept 22 2021 revisions. Major update for examples. 9/22/2021 Version 7.6.2.10 1. Immunity Test action: a. Fix issue that prevented Read button from re-reading Probe or PM when in Manual Mode, but leveling had been completed on that sensor (Probe for Probe leveling, or PM for PM leveling). This scenario would occur when Auto Level on Change of Frequency (Manual Mode) is true. b. Fix issues related to Door Check Active mode: 1. Read button was not showing after Door Open event. 2. RF On button was not working after Door Open event. c. Fix issue when using some EMMonitor-derived drivers like avl_puma.ins that support multiple Monitor instrument channels with a single driver instance. Channel indexing was offset causing driver errors. d. Disable Mod On button in Manual Mode when RF is Off. e. Fix issue in Manual Mode- when Keep Mod Off is checked and test procedes to next frequency, the checkbox and setting became out of synch. f. Update Event Action calls to pass frequency and amplitude parameters for most events. When Event Action is a script these parameters can be accessed. g. Change "Auto Level on Change of Frequency (Manual Mode)" property label to match the Edit Mode setting label (previously said "Auto Level on Change of Frequencies"). h. Increase width of Read button on runtime dialog. 2. XferData action: These issues primarily related to features/settings on the Transfer to/from File tab. a. Add PNG and XML formats for Graph output. b. Change default Graph output format from WMF to PNG (WMF is still supported). This also affects direct Export of graphs (press Save button on graph toolbar). c. Fix numerous UI inconsistencies between Edit mode and Property View. d. Add auto name selection for Name setting when changing transfer type or making new item selections (Data Elements, Graph/Table items, or Window Views). Default filename is the name of the data element, display object, or view selected. Default file extension is .dat (data elements, tables, and window views) or .png (graphs). e. Fix some Edit mode related crashes. f. Fix issue when exporting Audit Trail window- the action resolved the profile directory incorrectly and saved output to the wrong directory (usually parent of specified directory). g. Set default profile directory to $ProfileDir. With this macro, files will be stored to same directory as the profile. h. Fix file browse dialogs so that initial directory is set correctly when path macros are used. Also set initial file name to current Name selection. i. Refactor so that XferData and Graph Export share more of the same code and use the same file filters. 3. Math action: Fixed temporary object memory leak. 4. CustomDriver.ins driver: Add custom parameters feature. This provides a means for custom drivers to define their own settings, similar to "settings based" native drivers. To define a custom driver's parameters, edit the Definitions property in the Custom Parameters property group. Each line defines a custom class parameter. Examples: myparam|My Title|A;B;C;D|B myparam2|My Title2|A:0;B:1;C:2;D:3|D Custom parameter definition format is bar separated: paramName|paramTitle|options|defaultValue paramName – value name in script paramTitle – display title in property view options – semicolon separated list for combo box … or single value for edit control defaultValue – the default value Options format is semicolon separated: op1;op2;op3 … Alternate option format : op1:altVal; op2:altVal2;… The alternate format provides a different value for the option Example: foo:123;bar:789 After clicking OK on the parameter definitions the class parameters will be generated. The user can select the proper option or fill in the correct value. Edit the “InitializeClass” method to show the auto generated parameters that have been added to the class. 5. Fix ag_exa entries in DriverUpdates.csv. Profiles referencing these deprecated drivers would not properly convert to their replacement driver (ag_mxa.ins). 6. avl_puma.ins driver: a. Add support for Door Check monitoring in Immunity Test. To implement a Door Check channel, set the name of the channel to the PUMA variable that will be monitoring the door. This channel can either be the Default Channel when using Default channel mode, or the Channel Name for a Single Channel instance. Use the Serial Action and configure the instrument in the Monitor Instrument slot. In Immunity Test, set the Door Open Action to the Serial Action just configured. In PUMA, return 0 as the channel value for normal operation. Return 1 to indicate the door is open. b. Fixed a corresponding issue in Immunity Test that was causing incorrect channel indexing when using the Default channel setting. This resulted in a GETV query with no variable name. PUMA returned "UNKN" and this resulted in a Monitor instrument error. Immunity Test and avl_puma.ins became out of synch in ver. 7.3.1.39. c. Add error checking when a PUMA channel is being queried with no channel name. Show a dialog prompt alerting the user of the error. This could occur in the following scenarios: a. The channel name specified in the driver's Channel Name property is empty. b. The Default channel configuration is being used, and the Monitor channel being read has an empty channel name. c. The Default channel configuration is being used, and Immunity Test has more Monitor channels configured than the Number of Channels property value in the driver. d. Prevent query interruption between Write and Read. Once a Write has been performed, the Read must follow or we will be out of synch. 7. New drivers for Ceyear instruments: ceyear_1435_series.ins, ceyear_3915_series_rx.ins, ceyear_3915_series_sa.ins, ceyear_4024_series.ins. 8. rs_ZNx_Series_VNA.ins: new driver for R&S ZNx Series VNA instruments. 9. rs_ZVx_Series_VNA.ins driver: a. Fixed a bug when looking at firmware version numbers. b. Fixed an issue when matching ID is not found. 10. ag_PNA_Series_VNA.ins driver: Fixed an issue when matching ID is not found. 11. rs_esu_rx.ins driver: Changed sweep initiation to sync overlapped commands before checking for *OPC?. Added *WAI;*CLS - This change was in response to seeing odd behavior while testing a customer profile. 12. Explore Drivers Dialog: Add Ceyear and SteppIR to vendor list. 13. Graph update: Turn off cursor before Copying or Exporting the graph. Cursor is re-enabled as soon as mouse moves back over the graph display. 14. Scripting updates: a. Add new function action_run_main. This function is designed to be the same as pressing the Run Main Action button on the toolbar. syntax: action_run_main(reset) reset parameter is a boolean setting (0 or 1) which clears action flowchart status when true prior to running the Main Action. Examples: action_run_main(1) => Run Main Action in profile, clearing action status in the flowchart first action_run_main(0) => Run Main Action in profile, without clearing action status If the function is called when no Main Action has been set, a scripting error is generated. b. Add new function instrument_read_status. This function is used to ask the driver for the current instrument status, such as whether a positioner movement has completed, or whether the instrument has processed the previous command. The specific behavior is driver dependent. syntax: status = instrument_read_status(inst) inst is instrument reference (output of instrument_get) status type is integer. Resulting value is usually 0 or 1. c. Fixed bug with class_value_set function. Values were not being set/read properly. d. Fixed some scripting crashes with a try catch for items that have been deleted by user in the script. 15. Fixed Internal MFC cross thread issue: Was passing actual CWnd* object, now passing transient FromHandle object. 16. Updated year in TILE! installer License Agreement (was 2014, changed to 2021) 17. Updated to support VS 2019 16.11.2: Updated vcredist_x86.exe to 14.29.30133. 18. TILE! Scripting Help manual: Merged linear math manual into scripting plus many other improvements. 8/12/2021 Version 7.6.2.3 1. Simulation Update: a. Update all Cmd Config files so that the default SYST:ERR? response is 0,"No error" instead of 0,"No Error". This is the SCPI compliant response returned by most physical instruments. b. Update PM Cmd Config to fix issues with ETS_EMSense and ar_fl7004 probe drivers that returned invalid data response for some voltage ranges. Note: the response is still invalid when voltage is >= 100, but this will take a Sim DLL update and can't currently be resolved in the Cfg file. Also fixed issue using ETS_EMSense that caused it to fail the Init action. 2. Fixed Crash: Drivers which write to instrument during driver loading can crash. 3. ar_fm7004.ins driver: a. Add new Settings: 1. "Send *RST on Init" Default value is "Send *RST" during Initialize action (previous driver behavior). "Do Not Send *RST" skips *RST when running Initialize action. 2. "Enable on Init" Default value is "Do Not Enable" (previous driver behavior). "Enable This Channel" sends CH,x,ST,ON during Init action for the channel specified in the Channel setting. "Enable 1 Channel" sends CH,x,ST,ON for Channel 1. "Enable 2 Channels" sends CH,x,ST,ON for Channels 1 and 2. "Enable 3 Channel" sends CH,x,ST,ON for Channels 1, 2, and 3. "Enable 4 Channels" sends CH,x,ST,ON for all 4 channels. Note: If any channel is enabled with no probe connected on that channel, this will cause the IO Error popup on the monitor display. Clear the error on the display by pressing Local and Main Menu, and then change this driver setting so that the channel is not enabled. b. Add more error checking for "COMMUNICATION_ERROR" or "SYNTAX_ERROR" replies. Driver will resend previous query command when instrument sends these replies. c. Add missing delays after Writes. Instrument can lock up and require reboot if we don't do this. d. Tested on firmware 2.70 (released 2017) *IDN? query returns "AR-WORLDWIDE,FM7004,REV2.70" 4. Added driver ag_mxe_rx_Presel_ON_OFF.ins: This driver is the same as ag_mxe_rx but will respond to the Pre Selection On/Off commands that actions send. 5. Updated vcredist_x86 to version 14.29.30040.0 (for VS 2019 16.10.4). 7/15/2021 Version 7.6.2.2 1. Reverb Calculation (Eval) action: Limit CLF output values to max of 1 per specs. (SR-2021-6294) 2. Measure Range action: Fix issue when # of Ranges > 1 with certain drivers (e.g. ks_n9344). The symptom was that each subrange would acquire using the original Start/Stop values instead of the subrange values. 3. Reverb Cal action: a. Add Set From Table option for Max dBm on Leveling tab, similar to the setting in Reverb Test. b. Add multi-threading support. Separates IO from UI thread so that the dialog stays more responsive. IO is not halted when interacting with test dialog (such as dragging the window bar). c. Fix another issue that was adding to unresponsiveness of TILE! window and flowchart while Reverb Cal is running. 4. Fix issue that was causing profiles with multiple dynamic scripts, sequences, and graphs to potentially fail (scripting errors when calling action_go or action_execute). This problem did not occur prior to 7.6.1.3. 5. Measure Range Extended action: Modified allocation of arrays to be more efficient. 6. Fix issue in Sequence Editor that prevented a Conditional Type sequence such as Range or RangeChanged from being edited using the Edit Sequence button on the Sequence tab of the Start action. When editing this way the conditional template items were deleted which caused the conditional sequence template dialog to show. 7. ETS_EMGen.ins driver: a. Add 7003-003 suuport. This is a single port version of EMGen with freq range 4 kHz - 6 GHz. Update *IDN? query to check for model type. If -003 is detected, the Output Port setting is internally fixed to "Output 1" and the Auto Switch Frequency setting is ignored. b. Update system error query string to "SYST:ERR?". c. Change frequency value format to include units. This makes IO logs more readable. For example, instead of writing "FREQ 1000000000", write "FREQ 1GHZ". 8. Scripting updates: a. instrument_do_function changes: 1. Allow the function to accept a string value for the function parameter. If function is string type (instead of integer), the value is interpreted as a function name. The allowed function names are the same as seen in Event Manager, Event Logging, or when generated by a Custom Driver template for the driver type of the instrument. 2. Allow the function to return an error as its result when the driver function returns an error. Before this was producing a scripting error which automatically stops the script from running. b. New functions: 1. str = instrument_do_query(inst, function) This function will attempt to query a particular instrument setting/parameter that corresponds to the function argument. The function input has the same description as it does for instrument_do_function, meaning it can be a function numeric code, or a string that represents the function name. The return value is a string. 2. str = instrument_do_error_query(inst) This function queries the instrument using the default system error string for the driver. Typically this is "SYST:ERR?". The return value is a string. 3. val = instrument_read_value(inst, channel) This function runs the driver's ReadValue method to retrieve a numeric value from the instrument. For most drivers, the channel argument is unused. The return value is a double numeric. 4. val = instrument_read_monitor(inst, function) This function runs the driver's ReadMonitor method to retrieve a numeric value from the instrument. For most drivers, the function argument is unused. The function will often produce a similar result to instrument_read_value. The return value is a double numeric. c. Set initial UI panel position to center on TILE! app window (before it could go offscreen when the UI panel became large). d. Allow panel_set_color to work on modaless (dynamic) panels. e. Set auto horizontal scroll property for UI edit box controls. This allows any text that overruns the visible display area to be scrolled to using the right arrow key. f. Improve behavior of External Editor button- will always use default Windows app for .tython extension. 5/4/2021 Version 7.6.1.3 1. Update vcredist_x86 to 14.28.29914.0. 2. Example profile updates: a. Add new profiles provided by EMC group. b. Re-save profiles older than 7.5, in 7.6.0.15. Older profiles were loading with changed flag already set (opening and closing with no edits still caused Save Changes dialog). 3. New feature: Event Logging Event Logging exposes the Events generated by actions when the underlying function calls to drivers are executed. Event Logging ties into native TILE! logging mechanisms, meaning they are viewable in the Log View, NI IO Trace Utility, or in the file log output. The name of the event and any associated parameter values are logged in the event string info. Event Logging is enabled either on a per Instrument or per Action basis. a. To enable all Events associated with a specific Instrument in a profile, edit the Instrument and check the Enable Event Logging setting on the Instrument tab. The setting is also settable from the Properties View, or from the Instruments View (right-click a specific instrument or multiple instruments and select Enable Event Logging or Disable Event Logging). b. To enable all Events generated by a specific Action, view the action's Properties. Then in the Event Manager group, set the Log Events setting. Note: Events can be logged for an action even when the action's Event Manager has not been enabled. 4. Graph updates: a. Change Graph Defaults to more user friendly settings as recommeded by EMC group. b. Fix issue with auto color selection for line plots. It was picking same color each time. New algorithm starts with Light Blue and increments for each new plot, but skips the matching background color. 5. ETS_EMControl.ins driver: Change Seek precision to 10ths of a degree. Note: the actual value sent to the instrument is still dependent on the action. Only actions that support double precision target values will benefit from this change in the driver. Some actions that support double precision targets: Reverb Test, Reverb Calibration. Some actions that do not support double precision targets: PosTT, Tower. 6. About Dialog: Update to latest image from marketing. 7. SaveWindows action: Add Show Window / Bring to Foreground setting to Properties. 8. UI Tables (SR2095): Fix issue where header info was not updating after Properties updates (either using Properties View or from scripting). 9. Logging updates: Change "GPB Write" and "GPIB Read" log type status strings to "IO Write" and "IO Read". This avoids mismaned and confusing log types when using VISA. The log message will correctly identify the specific communication type that was used (e.g. "viWrite", "GPIB Write"). 10. Reverb Cal action: a. Fix issues with multi-probe enabled for regex numeric pattern matching in data auto-generation. Pattern matching was failing for some data names. b. Improve the multi-probe numeric replacement algorithm- first check if original data name contains the necessary "1", and if not just add the default tag (_x where x is probe number) instead of attempting the replacement which would have failed. 11. AN_VectorStart_Series_VNA.ins driver: Added INS_SA_SWEEP_SETUP for Measure Range support. This driver would cause Measure Range to error since 7.4.6.1. 12. ks_n9344.ins driver: a. Added INS_SA_SWEEP_SETUP for Measure Range support. This driver would cause Measure Range to error since 7.4.6.1. b. Fix issue when running as TCP Socket (simulated instrument)- we need to restore EOS state after binary transfers before sending ASCII commands. c. Update SA Cmd Config.csv to support this driver as Sim and add *IDN? entry. Also add GetDataFormat entry so we can query current value of data format. 13. gi_tdemi_rx and gi_tdemi_sa drivers: Changed driver to not put a message up when it sees firmware "v6.74" in the ID string (customer says it works). 14. Report Generation: Added support in the macro for 64 bit Office. 15. Scripting updates: a. Fix issue with set_this function (SR-2021-6257). Starting with version 7.5.6.8, variable assignment lines containing equals sign that followed set_this() in an instrument context were written to the instrument instead of doing the assignment. With this fix scripts containing such a sequence will work as they did prior to 7.5.6.8. The workaround for this issue is to not use set_this (use long form of write functions) or move variable assignments outside the scope of set_this. b. Fix crash in Event Logging when calling the scripting function instrument_do_function(). 16. XferData action: a. Fix issue where path resolution is incorrect when being called from a script (e.g. action_execute) if data is not in same directory as profile (Data Type = Data Element). b. Cleanup issues with trailing "\" char on Path setting. Editing from standard Edit dialog auto-appended "\", but editing from Property View was removing it if present. When running the action there was an error if the "\" was not present. Changed so that neither Edit dialog nor Property View editing adds it, but the action will run correctly whether it is present or not. c. Do not create directory on File Load if it does not already exist. d. Do not update Filename and Path settings at end of action with resolved path. This would defeat the purpose of using macro shortcuts. e. Fix crash that occurred when Data Not Found dialog was shown and full path string length was greater than 120 chars. f. Fix incorrect path string displayed in Data Not Found dialog. g. Filter Data list in Property View to Word Type data when Word Type Data is True (same behavior as Edit Dialog). 17. ag_mxe.ins driver: Fix error when called from MRangeEx that claims this is an unsupported driver, if the instrument was offline. 4/2/2021 Version 7.6.0.15 1. About Dialog: a. Update to new image per ESCO rebranding requirements. b. Add copyright string to right side. The current year will now auto synch to the EXE date. c. Align Version text with other fields. 2. Lumiloop_LSProbe.ins driver: a. Fix Frequency errors at some frequency values ("driver cannot set frequency to xxx" dialog). This was caused by floating pt precision issues when comparing the set/get values to confirm the probe changed to the correct value. The fix is to first convert the value to a long long int before doing the comparision. b. Add Multi-Probe Readdress setting. This setting determines whether the driver will try to optimize the adress command in multi-probe systems. When the setting is Off (default), a new addressing command (syst:cis) is only sent when this driver instance's CIS value does not match the current value of the LSProbe server. If the setting is On, the address command is sent before every Write regardless of the LSProbe server value. This would be necessary for instance if there were any direct IO addressing commands that had been sent to the server using VISA or scripting. 3. Ignore/Replace Commands: a. Change text of Instrument pop-up menu from "Show Ignore" to "Show Ignore/Replace Commands". b. Re-order tab stops on Ignore/Replace Commands edit dialog. 4. ag_mxe_rx.ins driver: Fix Preamp command for meters, should be ":POW:GAIN ON". Extra "LOW" string was being appended and made command invalid. This bug was first introduced in 7.2.0.7. 5. Update ETS driver descriptions with consistent format. This will improve EMCenter module groupings in Explore Driver dialog. 2/23/2021 Version 7.6.0.14 1. Graph issue: Fix bug where min Y axis value was set to 0.1 when X axis was set to Log type. This bug was first introduced in TILE! 7.4.6.1. 2. On Instrument edit config dialog, VISA tab, enable horizontal autoscroll property on VISA resource name dropdown control to allow longer string inputs. This allows VISA resource config for remote devices that will have additional prefix characters to specify remote computer address. 3. ag_mxe_rx.ins driver: a. Remove lower limit when setting reference level ampltidue. Previous limit of -50 was not appropriate when units is dBm. If setting is set too low the instrument clips it- it's not an error condition. b. Change minimum meter dwell time from 1 ms to 10 ms to avoid data out of range errors. c. Add Accelerated TDS option to Scan Type setting. Available only on PXE (N9048B). d. Implement Auto setting for RBW (resolution bandwidth). 4. ag_mxe_rx.ins and ag_mxe.ins drivers: When ReadMonitor is called from the DirectRead action, do not set center frequency. This was writing an invalid command to the instrument. 5. Update About Dialog copyright to 2021. 1/9/2021 Version 7.6.0.12 1. Fix graph optimization issue at end of data plot. Max or Min of the last few data values was potentially not shown. 2. Update Simulation LVRTE missing/outdated error message to LVRTE 2020. 3. hi4422.ins, hi4413.ins, hi4460.ins, ar_fm5501.ins: a. Convert to Settings driver format. 1. New Setting for Axis/Channel. This setting has mostly the same options as other probe drivers (Default, C, X, Y, Z), but also includes a Batter Monitor option to replace the hi4422_batmon.ins config. 2. hi4422_batmon.ins is deprecated. The functionality of that driver is achieved by using hi4422.ins and setting the Axis/Channel setting to Battery Monitor. Profiles that referenced this driver will automatically update with correct driver and setting replacements. b. Tested with HI-4422 probe connected to an EMSense module by configuring hi4422.ins as a Linked Probe instrument in the ETS_EMSense.ins driver properties. 4. ETS_EMSense.ins driver: a. Add Linked Probe property. This links the EMSense instrument to another probe driver in the profile and passes through this driver's function calls to that driver. This allows support for probes like the HI-4422 that the EMSense module itself can read, but the ETS_EMSense driver does not support (ETS_EMSense only supports D5 probes; HI-4422 is a D2 probe). b. Test probe response in Initialize and determine if a native D5 probe is present. If not, show dialog indicating how to use the Linked Probe feature. 12/16/2020 Version 7.6.0.11 1. ETS_8000_Amp_Series.ins and vectawave_amp.ins drivers: a. Add setting to select termination character, with LF being the new default. This resolves issues with 8000 LAN series instruments that require a LF. The "None" selection for termination will provide backwards compatibility if necessary, but older models and GPIB connections "should" work OK with Line Feed. b. Add simulation support for these drivers. 2. steppir_sy3.ins driver: New driver for SteppIR SY3 antenna system. This device adjusts its physical dimensions when set to a specific frequency value. 3. Immunity Test action: Update Filter Network error message to be specific to the filter network instrument (previously said it was an amplifier error). 4. Driver rs_ZVx_Series_VNA: Updated alias list to better match expected *IDN? response. 5. Updated vcredist_x86 to version 14.28.29334.0. 12/4/2020 Version 7.6.0.10 1. Increase InstCmd action read count limit from 200k to 10M bytes. 2. Action Measure Range & Measure Range Extended: Fixed option Frequency "From File" so it no longer crashes at end of frequency list. 4. Action Measure Range: Added code to avoid hangups when the From File option is run on a driver that can change the number of points returned. 5. Remove Tile Scripting Linear Math.pdf from Help menu and installation. The content has been merged into the updated TILE Scripting Guide.pdf. 6. Action Direct_Read: Changed action to resize after the Action queries the trace size from the driver. 7. rs_ZVx_Series_VNA.ins: new driver for R&S ZVx Series VNA instruments. 8. ETS_PrecisionMAPS_2304.ins: new driver for ETS-Lindgren Mobile 3D MAPS and AMS-5705 positioners. 9. Add No Driver checkbox to Instrument Interactive Control dialog. Will bypass any command prefixing the specific driver might be adding to output command. 10. Scripting updates: a. New functions instrument_write_nodriver or write_nodriver write_nodriver(inst, cmd) Same as instrument_write but does not use the driver's Write function. This will give a different result than standard write if driver is appending prefix informmation.to the command string or otherwise modifying the output. This function gives a similar result as when using the "nodriver" prefix in the Instrument Command (VISA) action. instrument_close_visa_session or close_visa_session close_visa_session(inst, forceClose) This function closes the open VISA session if the configuraiton for the instrument is set to VISA. forceClose is either 0 or 1. If 1 (true), then the VISA session will close even if there are other Instruments in the profile sharing the same VISA resource name. If 0 (false), all Instruments in the profile would need to call this function before the VISA session actually closes. If there is only one Instrument in the profile using this VISA resource name, the session will close regardless of the value for forceClose. file_read_ini_string(filepath, sectionName, keyName, default) Reads a key value as string from an INI file. filepath can be string type, file type, or data object with File Other source type. default is the value returned if the key or specified file is not present. return value is the string value of the key that was read if successful, or returns the default value if not successful. file_write_ini_string(filepath, sectionName, keyName, value) Writes a key value as string to an INI file. filepath can be string type, file type, or data object with File Other source type. return value is 1 if write is successfull, or 0 if not successful. instrument_unload_user_driver(inst) or unload_user_driver(inst) Unloads the attached User Driver from the specified inst object. This will typically close an external user interface application such as Immunity Communication Interface. The external UI can be relaunched after closing by calling instrument_initialize. b. Fix termination issues when using scripting function instrumnent_write. Function will use the driver's term string unless instrument_set_termination has been called to set termination to a non-empty string. To set termination to none use the value "none". c. Add set_termination as alternative to instrument_set_termination. d. instrument_initialize now closes its VISA session before re-initializing, making this function work similarly to the Re-Initialize option on the Instrument's right-click option menu. This is helpful after calling unload_user_driver so that the instrument can re-connect to an external TCP server such as Immunity Communication Interface. 11. Added new version 14.28.29325.2 of vcredist_x86 11/3/2020 Version 7.6.0.5 1. Fix an action execution highlighting bug. 2. Fix copy/paste crash for items in Project View (issue introduced in 7.6.0.2). 3. Lumiloop_LSProbe.ins driver: a. Update to support latest LSProbe 1.2 version (Oct 2020). This LSProbe version uses an INI file to strore current settings instead of environment variables and renames LSProbe_1_2_GUI.exe to LSProbe_1.2_GUI.exe. The goal is for TILE! driver to find LSProbe EXE apps (Server and GUI) for existing installations of LSProbe and this new version. 4. Run->Reset will clear an action highlighted by Find or Locate in addition to highlights from last run sequence. 10/26/2020 Version 7.6.0.4 1. Update Installer to check for LVRTE 2020. If not present, show dialog that allows user to download installer directly from TILE! Support Portal. 2. Lumiloop_LSProbe.ins driver: a. Add mutiprobe support. Use Instrument Property View to enter Probe CI#. Any value > 0 enables multiprobe addressing. b. New Driver Settings options: 1. Enable Laser: Do Not Enable Laser (default)- user must enable laser external to TILE! using the Lumiloop Server or GUI applications. Enable Laser - if laser is not enaabled, a dialog allerts user that it will be enabled when they press OK. 2. Run LSProbe Server: Do Not Run Server - Lumiloop TCP Server app is not launched by TILE! Run Server on Load (default)- Lumiloop TCP Server app is launched when 1st driver in profile loads Run Server on Init - Lumiloop TCP Server app is launched when Initialize action runs, or first access 3. Run LSProbe GUI: Do Not Run GUI - Lumiloop GUI app is not launched by TILE! Run GUI on Load - Lumiloop GUI app is launched when 1st driver in profile loads Run GUI on Init (default)- Lumiloop GUI app is launched when Initialize action runs, or first access 4. Lowpass Filter - sets probe lowpass filter setting when Initialize action runs, or first access (default 100 Hz) 5. Disable Laser: Do Not Disable Laser - laser is not disabled when profile closes Disable on Close - This Probe - laser is disabled when profile closes for this probe only Disable on Close (default)- All Probes - all lasers are disabled when profile closes c. Add mode 8-11 options to Mode setting (0-11) d. Use LFProbe installer environment variables for TCP address and Port to set default VISA resource name e. Add support to disable laser using Initialize action by setting Release Bus = True 3. Fix termination issues on IO writes in InstCmd (VISA) action and Instrument Interactive IO dialog. Explanation: These IO contexts provide "direct IO" options to the selected Instrument. Both implement a scheme that uses the driver's preferred Write method to accomplish this if available. The driver may have extra addressing commands to send in a multi-device setup, for example (multiple devices accessed from same IO resource such as GPIB address or LAN address). This update defers to the driver to use its own termination setting for all writes to the device, even ones not explicitly enumerated in the action/dialog. The InstCmd action can bypass this behavior by using the "nodriver" prefix for each specified Write command. 4. Simulation: Update SA Cmd Config to fix issue with SetStartFreq parsing with ag_mxa driver. Only affects existing Sim 2.3.0 installations. 5. Project View updates for "organize by type" for instruments and actions. Added "locate" feature to find item selected in project view. 6. ETS_8100_Amp_Series driver: a. Add 8100-035, 036, and 044 model types. b. Fix issue with Model Auto Detect where model list could become corrupted by invalid *IDN? query results. 7. Immunity Test action: a. Set Leveling Tolerance units label in Properties View according to current Primary Amplitude units selection. b. Remove Units text from property value options for Leveling Source setting. "Pwr Meter (dBm)" -> "Pwr Meter" "Probe (%)" -> "Probe" This change might require one-time profile edits in sequences and scripts. 8. Fix bug in Auto Backup feature: clearing the Tools->Options->Backups->Auto Backup flag did not prevent backups from occurring. 9. Simulation 2.3.0.6 (LV2020): a. Update UI for all simulators (standardize on NXG style controls). b. Add Tag Editor for all simulators. c. Refactor simulators to use single pass parsing. This removes Secondary Search column from command config files. d. Positioner updates: a. New indicator for Turntable and Tower current position. b. Add ability for Tower to display horizontally. Right-click in Local mode and select Change to Horizontal. c. Add buttons to exercise Up/Down/Stop/Seek/Step in Local mode. d. Fix bug that allowed positioner to over/undershoot its target by a few degrees after Seek. e. Add Config Dialog. This allows direct modification of the speed profile and UI update rate. f. Add support for Maturo and Device DT3169 controllers. e. Update to LV2020 compiler (requires LV2020 RTE). 10. Simulation changes (TILE!) a. Increase available Sim Towers from 2 to 3 in conjunction with Simulation 2.3.0. b. Change LV RTE check to LV2020. c. Update sim license check from LVRTE 2018 to LVRTE 2020. 11. SCPI Server: OK reply to opendoc command was being returned before document was fully loaded. This caused issues with Test Suite which sends closedoc command immediately following the OK reply. 12. maturo_mcu/fcu driver a. Add support for speed control. b. Add Set Acceleration on Init setting. We observed an FCU that seemed to not move when sent movement commands. The problem was that on this device the acceleration/deceleration values were both set to 0. Setting them to reasonable values in the Init resolves this issue. c. Add support for Simulation for maturo_fcu.ins. We need to set EOSByte setting according to whether simulation is enabled. d. Prevent TILE! Abort button from interrupting a query in progress to avoid potential IO timeouts. 13. ag_mxe.ins driver: a. Decrease minimum DoPowerSetup values: Center freq 65 -> 10 Hz Span freq 100 -> 20 Hz 14. Installer update: Prevent unprompted restart during the install caused by vcredist_x86. If a restart is required, the installer presents a dialog at the completion of the installation informing the user with option to do it now or later. 15. Updated vcredist_x86 to 14.29112.0 (VS 2019 16.7.5) 16. Add Reverb Empty Chamber Cal profile to shipping profiles. 17. Update Installer to install profile PDF user guides. 18. rs_esib_sa.ins driver: Add support for Asynchronous Sweeps (ReverbTest DO160G zero span mode). 19. Scripting and equation editors: Fix autocomplete bug selecting a character on backspace when autocomplete is not currently in progress. 20. Fix issue with auto string replacements in scripts when data element is renamed. The previous algorithm was too aggressive and was replacing variable names if they matched the old data name. 21. Scripting editor: Fix "EditLib Save Exception trapped" error when using ctrl-Q comment toggle on last line of script. 22. Start action: a. Allow popup menu option Edit Script... to edit a script called using inline script syntax, e.g. ={$myScript(value)} b. Allow popup menu option Edit Script... to edit a script called using inline script syntax in the conditional input of the Sequence. 23. Add popup menu options in Data View for View Values and Edit . Item varies by specific data type, for example equations show "Edit Equation", scripts show "Edit Script", etc. 24. TILE User Manual: update to Rev L 25. Scripting updates: a. Allow multi-line labels. b. Add panel_set_enable and panel_set_visible functions. Sets these properties on every control contained in the panel. Useful when using a panel grid, since objects returned by panel_get_cell are actually panels, not controls. c. Fix bug in panel_get_cell function- was not returning the matching object that was set in panel_add_at. d. Fix issues calling panel_execute on panel that is not currently visible. e. Add control_get_panel function: returns the panel item that the control is attached to. Useful for processing wizard panels. f. Prevent combo dropdown from returning True in panel_value_changed or control_value changed when user is still making selection. g. Fix string conversion issue for slider control after control_refresh or panel_refresh. h. Allow control_set_range to work on a slider after creation (dynamic panels). i. Allow user to finish entering text in standard edit control before panel_vlaue_changed or control_value_changed returns true. j. Fix issue with panel_value_changed- was returning panel reference instead of control_reference when changed control is in subpanel. k. Add control_refresh function. Same as panel_refresh but for specific control object. l. Added control & panel change detection functions. m. Fix bug when using F5 key to resume running after script has been paused. n. Add "Don't display this message again" checkbox to Script Paused dialog when pausing a script. o. Prevent possible crash calling graph_remove_line. 9/4/2020 Version 7.5.7.11 1. ivi_scope.ins driver: Add Measurement Units setting to return voltage-based measurements as dBuV. 2. Scripting updates: a. Added wizard_check_button button function. b. Add panel_wait_button and panel_check_button functions (same function as wizard_wait_button and wizard_check_button). c. Allow dynamic setting of control_set_visible and control_set_enable after panel creation. d. Allow control_set_choices to update combobox dropdown content in a dynamic panel (after it has been created). e. Fix issue with control_get_val and control_get_selected_index on combobox dropdown control returning intermediate values before user has finished selection. f. Added panel_wait_visible function. g. Fixed set_working_directory for subscripts. h. Added scripting shorthand functions for files. i. Fixed scripting switch statement bug. 3. Scripting editor updates: a. Fix autoformat issue incorrectly modifying empty lines. b. Ensure editor view is properly restored after autoformat completes. c. Improve scripting editor autocomplete: 1. Finishing or exiting autocomplete starts text entry at function parameters. 2. Fix autocomplete when current line is indented. 3. Remove non-functions from autocomplete list. 4. Do not move cursor to top after autoformat. 5. Imrpove autoformat for switch statements (indent after each case statement). 6. Clicking in editor while autocomplete is in progress finishes current selection. 7. Handle mouse selection and double-click of items in autocomplete function list. 8. Handle Enter key to make autocomplete selection. 9. Handle autocomplete exit when clicking outside of editor if autocomplete listbox is showing. d. Add auto-indent feature. Indentation of new line matches previous line. e. Don't move cursur to end of buffer when Run or Stop button are pressed. Cursor only needs to move when in Stepped mode. f. Fix colorizer for $names when $ is used as a non script function, such as with script_replace string tags. g. Add additional editor keyboard shortcuts: 1. Ctrl-L : deletes current line or selected lines 2. Ctrl-Q : toggles comment for selected lines on or off 3. Ctrl-Shift-Up and Down : moves selected lines up or down in editor 4. Ctrl + [ : exit editor focus (allows tabbing through buttons) 5. ctrl + ] : enter editor focus 6. Shift + F5 : stop script h. Reorder tab order so that editor control is first, allowing user to immediately edit the script when entering the page. i. Update Help text to show new key shortcuts, also F11 step into. j. Show Editor Help when Help button is pressed. 4. Data Source tab updates when editing data elements: a. Fix radio button selection issue on Data Source tab. Some types were not being selected when re-entering tab (only in 7.5.7.6). b. Add keyboard shortcuts to each Source type selection. For example, after entering Source tab, press "F" to select File type, "S" to select Script type, etc. Press Alt key to see underlined character for each type's shortcut. 5. Updated the security key drivers for the latest releases of Microsoft Windows 10. 8/21/2020 Version 7.5.7.6 1. emc_professional_tt.ins and emc_professional_tw.ins drivers: New positioner drivers for EMC-Professional Turntable and Tower. 2. Scripting updates: a. Add array_unique function which produces an array with only the unique elements present in the input array- no value is represented more than once. Output array is a string array, unless input is a double value array in which case the output is also a double value array. b. Add table column and row arrays as valid inputs for array_to_string. c. New functions for graphs and tables: ui_graph_remove_line(graph, data) removes specified data item from graph ui_graph_clear_lines(graph) removes all lines (data plots) from graph ui_graph_set_url(graph, url) sets url for graph ui_table_add_line(table, data) adds specified data item to table ui_table_get_line(table, index_or_name) returns data item at specified index or data name ui_table_get_line_count(table) get current line count for table ui_table_remove_line(table, data) removes specified data item from table ui_table_clear_lines(table) removes all lines (data) from table d. Add a "temporary" flag for data items that you wish to globally clear/remove. Currently accessed through scripting functions: data_set_temporary(data, temp) temp = 1 to set, 0 to clear doc_remove_temporary_items(doc) deletes all data items with temp flag set e. New functions for external files/folders and processes (consult scripting manual for descriptions and usage): set_working_directory script_set_working_directory doc_set_working_directory shell_open file_get file_create file_get_name file_write file_write_line file_generate_name to_filename file_get_path folder_get folder_save folder_get_name folder_get_files folder_get_folders folder_dialog_select f. New miscellaneous functions to_name var_get_name to_var_name g. Fix issue with wizard functions being called from Start action or Math action with Hide Dialog = true. Script would hang in these cases. h. Fix issue with panel_execute function. Numeric values only update on first call; return 0 on subsequent calls. i. Update message_ok functions to process \r and \n properly when included in a string argument. 3. Script Editor dialog expands the editor pane instead of variables pane when resizing the window. 4. Fixed naming issue for data items with periods. 5. Add Move Up and Move Down buttons to Data Collections tab. 6. Updated vcredist_x86 to 14.27.29016.0. 7. Updated to 8.11 Hasp installer to support latest Windows 10 build. 8. Lumiloop_LSProbe.ins driver: Fix issue setting frequency > 2147483647 Hz (was mis-formatting and sending out as a negative value). 9. Update Sequence Editor entries when a data element changes name. 10. ETS_EMSense10.ins: Correct typo in driver description string. 11. maxhv and maxlr equation functions: a. Fix issue where the output data element (Word type data element in 3rd parameter position) was not properly refreshed after the function executed. b. Fix issue where the equation calling these functions was flagged with an error/warning condition (viewable in Log and would highlight red in Data View) if the output Word data element was empty before evaluating. 12. ag_mxa.ins driver: Fixed issue where CISPR filter type was selected when Positive detector command was sent. 13. Fix memory leak and possible crash when dragging multiple items in Data or Instrument Views. Crash usually occurs when large number of items are present in the view (>=100) or large number of items are selected. 14. Add inline scripting support to Test in Progress Banner text display. 15. Add support for external files and folders. New Data Source types = 'File Other' and 'Folder'. 16. Added "edit script" popup menu item to Start action. 17. rs_esib_sa.ins driver: Fix issue where internal ref_level is out of synch with instrument value, causing problems in DoPowerSetup() loop. 18. Immunity Test action: a. Fix Auto Level on Change of Frequency (Manual Mode) setting re-read issue for Power Meter leveling. b. Fix issue with Auto Level on Change of Frequency (Manual Mode) setting. Was causing re-read of Probes in Auto Mode when it was cleared if Leveling Mode was Probe Leveling. 19. Explore Drivers dialog: a. Fix drivers that were not mapping and so listed as . Fix some instances of drivers mapping to incorrect vendors. Fix redundancies that resulted from non-alphbetical map order. b. Add checkboxes to top of Instrument Type and Vendor selection lists. c. Move Aliases to last column of table. d. Implement new scheme for association of multiple vendors for HP, Agilent, and Keysight drivers: Driver names starting with “hp” will be listed with vendors Hewlett Packard and Agilent. Driver names starting with “ag” will be listed with vendors Agilent, Keysight, and Hewlett Packard. Driver names starting with “ks” will be listed with vendors Keysight and Agilent. For example, selecting Keysight in the Vendor selection list will list all drivers starting with "ag" and "ks". e. Update installer to remove old instrument html files and force Instrument Database rebuild for each version update. f. Supress Overwrite Existing Database Files dialog when no html files are present. g. Make the dialog resizeable. 20. Update Installer deleted instrument list to match DriverUpdates.csv. 21. Driver Updates: ag_exa, ag_mxa, ag_mxa_rx a. Deprecated ag_exa b. Automatically switch from ag_exa to ag_mxa when loading profiles c. Modified ag_mxa & ag_mxa_rx alias list to include EXA 22. Fixed Installer: Modified Install Script to better handle changes to the way HASP 8.11 updates registry keys 23. Launch and CallSetup actions: Fix resource issue that caused Action tab info and Windows Properties Details info to be blank. 24. Add "Organize by type" project view menu item. 25. Add "Html View" mode to graph. 7/8/2020 Version 7.5.6.4 1. rs_esib_sa.ins driver: Fix issue where internal ref_level is out of synch with instrument value, causing problems in DoPowerSetup() loop. 2. ag_exa.ins, ag_mxa.ins, ag_mxa_rx.ins drivers: a. Deprecated ag_exa.ins. Update DriverUpdates.csv to switch existing profiles to ag_mxa.ins. b. Modified ag_mxa & ag_mxa_rx alias lists to include EXA. 3. Update Installer deleted instrument list to match DriverUpdates.csv. 4. Immunity Test: Fix "Auto Level on Change of Frequency (Manual Mode)" setting re-read issue for Power Meter and Probe leveling. Was causing re-read of Probes in Auto Mode when it was cleared if Leveling Source was Probe, or re-read of PM1 if Leveling Source was Pwr Meter. 5. Explore Drivers dialog: a. Make the dialog resizeable. b. Fixed drivers that were not mapping and listed as . c. Fixed some instances of drivers mapping to incorrect vendors. d. Add checkboxes to top of Instrument Type and Vendor selection lists. e. Move Aliases to last column of table. f. Update TILE! installer to remove old instrument html files and force Instrument Database rebuild for each version update. g. Supress Overwrite Existing Database Files dialog when no html files are present. h. Implement new scheme for association of multiple vendors for HP, Agilent, and Keysight drivers: Driver names starting with “hp” will be listed with vendors Hewlett Packard and Agilent. Driver names starting with “ag” will be listed with vendors Agilent, Keysight, and Hewlett Packard. Driver names starting with “ks” will be listed with vendors Keysight and Agilent. For example, selecting Keysight in the Vendor selection list will list all drivers starting with "ag" and "ks". These changes will not take effect until the Instrument Database is rebuilt. 6. Fixed Installer: Modified Install Script to better handle changes to the way 11+1 updates registry keys. 7. Launch and CallSetup actions: Fix resource issue that caused Action tab info and Windows Propetries Details info to be blank. 6/22/2020 Version 7.5.6.1 1. Tower action: a. Add 2nd Instrument and dual movement support. Both instruments must have Seek capability- legacy drivers not supported in this mode. b. Add multithreading support. Allows user to drag runtime dialog title bar and continue to update UI. c. Move Clamp Device checkbox to Position 1 tab and renamed to Skip Polarization, which is what this setting does. This feature is useful for any device that does not support setting polarization, not just Clamp devices. Or the user might want the option to skip setting polarization for a device/driver that does support it. d. Do not show error dialog when user presses Stop button (makes this action's behavior consistent with the Tower action). 2. device_dt3169.ins: New driver for Device DT3169 positioner. 3. Fix XML import of displayItems. 4. ETS_EMGen.ins: Update for Rev. B, firmware 1.1.4 Rev B adds: a. FM Modulation support b. Expanded HF/LF frequency ranges. HF freq. range is 9 kHz to 6 GHz. LF is 9 kHz to 400 MHz. Most users can use HF (Output 1) exclusively without needing to switch ports for lower freq. 5. Simulation: Update *IDN? response for ETS_EMGen to support latest driver updates. 6. CustomDriver.ins: a. Add SpectrumAnalyzer to supported Driver Types. We still can't write a complete Custom Analyzer/Receiver driver, but we can support inheriting an existing driver as the Default Driver and using the Custom Driver to overwrite specific methods or add missing functionality to the native driver. b. Fix internal driver type for VNA device type (affects the Type column in Instruments View). 7. MicroLambda_mlbf_series.ins: a. New driver. Instrument is either notch or pass band filter device. Use as a SigGen device (e.g. Setup/Read action), or as the Filter Network instrument in Immunity Test. 8. Remote SCPI Server: a. Add docname? command to get name of current profile. Adding path parameter (docname? path) returns full path of profile. If no profile is loaded, "No Profile Loaded" is returned. b. Add syntax check for opendoc command. If no file parameter is specified, "ERR_NO_FILE_SPECIFIED" is returned. 9. Immunity Test: a. Re-enable Fail and Pass buttons during Auto mode. These buttons had moved to the group of buttons (including Next/Prev/Up/Down) that were disabled during Auto mode operation due to the threading changes made in 7.5.1.2. b. Allow Pause button to interrupt a modulation dwell period. 10. AnaPico_siggen.ins: New driver 11. innco_CO3000.ins: New driver 12. add(), sub(), mult(), and div() equation functions: a. Add support for log interpolation of Y input. b. When Y interpolation is off, add error check for X input having greater number of points than Y input (function generates error as ducumented). 13. Change dialog message for Table drag and drop. 14. Fix copy/paste crash from the Project View for graph, table, data, instrument items. Eliminate the Append Name dialog when pasted items originated from the same profile. 15. PosTT and Tower actions: Improve Current Position indicator display responsiveness and formatting. 16. Updated vcredist_x86 to version 14.26.28720.3. 17. btn4300_multi drivers: a. Fix string formatting crash introduced in TILE! 7.4.4.5 (SR-2020-6095) 3/25/2020 Version 7.5.5.6 1. rs_esib_sa & rs_esib_rx drivers: Add Range Switching support. 2. Build Instrument Database: Don't show option at completion to view errors, since we always generate some errors loading the drivers (i.e. this is "normal" and so we shouldn't indicate there is a problem). 3. Explore Drivers Dialog: will show drivers with the "ag" prefix as Keysight. 4. Scripting: a. Fix class_value_set and class_value_get functions (not working since 7.2.6.15). b. Log scripting errors to Log View when scripts are running without Scripting Editor open. 5. Dare_RadiSense10/ETS_EMSense10 driver: a. Add code to help configuration in a Single Slot chassis. We trap the serial config and force the settings that are required (Serial VISA, Baud Rate = 115200, Terminate Read on EOS = True). b. Add error checking to check for laser off. c. Better error checking algorithm overall- avoid re-read which resulted in IO timeout delays. Add error dialog showing specific error code that occurred. d. Change default Filter setting from 6 to 2. This setting is more suited for Reverb Chamber testing where field can change rapidly and cause internal probe ranging. At higher filter settings (3 through 6), this can lead to Error 703. Higher Filter settings means longer sample time (Filter 2 is 15x faster than Filter 6). e. Check for Error 703 and recommend to user to choose smaller Filter setting. f. More descriptive error message for Error 703. g. Change ETS_EMSense10 data command from D5 to H5. h. Add Default Frequency setting. i. Force Cal Corrections to Enabled (EMSense10 should never take reading with undefined frequency). 6. ag_mxa and ag_mxa_rx drivers: Add Aliases for specific CXA, EXA, MXA, PXA, and UXA models (enables proper driver suggestions after doing *IDN? query in Explore Driver Dialog). 7. Optimize Action: Fixed issue where the default resolution bandwidth of 120kHz was used instead of the user selected value for some sweeps. 8. ag_mxa_rx driver: Fix Range Switching related issues. 9. Updated vcredist_x86 to VS 2019 16.5.0 version. 2/27/2020 Version 7.5.3.5 1. Fix issue that prevented the following drivers to load: ar_200T2G4.ins, ar_20T4G18_fwd.ins, ar_20T4G18_rev.ins, ar_tg_series_x.ins, CAD6202E.ins, d4dtech.ins, Ezm.ins, fl195.ins, fl6061.ins, Instek_GSP827.ins, pmm_8053.ins. 2. rs_fsv.ins driver: Adding DoScreenCapture to support Action Transfer. 3. Fixed table copy and paste crash. 2/13/2020 Version 7.5.2.4 1. Fix potential crash saving the profile or dropping a new action on the Flowchart while a Script Panel is open. 2. Fix log/linear interpolation based on selected interpolation in data item. 3. pmm_9010_rx.ins driver: Change instrument type from Spectrum Analyzer to Receiver 2/7/2020 Version 7.5.2.3 1. Modified Gauss TDEMI RX & SA driver: Added setting to disable frequency integrity check 2. Fixed graph bug: was not updating when X axis data element changed 3. ag_mxe_rx.ins driver: a. Add Input Coupling setting. Default value is Do Not Change for backwards compatibility. b. Fix bug in previous conversion code for Scan Type setting. 1/22/2020 Version 7.5.2.2 1. Reverb Test and Reverb Cal actions: Add Primary radio buttons on Instruments 1 tab, or Primary Positioner setting in the Properties View. When Positioner 2 is set as the Primary Positioner, this effectively switches the positioner loops if both positioners are enabled, or if only one positioner is active switches the positioner used from Positioner 1 to Positioner 2. This is useful if the user wants to have their only positioner run as the Vertical positioner, then they can use Positioner 2 and have the setting labels reflect this accurately. 2. Reverb Cal action: a. Expose Results Logging feature with settings on Data tab and in Properties View. 1. File Path, Auto Increment Filename, and Logging enable are now settable. Default setting for File Path is $ProfileDir\$ActionName.csv which produces same filename as previous version. Other useful macros are $ProfileName, $TileDir, $TileProfileDir, $\\ (up one directory). 2. Pausing action closes file so that another application (e.g. Excel, Notepad) can view the current results. b. Suppress error dialogs that typically occur when pressing Stop button. c. Fix issue where Power Meter 2 Delay setting was not being implemented. This could make some existing profiles run slower, but those profiles could be adjusted to compensate (set Delay to 0 to get old behavior). 3. Fix issue calling scripts with Ignore/Replace Command feature. If the script did not return a value, there was an extra Write call with the string = "0". 4. an_mg369x.ins driver: Convert to Settings driver. One setting for Internal Pulse Clock Rate: 10 MHz or 40 MHz. 5. Immunity Test action: a. Cleanup Monitor Limit Comparison values when loading; some profiles have been observed to have this value corrupted. b. Make Monitors processing more efficient. c. Fix issue where spaces could not be entered into Comments field. This problem originated when Spacebar toggle between Pause/Run was added (TILE 7.5.1.2). 6. rs_nrx.ins: New R&S NRX Power Meter Driver. Based on the NRP driver and adds the following functions: a. Add Pulse Analysis Measurement type to better support faster and more accurate pulse signal measurements. b. Replace the NPP/NRP2 compatible commands with NRX recommended commands, and add some new NRX specific SCPI commands. 7. ETS_EMSense10.ins and Dare_RadiSense10.ins drivers: Fix issue sending frequencies > 2147483647 Hz (was mis-formatting and sending out as a negative value, causing ERROR 3 on the module). 8. Graph updates: a. Change Customer action label to Client. b. In Properties View, change Additional Information\Customer group name to Client. c. Fix bug on graph where additional info text could be incorrectly drawn if no action was specified. d. On Additional Information tab, allow Operator action selection to include both LabInfo and Operator actions (previously only allowed LabInfo). 9. ag_mxa_rx.ins driver: a. Avoid multiple retries if error occurs in ReadPt. b. Avoid possible interruption of Abort button during IO queries. 10. Added a tile_exit() function to scripting so you can exit TILE under script control. 12/9/2019 Version 7.5.1.5 1. ag6031.ins driver: a. Fix parsing issue on reads - 0 was returned for all values. b. Convert to Settings driver (Mode = Voltage or Current). Old .ins files are deprecated and replaced by single .ins file ag6031.ins. Deprecated files: ag6031_volt.ins, ag6031_current.ins 2. Update the Flowchart view immediately when profile's Show Flowchart setting is changed (before needed to click in the Flowchart or resize the pane to initiate the update). 3. Fix issues deleting Actions from Project View a. Deleting actions left dangling links in flowchart. b. Deleting actions followed by Undo could crash TILE!. 11/26/2019 Version 7.5.1.4 1. New global keyboard shortcuts a. Add F5 keyboard option to Run Default Action. b. Add Shift-F5 keyboard option to Stop current action (Run->Stop or press Abort button). 2. Immunity Test action: a. Add multi-threading support. Separates IO from UI thread so that the dialog stays responsive. IO is not halted when interacting with test window (such as dragging the window bar). Manual mode buttons are locked out when appropriate. b. Better shutdown behavior. Error dialogs are suppressed if a Cancel or Abort event occurs. c. Action responds to TILE! Abort button (or Run->Stop menu) seemlessly, even when in Manual mode. d. Spacebar will toggle between Pause and Start Auto. 3. ag_epm.ins driver: a. Convert to Settings. 1. Old channel configs map to the Channel setting. Deprecates these .ins files: ag_epm_ch1.ins, ag_epm_ch2.ins, ag_epm_ch3.ins, ag_epm_ch4.ins, ag_epm_chA.ins, ag_epm_chB.ins, ag_epm_chC.ins, ag_epm_chD.ins, hp_epm4419_ch1, hp_epm4419_ch2 2. New Window setting. Forces a channel into a specific window slot, overriding the default assumptions. For example, the default assumption is that all letter configs (A-D) will use the 4-window format and place the channel in the corresponding window slot from top to bottom. Using a specific window config, Ch D could be put into a 2 window format by selecting a Window setting of 1 or 2 (1 is top, 2 is bottom). 4. Prevent instrument view from clearing after an action copy/paste in flowchart (instruments were still there- but required a manual refresh to see them). 5. ETS_8100_Amp_Series.ins driver: Add 8100-043, 097-100 model types 6. m_peaks_new (MPeaks) action: Fix issues with Manual Optimization mode a. Dialog was locked if one of the Monitor buttons was pressed. b. Start/Stop frequencies were not calculated correctly when switching frequency. 7. Installer updates: a. Change Windows 10 installs to skip ucrt ver. check. b. Set overwritereadonly flag for Simulation\Config Files\Shipping directory. 8. Simulation: Update SA Cmd Config to support current versions of ag_mxa_rx and rs_esu_rx. 9. Prevent Run Default Action from executing if actions are currently running. 10. Fix issue where Run->Reset does not clear action colors immediately. 11/8/2019 Version 7.5.1.1 1. Fix Export of Word type data element from Data View. 2. Threshold action: Fix serialization loading issue: Reset Delay (after Failure) on Links tab was loading in different order than where it was saved. A profile that set this to a non-zero value became corrupt and would not reload. 3. ag_mxa.ins driver: Update to support dual trace actions (Optimize and MRangeEx). 4. Add detection of undefined variables to scripting. 5. Added graph interpolation mode. 10/15/2019 Version 7.5.0.3 1. Add ETS_EMSense10.ins driver 2. Reverb Cal action: Add Range Switching support 3. Immunity Test action: a. Immunity Event 6-Frequency End was not generated on the last frequency step if that step had failed. b. The Step to Next Frequency on Fail (Manual Mode) setting was active when the test was in auto mode, not manual mode. This caused an issue if the action had both the Auto Mode and Manual Mode settings enabled, where the test was skipping forward and/or missing frequency steps on failure events. 4. Pasting XML feature enhancement. Don't duplicate data items that already exist in profile. 5. Simulation 2.2.1.28: a. Fix PwrMtr Sim problem calling Init action multiple times when using ag_epm driver. b. Add warning indicator to Command Config Editor when unable to save file to disk. b. Update TILE! installer to set ReadOnly flag for files in Config Files\Shipping folder. c. Add Move Model to Top menu option in Command Config Editor table control. This allows re-prioritizing of cfg entries at run-time and without using Sim Control (i.e. sent by TILE!). d. Show "Press Update to Accept Changes" indicator on Command Config Editor panel when value of table control does not match the Sim value. e. Sim Positioner updates: 1. Add stepper motor commands to support ASYCONT controller 2. Add ability to set Local/Remote using remote commands 3. Add ability to set speed using Percent scale (1 to 100) 4. Add ASYCONT commands to Positioner Cmd Config file 5. Introduce Speed Profile setting. Speed Profile contains 2090 Speed Settings array which stores preset values for S1 to S8 from 0-255. Also contains Min/Max rotation times (default 4s-900s). 6. Implement SS# command: 2090 Set Speed Setting. Use to change the actual speed of the S1-S8 speeds. E.g. default SS1 setting is 31 which corresponds to ~25s/rev: use SS1 10 to change S1 to ~75s/rev. 7. Add Set/GetMinRotationTime and Set/GetMaxRotationTime commands. Use these to change the the default min/max times of 4 sec/rev and 900 sec/rev. all Set commands (non-queries). This corresponds with TILE! updates from ver. 7.4.6.3. f. Update Positioner, PM, and SG Cmd Cfg files to implement OK response from EMCenter drivers for all Set commands (non-queries). This corresponds with TILE! updates from ver. 7.4.6.3. g. Handle NULL byte termination h. Improve model_name algorithm to re-order matching commands in Cmd Cfg Strings array- move commands as a block without reversing order. 9/27/2019 Version 7.4.8.1 1. Fixed scripting bug related to cursor advancement on if statement processing. Enhanced script editor for "else_if" "else" statements and showing the correct executing line. Fixed data formatting bug when a NAN value is being formatted. 2. SCPI Server: Add runscript