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)
SignalProgramGetSignalProgram (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.