Client Applications

Client applications connect to the Emulation Server for controlling the emulation and observing the emulator’s status. Multiple clients can concurrently interact with the server. Consequently, a set of parallel runnable tools sharing the same emulator can be combined to an individually tailored devlopment and debugging environment.

Currently, the following tools are available.

Currently Available Client Applications
Title Jar File Description Screenshot
Monitor & Control Program rp2040pio_ monitor.jar Textual-based interpreter with a set of commands for command-line interaction with the emulator.
GPIO Observer rp2040pio_ gpioobserver .jar Realtime visualization of GPIO pins status (level & direction). of all of the 32 GPIO pads.
Code Observer rp2040pio_ codeobserver .jar Realtime visualization of PIO instruction memory as interpreted by a specific state machine, also considering side-set configuration of the particular state machine.
FIFO Observer rp2040pio_ fifoobserver .jar Realtime visualization of a state machine’s contents of FIFO memory and status.
Diagram Creator rp2040pio_ diagram.jar Tool for creating timing diagrams of PIO internal state, displayed as signals for debugging and verification.

More client applications for monitoring even more of a state machine’s internal state such as its scratch registers X and Y or the IRQs configuration and status are planned for future implementation.

Connection Status

All graphical clients show a status line at the bottom that indicates the connection status. Under normal working conditions, it will show a message like:

Connected to emulation server at port 2040.
Successfully Connected Client

Successfully Connected Client

The message in the status line indicates that the client has succesfully connected to the server at the stated port.

If, for whatever reason, the connection to the emulation server gets lost, an appropriate warning will be printed in the status line.

Client with Lost Connection

Client with Lost Connection

The message in the status line indicates that the client has lost the connection to the emulation server. As soon as it successfully reconnects, the message will disappear.

If the connection got lost, the client will in regular intervals automatically try to reconnect again, using the previously used connection data.

Command-Line Options

All clients accept at least the following options when executed from the command-line:


  -V, --version (default: off)
            display version information and exit
  -h, --help (default: off)
            display this help text and exit
  -p, --port=PORT (default: 2040)
            use PORT as server port number
  -r, --refresh=TIME (default: 1000)
            autorefresh after <TIME> millis or no autorefresh, if 0

Specific clients may support further options. For displaying all available command-line options of a specific clients, call the client with the -h option.