Documentation > nControl > API Reference
Train Traffic Light Tile
nControl™ 2021.0
This tile controls a train traffic light.

Introduction
When you click on the tile it flip from red to green or vice versa.
Event Scripts
Train traffic light tiles support the following event scripts:
  • Activate tile event: is executed when the tile is activated by switching to simulation of operational mode.
  • Deactivate tile event: is executed when the tile is deactivated by switching to design of configuration mode.
  • Mouse click event: is executed when the user clicks on the tile.
API Functions
Tile Specific Functions
nTrainTrafficLightTile.clickTile(zone)
Simulates a mouse click on the tile; this executes the mouse click event script. The argument zone specifies the mouse click zone where the virtual click appeared:
  • zone = 1: simulates a click on the light
  • zone = 2: simulates a click on flashing button
  • zone = 3: simulates a click on on/off button
nTrainTrafficLightTile.getMouseClickZone()
Returns the zone that received the last mouse click:
  • 0 = the tile has not received any mouse clicks yet
  • 1 = the light
  • 2 = the flashing button
  • 3 = the on/off button
nTrainTrafficLightTile.getState()
Returns the current state of the light:
  • nConst.TL_FLASHINGGREEN
  • nConst.TL_FLASHINGRED
  • nConst.TL_GREEN
  • nConst.TL_OFF
  • nConst.TL_RED
nTrainTrafficLightTile.publish(topic, data)
Publishes a message through the internal MQTT broker using the specified topic and data.
nTrainTrafficLightTile.setGreen()
Switches the greed light on and the red light off.
nTrainTrafficLightTile.setGreenFlashing()
Switches the green light on and makes it flashing. The red light is swichted off.
nTrainTrafficLightTile.setOff()
Switches both lights off.
nTrainTrafficLightTile.setRed()
Switches the red light on and the green light off.
nTrainTrafficLightTile.setRedFlashing()
Switches the red light on and makes it flashing. The green light is swichted off.
Inherited from nTile
nTrainTrafficLightTile.clearScreen()
Clear all the text in the console window.
nTrainTrafficLightTile.getTile(label)
Returns the tile object specified by label. If there is no tile with the specified label, the function returns a None value.
nTrainTrafficLightTile.print(text)
Prints text in the console window. If the console window it not yet visible, printing text will make it visible.
nTrainTrafficLightTile.showConsole(mode)
Shows (mode = True) or hides (mode = False) the console window.
nTrainTrafficLightTile.sleep(duration)
Stops the execution of the script for the the given number of seconds. Note that duration can be a floating point number, e.g. to suspend the script for half a seconds use self.sleep(0.5).
nTrainTrafficLightTile.timestamp()
Returns the number of seconds that passed since nControl™ was launched. It returns a floating point value with the highest possible time resolution supported by your system. The difference between two time stamps provides the number of seconds elapsed between those two events.
nTrainTrafficLightTile.localVars
Base property to which you can add local variables that retain their value after the event script finishes. For example self.localVars.myVar = 5 adds a new property myVar to self.localVars and gives it the value 5. The localVars property is local to the current tile meaning that each tile has its own independent localVars property.
nTrainTrafficLightTile.globalVars
Base property to which you can add global variables that retain their value after the event script finishes. For example self.globalVars.myVar = 5 adds a new property myVar to self.globalVars and gives it the value 5. The globalVars property is global to nControl meaning that all tiles use the same globalVars property. As such globalVars can be used to exchange information between the tiles.