[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[TASS] MkIV control interfaces -- was: Win95 Program Schedule
Peter Mount wrote:
>
> The output "language" or better "file format" is mainly up to Chris and your
> self as it's your code that will be handling it. I've got some say, as I have
> to get the scheduler to create the file.
Peter,
Maybe you can figure out my input file format by reading my "self documenting
source code". I can write it up if need be but here is a quick explaination
from memory:
The file is ASCII. Each line is
<code> <time> <command>
<code> is eithe "A" or "R" for "Absolute" or "Relative".
<time> is either seconds from epoc or seconds from the last line above
depends on <code>
<command> and any valid command a user could have typed into the real-time
controller's command line client. Examples are "point_at", "tack"
"expose" and so on. You can see all the commands by typing the
command "help".
To do a sequence of commands as fast as the system will allow you do
R 0 command1
R 0 command2
R 0 command3
There is a chance the commands will be re-ordered or more likely executed
in parallel as output to the STAMP goes into a priority based (not a FIFO)
queue. This way time critical stuff (like closing the shutter) is not
delayed by requests to read out the CCD or Water temperature. Also you do
not have to estimate the time to do a "point_at" if you specify the the "expose"
is to happen zero seconds after the point_at
Yes you can have a say in the format. It is easy to add new commands as the
parser is table driven and makes call backs to functions after each command
is recognized.
One idea: You could output some other file format and then call the M4
macro processor to generate the ASCII file my software likes. This way
if you want to support two or three real-time controllers you just use
different macro definitions
++++++
The controller's TCL interface is simple too. A user's TCL script must first
load in my TMk4 extension. This adds a few extra commands to TCL. These new
commands are just like those above "tmk4_point_at", "tmk4_expose" and so on.
There is one new command: "tmk4_connect <hostname> <user> <password>"
This command connects the computer that is running the TCL script to
the computer that is physically connected the Mk IV camera. Some user
authentication happens (shamelessly "borrowed" from the Postgresql data
base server) and the two machines are talking. So the TCL script can run
on your local machine and control a remote MkIV. The TCL script can
also be run as part of a CGI script should some one want to do a WEB based
interface to their Mk IV camera.
>
> TCL is mentioned, as Chris already has some TCL-Extensions, but it doesn't have
> to be tcl. Anyhow you wouldn't implement TCL, as it's a little big, but write
> a Win32 implementation of those extensions using your dll for it to work.
>
> Peter
>
> --
> Peter T Mount peter@retep.org.uk Tel +44 (0) 7990 898443
> Homepage http://www.retep.org.uk Fax UK +44 (0) 870 0568837
> PostgreSQL JDBC http://www.retep.org.uk/postgres/ US +1 734 661 0110
> Java PDF Generator http://www.retep.org.uk/pdf/ More details on the website
--
Chris Albertson
calbertson@logicon.com Voice: 626-351-0089 X127
Logicon, Pasadena California Fax: 626-351-0699