This page describes the basics of working with pyILPER.
The pyILPER user interface consists of the following main components:
The File menu contains functions to configure and control pyILPER. There you'll find entries for the pyILPER configuration as well as for starting and stopping the pyILPER loop. Use the Quit entry to exit the program.
The Utilities menu includes features that support working with pyILPER.
The Help menu provides menu entries for the online help system and some technical and legal information
The virtual devices and interfaces of pyILPER are contained in separate labeled pages. Click the corresponding tab of the device to bring the display and controls of the device or interface to the foreground.
The undock button allows you to detach the display and controls from the main user interface and view them in a separate window. You can move this "floating" window to any location on the desktop, including to a separate monitor. If you close a "floating" window, it is reattached to the main user interface again.
The pyILPER main window and the "floating" windows can be resized by clicking and dragging edges. The number of lines of scope, terminal, printer, or plotter output will increase or decrease accordingly. This is necessary for "floating" windows because they start with a minimum window size. The size and position of the windows are saved and restored when pyILPER restarts.
pyILPER establishes a virtual loop of emulated HP-IL devices, interfaces, and two scope probes. The loop can be started or stopped from the file menu. The loop has either the state "stopped", or "waiting for connections" or "running". In the pyILPER configuration window, you can configure the loop to start automatically.
The order of the tabs in the pyILPER tab bar determines the order in which the frames are processed. The Virtual HP-IL Device configuration entry in the File menu allows you to reorder the the tabs. In addition, additional devices or interfaces can be added to or removed from the tabbar.
Interfaces can be configured at an arbitrary position in the loop in the "Virtual HP-IL devices configuration" window. Each interface has its own tab, where it is configured. Please note that each additional interface will slow down the throughput of the loop considerably. An interface can be configured as a PIL box interface, a TCP/IP interface, or a socket interface.
Interfaces have four states that are indicated by a status light in the status bar: "inactive" (black), "disconnected" (red), "waiting for connection" (yellow), and "connected" (green). The loop goes only into the "running" state if all interfaces are connected.
After the loop has started, each active interface goes into the "waiting for connection" state. It goes to the "connected" state if either a read and write network connection (TCP/IP, Socket interface) was established or a PIL-Box serial device was found and initialized successfully.
A TCP/IP interface is connected only after the first frame has been sent to the remote host. Therefore, you should generate some traffic on the loop (e.g., RESTORE IO on the HP-71 or powering the HP-41 on and off) to bring the TCP/IP interfaces to the “connected” state.
An interface can be deactivated (bridged) with the Device enabled checkbox if the loop is stopped.
Note: You must always (re)configure the loop by the controller if you enable or disable an interface.
The scope is always the first tab that cannot be moved or deleted. By default, there are two probe devices, "Probe1" and "Probe2" which have no tab. The probes can be seen either in the "Virtual HP-IL device status" window or the "Virtual HP-IL device configuration". The position of the probes can be moved, but they cannot be deleted. The probes are activated in the scope tab. Frames captured by "Probe1" are shown in uppercase letters, and frames captured by "Probe2" are shown in lowercase letters.
This makes it possible to capture frames at any point in the pyILPER loop.
If you start pyILPER for the first time, you get a graphical user interface with some menu entries and a tab for several virtual HP-IL devices:
You'll need to take additional steps if you want to use the terminal's keyboard.
There are other virtual HP-IL devices, which are not available in the default configuration:
The Virtual HP-IL Device configuration entry in the File menu allows you to add, remove, or reorder virtual HP-IL device tabs.
A device can be enabled or disabled with the Device enabled checkbox, even while the loop is running. Disabling a device does not break the loop. It only removes the device out of the loop.
The drive tab has controls that are only active if the device is disabled or the loop is stopped.
Note: You must always (re)configure the loop by the controller if you enable or disable a device:
Some devices support logging, e.g., of HP-IL frames, print output, or plot commands. This output is always written to a file in the pyILPER working directory. The name of the log file consists of the name of the device tab followed by the extension .log. Each time logging is enabled, the output is appended to the existing file. The start of each new output is marked by a timestamp.
Some devices allow you to save a print or plot output as a PDF file. The PDF output is used to generate a print or plot output that closely resembles the output from the original device. Direct printing to a printer is not supported.
Depending on the HP-IL controller, the configuration is performed as follows:
RESET HPIL @ RESTORE IO @ CLEARASSIGN IO.The Virtual HP-IL device status entry in the Utilities menu shows which devices are active and which HP-IL addresses are assigned to them.
If you would like to use pyILPER stand-alone without a connection to a real or emulated calculator, set up the program with no interface. Then you can use the virtual drive to manage the content of LIF image files.