Share Email Print

Proceedings Paper

Tcl as a software environment for a TCS
Author(s): David L. Terrett
Format Member Price Non-Member Price
PDF $17.00 $21.00

Paper Abstract

This paper describes how the Tcl scripting language and C API has been used as the software environment for a telescope pointing kernel so that new pointing algorithms and software architectures can be developed and tested without needing a real-time operating system or real-time software environment. It has enabled development to continue outside the framework of a specific telescope project while continuing to build a system that is sufficiently complete to be capable of controlling real hardware but expending minimum effort on replacing the services that would normally by provided by a real-time software environment. Tcl is used as a scripting language for configuring the system at startup and then as the command interface for controlling the running system; the Tcl C language API is used to provided a system independent interface to file and socket I/O and other operating system services. The pointing algorithms themselves are implemented as a set of C++ objects calling C library functions that implement the algorithms described in [2]. Although originally designed as a test and development environment, the system, running as a soft real-time process on Linux, has been used to test the SOAR mount control system and will be used as the pointing kernel of the SOAR telescope control system

Paper Details

Date Published: 13 December 2002
PDF: 10 pages
Proc. SPIE 4848, Advanced Telescope and Instrumentation Control Software II, (13 December 2002); doi: 10.1117/12.461327
Show Author Affiliations
David L. Terrett, Rutherford Appleton Lab. (United Kingdom)

Published in SPIE Proceedings Vol. 4848:
Advanced Telescope and Instrumentation Control Software II
Hilton Lewis, Editor(s)

© SPIE. Terms of Use
Back to Top
Sign in to read the full article
Create a free SPIE account to get access to
premium articles and original research
Forgot your username?