Model Railroad System
2.2.2
Signal Abstract Types (Classes)
Namespaces
Classes
main.h
1
// -!- c++ -!- //////////////////////////////////////////////////////////////
2
//
3
// System :
4
// Module :
5
// Object Name : $RCSfile$
6
// Revision : $Revision$
7
// Date : $Date$
8
// Author : $Author$
9
// Created By : Robert Heller
10
// Created : Tue Jul 14 12:40:17 2015
11
// Last Modified : <150816.1431>
12
//
13
// Description
14
//
15
// Notes
16
//
17
// History
18
//
19
/////////////////////////////////////////////////////////////////////////////
20
//
21
// Copyright (C) 2015 Robert Heller D/B/A Deepwoods Software
22
// 51 Locke Hill Road
23
// Wendell, MA 01379-9728
24
//
25
// This program is free software; you can redistribute it and/or modify
26
// it under the terms of the GNU General Public License as published by
27
// the Free Software Foundation; either version 2 of the License, or
28
// (at your option) any later version.
29
//
30
// This program is distributed in the hope that it will be useful,
31
// but WITHOUT ANY WARRANTY; without even the implied warranty of
32
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
33
// GNU General Public License for more details.
34
//
35
// You should have received a copy of the GNU General Public License
36
// along with this program; if not, write to the Free Software
37
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
38
//
39
//
40
//
41
//////////////////////////////////////////////////////////////////////////////
42
43
#ifndef __MAIN_H
44
#define __MAIN_H
45
/** @mainpage Signal Abstract Types (Classes)
46
*
47
* This folder contains a collection of Tcl code to implement signals, using
48
* various methods.
49
*
50
* @section SourceFiles Source files
51
*
52
* Using Azatrax's SR4's to control signals is illustrated in the file
53
* Azatrax_Signals.tcl. One or two SR4's can control one, two, or three headed
54
* signals, either common anode to common cathode.
55
*
56
* Using an Ardunio with a MAX72XX LED Driver to control signals is
57
* illustrated in the file ArdunioMAX72XX_Signals.tcl. Upto eight LEDs per
58
* signal is possible, although the code assumes a maximum of six LEDs in
59
* a three over three two headed signal.
60
*
61
* Using Dr. Bruce Chubb's SMINI or SUSIC/USIC to control signals is
62
* illustrated in the file Chubb_Signals.tcl. Output ports on these nodes can
63
* control one, two, or three headed signals.
64
*
65
* Using CTI's Acela Network Bridge with CTI controler boards to control
66
* signals is illustrated in the file CTI_Signals.tcl.
67
*
68
* @section common Common methods and functionality
69
*
70
* All of the signal type constructors have a common structure. The
71
* constructors take the form:
72
*
73
* @code
74
* typename objectname [optional options]
75
* @endcode
76
*
77
* Eg:
78
*
79
* @code
80
* azatrax_signals::OneHead3Color cp27w -signalname CP27W -signalsn 040001234
81
* @endcode
82
*
83
* There is one common option, @c -signalname. This is the name of the signal
84
* object on the track work schematic. When the signal aspect is changed,
85
* the track work symbol is changed to display the signal's new aspect.
86
*
87
* There is one common method, @c setaspect, which is used to set the signal's
88
* aspect. For a one headed signal, this method takes a single word (eg a
89
* single element list) that is the signal aspect. This will be one of the
90
* colors red, yellow, green, or dark. For a two headed signal, this method
91
* takes a list of two elements, each of which is one of the colors red,
92
* yellow, green, or dark. A three headed signal will take a a list of three
93
* elements, each of which is one of the colors red, yellow, green, or dark.
94
* It should be noted that not all possible combinations are allowed, only
95
* those aspects that make sense. This usually means that only one head will
96
* display a color other than red, with the other heads displaying red. That is
97
* {red yellow} or {green red} or {red red yellow} are allowed, but not
98
* {green yellow} or {green red yellow}.
99
*
100
*/
101
102
#endif
// __MAIN_H
103
Generated on Thu Jul 3 2025 00:58:56 for Model Railroad System by
1.9.1