BlinkenBone - Blinkenlight API test client

Parent Category: Projects Category: BlinkenBone software Written by Administrator

Beside the SimH's, there's another client program of interest: The Blinkenlight API Test Client.



 Its purpose is to connect to a server, then explore and test all panels connected to that server. All functions of the API can be tested. While not as sexy as the simulations, it

  • tests the RPC connection.
  • gives information about the server process.
  • allows to play with the LEDs and switch controls directly.
  • is helpful while building a physical panel, or while programming a new Java simulation.
  • has a "ping" mode to see wether a server is alive.
  • serves as prototype C client for software developers.

Of course it can be used with simulated Java panels and real panels as well.

The test client is called "blinkenlight_test.exe" on Win32 and "blinkenlightapitest". The distribution archives contain it in the"all" sub directory.


 It is self explaining (I know you hate this phrase):

blinkenlightapitst help

 The only options you need is "--width": it defines how much horicontal space is available for display of the tabular control lists.
(I introduced this for the PDP-10: fitting all controls onto one terminal screen was really a challenge. But we love the '10 for that kind if trouble!).


Operation is over a two-level menu system.

Main menu

In the main menu a list of all panels is shown, together with some uninteresting test modes. To work with a panel, type in its key-number. Mostly there's only one panel per server, so selection is always a "0" (zero).

blinkenlightapitst dialogs

Panel menu

The panel menu is the normal workspace. All input and output controls of the panel are shown, with their numerical states.

Input and output states are shown in the panel's native number system, which is "Octal" for all DEC gear.

To see the current input states, refresh the display by hitting <ENTER>. Changed switches are marked with an "!". In the picture above you see that I twiddled with the SR and HALT keys since last refresh.

To set outputs, enter the key number of an output control and then the state:
To set the DATA LEDs to the value 123, you'd to type "1 123 <ENTER>".

To set ALL LEDs to the same state, type a "*" insted of the keynumber.

The other options produce some test patterns:

"number ~" inverts the bits of a control,
"number +" increments,
"number -" decrements,
"number <" shift left, and
"number >" shifts right