Data Structures | Typedefs | Enumerations | Functions | Variables

# programmable_signals.h File Reference

Programmable Signals. More...

`#include "rail_map.h"`
`#include "core/smallvec_type.hpp"`
`#include <map>`

Go to the source code of this file.

## Data Structures
struct | SignalProgram
| The actual programmable signal information. More...
struct | EnumPropsT< SignalOpcode >
class | SignalInstruction
| Signal instruction base class. More...
class | SignalCondition
class | SignalSimpleCondition
| Simple condition code. More...
class | SignalVariableCondition
| A conditon based upon comparing a variable and a value. More...
class | SignalStateCondition
| A condition which is based upon the state of another signal. More...
class | SignalSpecial
| The special start and end pseudo instructions. More...
class | SignalIf
| If signal instruction. More...
class | SignalIf::PseudoInstruction
| The If-Else and If-Endif pseudo instructions. More...
class | SignalSet
| Set signal instruction. More...
## Typedefs
typedef SmallVector < SignalInstruction *, 4 > | InstructionList
typedef std::map < SignalReference, SignalProgram * > | ProgramList
typedef std::map < SignalReference, uint16 > | SpeedLimits
## Enumerations
enum | SignalOpcode { PSO_FIRST = 0, PSO_LAST = 1, PSO_IF = 2, PSO_IF_ELSE = 3, PSO_IF_ENDIF = 4, PSO_SET_SIGNAL = 5, PSO_END, PSO_INVALID = 0xFF }
| Programmable Signal opcode. More...
enum | SignalConditionCode { PSC_ALWAYS = 0, PSC_NEVER = 1, PSC_NUM_GREEN = 2, PSC_NUM_RED = 3, PSC_SIGNAL_STATE = 4, PSC_MAX = PSC_SIGNAL_STATE }
| Programmable Signal condition code. More...
enum | SignalComparator { SGC_EQUALS = 0, SGC_NOT_EQUALS = 1, SGC_LESS_THAN = 2, SGC_LESS_THAN_EQUALS = 3, SGC_MORE_THAN = 4, SGC_MORE_THAN_EQUALS = 5, SGC_IS_TRUE = 6, SGC_IS_FALSE = 7, SGC_LAST = SGC_IS_FALSE }
| Comparator to use for variable conditions. More...
enum | SignalConditionField { SCF_COMPARATOR = 0, SCF_VALUE = 1 }
| Which field to modify in a condition. More...
## Functions
static bool | HasProgrammableSignals (SignalReference ref)
static bool | HasSpeedSignals (SignalReference ref)
void | ShowSignalProgramWindow (SignalReference ref)
void | ShowSpeedSignalWindow (SignalReference ref)
SignalProgram * | GetSignalProgram (SignalReference ref)
uint16 | GetSignalSpeed (SignalReference ref)
void | FreeSignalProgram (SignalReference ref)
void | FreeSignalPrograms ()
void | FreeSignalSpeed (SignalReference ref)
void | FreeSignalSpeeds ()
SignalState | RunSignalProgram (SignalReference ref, uint num_exits, uint num_green)
void | RemoveProgramDependencies (SignalReference by, SignalReference on)
## Variables
ProgramList | _signal_programs
SpeedLimits | _speedlimits

## Detailed Description

Programmable Signals.

Definition in file programmable_signals.h.