PRINT_PINS_LINK

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

This is similar to the function PRINT_PIN_LINK. There is also an equivalent for the test details output: TEST_DETAILS_PINS_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 pins. Right clicking the link will present the following options - Open in Layout Viewer, Add to Selection in Layout Viewer and Show in Schematic Viewer.

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 pins. 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_PINS_LINK( STRING text, STRING pinReference, ... )

Parameters

text
The text to print for the link.
pinReference

One or more strings that identify a pin in the netlist in the form 'board.component.pin'. These may be strings returned from the GET_PIN function. The board name is optional, but each pin reference must uniquely identify a pin, so if there is any ambiguity with the device reference, then the board name must be supplied.

Errors

An error can occur in the following circumstances:

  • The device referenced by any pinReference does not match a device in the project.
  • The pin referenced by any pinReference does not exist on the device.
  • Any pinReference 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

// Bus defined in this device file:
//  DATA := 17, 16, 15, 14, 13, 11, 10, 9;

CONST STRING constPinA := "IC1.A1";
STRING varPinB := "XJDemo.IC2.2";

// Checked at compile-time
PRINT_PINS_LINK("One pin\n", constPinA);

// Checked at run-time
PRINT_PINS_LINK("Two pins\n", constPinA, varPinB);

// Multiple pins using GET_PIN
PRINT_PINS_LINK("DATA pins 0,1,2,3\n",
    GET_PIN(DATA[0]), GET_PIN(DATA[1]),
    GET_PIN(DATA[2]), GET_PIN(DATA[3]));

Output

One pin
Two pins
DATA pins 0,1,2,3