|wickensonline.co.uk Retrochallenge 2009 Winter Warmup Entry Rcu|
Remote Control Unit Application
The Remote Control Unit Application is a piece of software designed to interface
with a Mirrorbow Ethernet IO Interface.
From their website:
The Mirrorbow Ethernet Display and IO Interface allows custom
web page control of a 4x20 blue backlit LCD display and 32
digital logic IOs including 13 that can be configured as
analogue to digital converter inputs.
The Java/Swing control application looks like this:
You click on a button to toggle the state of power - green means on, red means
off. The mirrowbow LCD is updated with the new status.
Communication with the interface is made via standard TCP/IP over ethernet using
the HTTP GET protocol. The following command sets the value of port 4 (P4) to
The interface has a 4x20 LCD display module that can be written to. I have
written a Java Swing application that interfaces with the module, and this works
under Windows and Linux (I haven't tried it on OpenVMS Java implementations, but
I see no reason why it wouldn't work).
The remote control unit is mounted above my workstation:
It is connected to a home-built power distribution unit to control power to
computers and peripherals in the attic:
One of the objectives of my retrochallenge is to rewrite this application as a
character terminal based application that will run under OpenVMS on a VAX. As
OpenVMS is pretty much identical between VAX, Alpha and Itanium platforms I will
be able to use the application on all of these boxes.I also want to provide a
command line version and if I have enough time a DECwindows based version.
I want to write the program to use as many of the OpenVMS provided facilities as
is applicable. Among these utilities are the following:
Command Definition Utility
From the manual: the Command Definition Utility (CDU) creates, deletes, or
changes definitions in a command table. Command tables are data structures
created by CDU and used by the command language interpreter (CLI) to parse and
evaluate DIGITAL Command Language (DCL) commands.
From the manual: the Librarian Utility allows you to create, maintain and access
libraries on all OpenVMS platforms. In particular, I will be creating:
Help Libraries - contain modules of help text that provide user information
about a program.
Text Libraries - contain sequential record files that you want to retrieve as
data for a program.
From the manual: the Message Utility (MESSAGE) lets you supplement OpenVMS
system messages with your own messages. Your messages can indicate that an error
has occurred, or they can indicate other conditions; for example, that a routine
has run successfully or that a default value has been assigned.
RTL Screen Management Library (SMG$)
The Screen Management library allows the creation of character terminal based
1. Mirrorbow Ethernet IO Interface