PRINT_PIN_LINK
The PRINT_PIN_LINK function prints a hyperlink for a pin in the test output, that enables the pin to be visualised in the application.
Multiple pins can be linked to using PRINT_PINS_LINK. There is also an equivalent for the test details output: TEST_DETAILS_PIN_LINK.
XJDeveloper and XJInvestigator
If an ODB++ netlist is available for the board, left clicking the hyperlink will launch Layout Viewer and show the pin. If no ODB++ netlist is available left clicking the link will show the pin in Explorer. Right clicking the link will present the following options - Open in Layout Viewer, Add to Selection in Layout Viewer, Open in Explorer and Show in Schematic Viewer. If XJAnalyser is available, any pins on JTAG devices will also display a Show in Analyser option, which navigates to the pin in the Analyser screen.
XJRunner
Links will only be highlighted and clickable if ODB++ information is available for the board. In this case left clicking will launch Layout Viewer and show the pin. 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_PIN_LINK( STRING pinReference )
PRINT_PIN_LINK( STRING text, STRING pinReference )
Parameters
- text
- Optional text to print for the link. If this argument is not given the text used will be the name of the pin being linked to.
- pinReference
-
A string that identifies a pin in the netlist in the form 'board.component.pin'. This may be a string returned from the GET_PIN function. The board name is optional, but the pin reference must uniquely identify the 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 pinReference does not match any device in the project.
- The pin referenced by pinReference does not exist on the device.
- The 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
CONST STRING constPinA := "IC1.A1"; STRING varPinB := "XJDemo.IC2.2"; // Checked at compile time PRINT_PIN_LINK(constPinA); PRINT("\n"); // Checked at run time PRINT_PIN_LINK(varPinB); PRINT("\n"); // Guaranteed to be found with board qualifier PRINT_PIN_LINK("XJDemo.IC3.3"); PRINT("\n"); // Guaranteed to be found using GET_PIN PRINT_PIN_LINK(GET_PIN(DATA[0])); PRINT("\n"); // Text argument PRINT_PIN_LINK("This is a link to IC4.4\n", "XJDemo.IC4.4"); // Printed in the middle of a line of text PRINT("Here is a link to "); PRINT_PIN_LINK("DATA[7]", GET_PIN(DATA[7])); PRINT(" in the middle of a sentence.\n");
Output
XJDemo.IC1.A1 XJDemo.IC2.2 XJDemo.IC3.3 XJDemo.IC5.18 This is a link to IC4.4 Here is a link to DATA[7] in the middle of a sentence.
XJTAG v4.1.100