PRINT_DEVICES_LINK

The PRINT_DEVICES_LINK function prints a hyperlink for a set of devices in the test output, that enables the devices to be visualised in the application.

This is similar to the function PRINT_DEVICE_LINK. There is also an equivalent for the test details output: TEST_DETAILS_DEVICES_LINK.

XJDeveloper and XJInvestigator

If an ODB++ netlist is available for each board, left clicking the hyperlink will launch Layout Viewer and highlight all the devices. Right clicking the link will present the following options - Open in Layout Viewer, Add to Selection in Layout Viewer and Show in Schematic Viewer. If XJAnalyser is available, for any JTAG-accessible devices there will also be a Show in Analyser option, which navigates to the device in the Analyser screen.

XJRunner

Links will only be highlighted and clickable if ODB++ information is available for each board. In this case left clicking will launch Layout Viewer and show the devices. Right clicking the link will present the following options - Open in Layout Viewer, Add to Selection in Layout Viewer and Show in Schematic Viewer.

XJRun command line

No formatting will be applied.

Syntax

PRINT_DEVICES_LINK( text, deviceReference, ... )

Parameters

text
The text to print for the link.
deviceReference

One or more device references in the form 'board.device'. The board name is optional, but each device reference must uniquely identify a device; if there is any ambiguity, then the board name must be supplied.

Errors

An error can occur in the following circumstances:

  • Any deviceReference supplied does not match any test device in the project.
  • Any deviceReference supplied does not contain a board name and matches more than one device.

In both these cases, if the expressions are constant, the error will occur at compile-time. Otherwise, the error will occur at run-time, when the function is run.

Examples

CONST STRING constDeviceA := "IC1";
STRING varDeviceB := "IC2";

// Checked at compile time
PRINT_DEVICES_LINK("IC1\n", constDeviceA);

// Checked at run time
PRINT_DEVICES_LINK("IC1 and IC2\n", constDeviceA, varDeviceB);

// Guaranteed to be found with board qualifier
PRINT_DEVICES_LINK("IC3 and IC4\n", "XJDemo.IC3", "XJDemo.IC4");

// Print this device and one other
PRINT_DEVICES_LINK("This device and IC6\n", UNIQUE_DEVICE_REF, "XJDemo.IC6");

// Print in the middle of a line of text
PRINT("Here is a link to ");
PRINT_DEVICES_LINK("IC7/IC8", "XJDemo.IC7", "XJDemo.IC8");
PRINT(" in the middle of a sentence.\n");

// Many device links
PRINT_DEVICES_LINK("Many devices\n", "XJDemo.IC1", "XJDemo.IC2", "XJDemo.IC3", "XJDemo.IC4");

Output

IC1
IC1 and IC2
IC3 and IC4
This device and IC6
Here is a link to IC7/IC8 in the middle of a sentence.
Many devices