Next: Getting Started Up: User's Guide Previous: User's Guide

What sniffle Can and Can't Do

The most important component of the sniffle system is a command interpreter which receives commands from the Web client via the WinHTTPD server's cgi-win interface. If you're unfamiliar with the jargon, think of it this way: we use the Web to move a string of commands from the client to an interpreter program at the server. The interpreter ``executes'' these commands by calling routines that communicate with the digital oscilloscope and I/O board connected to the server. These components in turn gather data from the environment by measuring the voltages on input lines and affect their environment by setting voltages on output wires. As it is currently configured our RTI-815 board provides eight bits of digital output, eight bits of digital input, sixteen analog input channels, and two analog output channels.

As the command interpreter goes about its business, it records information that will eventually be returned to the client. This information includes voltage values detected by the I/O board in response to ``input'' commands, waveforms taken from the oscilloscope, and error messages. After the last command is interpreted, these data are made available to the client.

The ``language'' or set of macro commands recognized by the interpreter gives the client control of the most important analog and digital input and output functions of the I/O board. It also allows the client total control over the digital oscilloscope. There's nothing you can do to the oscilloscope when you're standing in front of it that you can't do from a Web client using sniffle. Finally, sniffle gives the client the ability to pause the interpreter for a while, iterate arbitrary commands a specified number of times, and run batches of commands stored at the server end.

One useful and important thing that the sniffle system cannot do is respond to run-time events. The command interpreter blindly executes one command after another, oblivious even to the readings it obtains from its environment via the oscilloscope and the I/O board. The sniffle command language is not a true programming language; it lacks the ability to branch or to evaluate conditions.



Next: Getting Started Up: User's Guide Previous: User's Guide


tpkelly@cs.CS.Princeton.EDU
Thu Sep 14 02:35:48 EDT 1995