XJTAG 3.7 Change Log
This document lists the main changes in each minor release of XJTAG. Please see the Release Notes for a list of breaking changes and other issues for this release.
The fixes are generally sub-divided by product. Please note, however, that fixes applied to XJRunner and XJAnalyser are usually applicable to XJDeveloper and XJInvestigator also.
3.7.5
Released 6th September 2018
- XJDeveloper:
- Boards screen:
- Allow import of BOM data from a wider range of schematic files.
- Handle importing from files that are in the current codepage rather than UTF-8.
- Put an upper limit on the number of rows to import from a BOM file.
- Nets screen: allow links to be found on termination nets.
- Categorise Devices screen:
- Fix crash categorising devices in certain situations after categorising logic devices.
- Two recent categorisation buttons were being displayed after categorising a device from the library.
- Test Device Files screen:
- Fix potential crash creating a new device file based on an existing device.
- Fix potential crash after adding a bus.
- Debug Connection Test screen:
- Fix broken help link in the settings dialog.
- Display initial state of logic blocks.
- XJRunner Setup screen: if a new test function is added to a group that is disabled, enable the group.
- Explorer:
- Show AC access through capacitors.
- Show compliance nets even if there is no access.
- Make Ctrl+E open Explorer when separated screens or the BSDL Editor have focus.
- Schematic Viewer: don’t unnecessarily open new tabs.
- When updating files from the library, make it clear which old backed-up files were modified from the original library version.
- Add a Select All button to the Updated Library Files dialog.
- Performance improvements for the Errors and Warnings panes when making large project changes.
- Boards screen:
- Log File Viewer:
- Fix potential crash closing the viewer in certain circumstances.
- Fix potential crash opening a new log document.
- XJRunner Integration:
- Improve the documentation around referencing the assembly in .NET projects.
- Running a single test function disabled all other tests in the test list.
- Improve the manipulation of TestCollections.
- XJEase:
- Runtime errors in additional code files were not always displayed in the correct location.
- Fix a potential internal compiler error if compilation had previously been cancelled.
- Sleep in a trst sequence could be too short.
- Logic: allow write through logic if uncontrollable inputs in X state.
- STAPL: initialised arrays could not be modified, which was a restriction in the original JAM specification but not in STAPL.
- SPEA: ignore inaccessible test points when determining voltage domains.
- XJPack: only warn about uncategorised devices if they’re accessible via JTAG to match the behaviour packing projects in XJDeveloper.
- Help:
- Improve the help for log filename and header formatting.
- Improve XJEaseDocs examples.
- Installer: fix the XJTAG Online Support hyperlink.
3.7.4
Released 31st July 2018
- XJDeveloper:
- Add some extra JTAG chain termination checks.
- Ignore termination on RTCK pins in pinmaps, rather than refusing to open the project.
- Importing a SPEA Leonardo project could result in absolute paths being present in the project.
- XJEase: fix runaway memory usage when running tests in some situations.
- Connection Test: fix some issues around constants driven through logic.
- XJRunner Integration: improved documentation of LabVIEW examples.
- SPEA: help improvements.
- Keysight i3070: fix plugin DLL so that it can be reloaded to run a second time on Windows 7 machines.
3.7.3
Released 13th July 2018
- XJDeveloper:
- Boards screen:
- Fix voltage domain configuration in some non-UK locales where commas are used as decimal separators.
- Fix crash editing an external hardware boards that was not fully resolved.
- BOM: extract resistor and capacitor values from multi-line descriptions.
- Add option to not show the dialog again when warning that a BOM field has already been assigned.
- Do not allow newly added external hardware to be used if there are errors.
- Reference the created voltage domains file with a relative rather than an absolute path.
- Connections screen: fix potential crash after deleting a manually created device that has been categorised as logic.
- JTAG Chain screen:
- Fix crash pressing undo after assigning the same BSDL file to two cores of a multicore device.
- Fix potential crash setting up the JTAG chain in a project originally created in XJAnalyser.
- Categorise Devices screen:
- Ensure configuration values are displayed in the same base in which they were defined.
- Fix potential crash entering incomplete configuration values.
- When automatically selecting configuration values based on a part number, display the part number that was used.
- Tests could still be added to the testlist even if the user had opted not to.
- Allow the name of the test group to be modified when adding tests to the test list.
- Provide a reason why a device is suggested as a resistor pack.
- Device Files screen:
- Put newly created busses at the end of the list, rather than sorting automatically.
- Don’t allow a newly created bus without any pins to be saved.
- Make Tab and Ctrl+Tab work to switch between open test device files.
- Logic Files screen: add Save All.
- Circuit Code Files screen: fix crash viewing an XJModule’s documentation when the module is included via an absolute path.
- XJRunner Setup screen: fix possible crash when editing bus access overrides.
- Code Editors: fixed a number of issues with Find and Replace.
- Explorer:
- Show more information about a pin’s net when viewing a pin.
- Show access to a negative pin of a grouped port.
- Show access for pins on uncategorised devices on TAP nets and nets with compliance pins.
- Nets inside a multicore device shown incorrectly when displaying 1149.6 access.
- Fix a couple of issues resolving relative paths when multiple boards exist in different directories.
- Save backups of board files when permanently removing library references from the project.
- Require pull resistors on TAP nets to be categorised.
- Require pull resistors on nets with compliance pins to be categorised.
- Fix potential crash opening a project in some circumstances.
- Allow Ctrl+E to open Explorer from the Layout Viewer and Schematic Viewer.
- Boards screen:
- XJRunner:
- Extend the Pass/Fail field in log file headers and filenames to include Stopped if tests were stopped.
- Fix potential error concurrently writing log files in group mode.
- Ensure LOG_FILE_PATH and FORMATTED_LOG_FILE_PATH are set in a post-testing function if the tests were stopped by the user.
- XJInvestigator: splash screen could remain displayed when the application is opened without a valid licence available.
- Log File Viewer: improve the performance of the navigation control.
- XJLink Manager: improve XJLink2 self test dialog.
- XJRunner Integration:
- Fix possible crash using the layout viewer inside LabVIEW.
- Allow Multiple Test Runs to be opened in LabVIEW 2009 onwards.
- Layout Viewer: disable Explorer context menu item in XJRunner and XJRunner Integration.
- XJEase: fix error parsing a line that ends with a double slash with a UNIX line ending.
- Connection Test:
- Add an option to deal with common controlled drivers driving grouped AC inputs.
- Fix handling constant nets that are driven through external hardware.
- Viewer: fix possible crash loading data in some circumstances.
- Help:
- Rename Agilent to Keysight.
- Minor external API documentation improvements.
3.7.2
Released 15th May 2018
- Fix potential crash on Windows 10 with the 1803 Spring Creators Update when opening a project.
- Connection Test: don’t report a lack of inverted short between receivers tied to power/ground.
- Help:
- Tutorial: add new exercise for unfitted device suggestions.
- Fix the case of various index entries.
3.7.1
Released 9th May 2018
- XJDeveloper:
- Fix warning that reported that the XJLink connector had -1 pins when used in a device to device connection.
- Report the name of the argument when reporting errors in test function arguments rather than its zero based index.
- The start screen could appear inside an opened project if there was a licence check failure while opening a project.
- Save any modified test device files when saving a recovery project during a crash.
- Allow updating logic definitions when opening a project to be deferred.
- Fix potential crash if a breakpoint is removed by removing the line of code that it is on.
- Display better diagnostics when selecting an XJEase library fails.
- Fix potential crash after opening the application and checking for updates and the XJEase library is inaccessible.
- Handle resistor values better where comma is being used as a decimal separator.
- Unfitted Rules dialog: add a button to go to the Options dialog to edit the patterns.
- Boards screen:
- Categorised termination nets could get lost when updating the netlist for a board.
- Fix potential crash when selecting a compressed ODB++ netlist whose file extension was in upper case.
- Import BOM data from Altium schematic PDFs.
- Connections screen: convert pinmap to an XJLink2 pinmap when defining XJLink2 pin connections.
- JTAG Chain screen:
- Make it easier to setup a multicore JTAG device with multiple TDI and TDO.
- Setting an 1149.6 Minimum Test Time of zero would revert to a Minimum TCK Cycles of zero after closing and reopening the BSDL Settings dialog.
- Prevent duplicate error messages when there are missing cell type definitions.
- A JTAG device could be incorrectly displayed in red if its board was in a different directory to the project.
- Categorise Devices screen: fix going to an XJEase device file when there are multiple copies of a device file in a project in different directories.
- Test Device Files screen:
- Improve editing busses.
- Make creating a test device file based on a device the default.
- Ensure all warning associated with a file are removed when a file is removed.
- Logic Files screen: errors sometimes would only appear after the project was reopened.
- DFT Analysis screen:
- Allow the reports dialog to be maximised.
- Disable all reports if the project contains no boards.
- XJRunner Setup screen:
- Hide test functions requiring input parameters by default, but add a checkbox to make them visible.
- Add project errors when there are errors overriding bus access.
- It was possible when renaming a profile that all conditions in the project could be lost.
- Analyser screen: fix potential crash switching away from the screen while additional TRST output is still to be printed.
- XJAnalyser: fix a possible crash exiting the application while the chain is stopping.
- XJRunner:
- Make the UI more responsive when starting tests.
- Fix a potential crash when pressing F5 to run tests immediately after tests have finished running and there is a post testing function present that runs after the log file is written.
- Fix potential delays after running tests in some situations before tests can be run again.
- Fix a crash when attempting to import a modern .xjp file rather than an old .xjrp file.
- Setting the Continue on Failure option in Project Management had no effect and was not persisted in the project.
- JTAG Chain Debugger:
- Improve robustness to unplugging the XJLink while running.
- The scan number for an error could be incorrect when checking signal integrity.
- Crash Reporter: continue and send the report even if some expected files are missing.
- XJEase:
- Fix crash if the first JTAG access failed while inside a HOLDOFF block.
- Fix running TRST sequences that contain PIO pins as well as external ICT pins.
- Clear the LOG_FILE_PATH and FORMATTED_LOG_FILE_PATH variables before running tests – their values could persist across test runs.
- Set LOG_FILE_PATH and FORMATTED_LOG_FILE_PATH to ‘UNAVAILABLE’ outside the post testing function.
- Add an option to display information about logic access while running XJEase.
- ICT integration:
- Add UI to XJDeveloper to configure voltage domains.
- Improve error messages for flying probe machines when test points cannot be access simultaneously.
- Netlists:
- Support extracting netlist information from IPC-2581 files.
- ODB++
- Fix a crash if a project contains duplicate layers.
- Be less strict about layer names.
- Return a warning rather than an error if there are duplicate nets.
- Handle files that are gzipped rather than compressed inside ODB++ projects.
- Improve BOM extraction by handling BOM description records.
- Don’t report errors if layers have missing CONTEXT or TYPE fields.
- Handle pins with a blank name.
- Help: fix external links to regular expression reference material.
3.7.0
Released 3rd April 2018
- XJDeveloper:
- Allow multiple BOM sources to be configured, including dedicated BOM files, netlists and schematics.
- Allow any BOM fields from all sources to be imported and made visible in the application.
- Improved suggestion of unfitted devices based on BOM data.
- New Test Summary Report on the DFT screen that gives an easy to understand overview of how a board will be tested.
Smaller enhancements and bug fixes
- XJDeveloper
- Boards screen:
- Simply selecting the netlist on the Add/Edit board dialog.
- When selecting a .tar or .tgz ODB++ netlist, offer to convert it to a zip file instead.
- Fix crash if an ODB++ filename is entered that contains invalid characters.
- Attempting to display the BOM import dialog more than once from the Add/Edit board dialog could fail.
- Categorise Devices screen:
- Improve the performance of the uncategorised device selector.
- Don’t ask to add tests to the test list if there are none to add.
- Fix overlapping text on the categorisation records buttons.
- Test Device Files screen:
- Add an option to add stub test function and description to new test device files.
- Change the default option when creating a new device file to be based on the device being categorised.
- Simplify the Add/Edit bus dialog.
- Configuring a device cleared its variables.
- DFT screen:
- Clarify the wording on the test point reduction report.
- Fix calculation of test coverage for pins on multicore devices.
- XJRunner Setup screen: fix potential crash editing a test group.
- XJEase code editors:
- Add undo and redo buttons.
- Using Control+Space to auto complete words could list some keywords twice.
- Automatically identify common passive linking devices on power and ground nets, such as fuses, inductors and ferrite beads.
- Assistant improvements.
- Options dialog: split the Files pane into Libraries and Projects.
- Add an option to password protect the zip file when exporting.
- XJEase Debugger: fix potential crash stepping over an IF statement with XJModules in the call stack.
- Cancel creating embedded layout viewers in the background when the option to include them is unticked.
- Only increment the XJPack file version after the project has been packed, so that the version displayed is the one that goes into the file.
- Clarify misleading error message when attempting to access a file that is on a CD/DVD drive that is no longer there.
- Changes to 1149.6 settings were not reflected if the 1149.6 settings dialog was opened for a second time without closing the main BSDL settings dialog.
- Fix potential crash closing the application while a project is still being opened.
- Ensure Suggest as Passive dialog remembers its last position.
- Schematic Viewer: improve pin search.
- Include XJEase Library v154.
- Boards screen:
- XJRunner:
- Allow XJLink serial numbers and names to be included in log filenames.
- Prevent various formatting issues that could occur when printing backspaces and carriage returns.
- Log File Viewer:
- Fix a potential crash cancelling opening a project after clicking on a link to view a circuit item.
- Fix a potential crash closing the project immediately after launching the log file viewer.
- Fix a potential crash opening a log file after the project has been closed.
- XJRun:
- Add -nowarn switch.
- Display any XJPack file version with the -info switch.
- Ensure that serial numbers are inserted correctly into log filenames.
- XJRunner Integration: various LabVIEW example improvements, including improving reliability and preventing memory and resource leaks.
- Chain Debugger:
- Signal integrity testing could under report the number of scans it has run.
- Fix potential crash removing a pin from a test reset sequence.
- Handle RTCK and overcurrent errors when scanning the chain.
- Warn if autoskew fails during Check Chain.
- XJLink Manager:
- Disable the Remove Licence button when Maintenance is selected.
- Improve the wording on the checkbox to enable loopback XJLink2 tests.
- Add more information to the network licence error log.
- Crash Reporter: cope with some files being inaccessible.
- Logic:
- Fix a spurious warning for conflicts on the same pin of a device when logic block inputs are tied to power or ground.
- Fix potential issue where starting running tests could make the application unresponsive.
- Fix potential issue where accessibility could be incorrectly reported with logic with multiple enable pins.
- Various fixes.
- Connection Test:
- Handle grouped ports correctly that are connected to single ended signals.
- XJEase:
- Improve the performance of assigning arrays and passing them as function arguments.
- Fix passing array elements as output arguments to functions.
- Fix an internal compiler error when adding the RUNSVF function to the testlist twice.
- Fix an internal compiler error passing a CONST array to a function.
- Ensure that PIO accesses work in a post testing function after tests have been aborted via EXIT.
- Detect invalid dynamic chain configurations and generate a warning.
- Display a better error when running a STAPL file inside a TRST sequence and the current JTAG state is unknown.
- ODB++:
- Don’t requires UNITS directive to be in upper case.
- Handle duplicate nets.
- Handle files inside the archive that have been gzipped rather than compressed.
- SPEA: display a warning when all testpoints have the same voltage domain.
- Help:
- Ensure mdashes and ndashes are rendered correctly.
- Remove some instances of smart quotes in the help, which were not being rendered correctly
- Highlight ampersands in code examples correctly.
- Improve various XJEase code examples.
- Improve the GETFREQ help.
- Clarify help for the SAFE keywords.
- Add XJEase Runtime Interface code example in C++/CLI.
- Fix the case of XJAPI function names in the index.
- Add some more explanation of what assigning a device from the library does to the tutorial.
- Various tutorial fixes and clarifications.
- Document the location of pin 1 on the XJLink2.
- Improve the troubleshooting section.
- XJDemo example project:
- Fix TCK termination warning due to incorrectly configured jumpers.
- Remove unnecessary Trst net functional test.
- Update to include new library files that include the new tags for the Test Summary Report.
- Update the XJD file for new XJDeveloper BOM and Test List features.
- Update the logic library.
- XJIO example project: use the correct pinmap that includes a soft start in the XJIO-PCI/XJDemo3 example project.
- Installer:
- Fix the registration of XJP files so that they can be opened by double-clicking.
- Keep the previous version’s XJRunner users database rather than selecting the newly installed empty one.
Older versions
3.6 | 3.5 | 3.4 | 3.3 | 3.2 | 3.1 | 3.0 | 2.7 | 2.6 | 2.5 | 2.4 | 2.3 | 2.2 | 2.1 | 2.0
We welcome any suggestions for improving our products. Please contact us with any comments you may have and we will look into incorporating your ideas into a future version.
