wickensonline.co.uk
Retrochallenge 2009 Winter Warmup Entry
Rcu
|
Retrochallenge 2009
Mark Wickens
5-Jan-2009 20:11
Remote Control Unit Application
The Remote Control Unit Application is a piece of software designed to interface
with a Mirrorbow Ethernet IO Interface[1].
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
196 (=196):
http://192.168.1.199/index.htm?P4=196
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.
Librarian Utility
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.
Message Utility
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
applications.
ENDNOTES
1. Mirrorbow Ethernet IO Interface