Documentation > nControl > API Reference
PU Hub Tile
nControl™ 2021.0
PU hub tiles allow to pilot LEGO® Powered Up hubs* in generic applications.
*Note that the use of Powered Up hubs requires a PU Hub license or nControl™ subscription.
Introduction
PU hub tiles allows you to communicate with LEGO® PU hubs; it provides easy access to your PU hub. When you click to tile it will execute the mouse click event script but you normally interface with the controller using the other tiles: up-down tiles, on-off tiles or generic tiles.
It's intended for generic PU hub applications, for example controlling a carousel or Ferris wheel. Use a train control tile to control a Powered Up LEGO® train.
Event Scripts
PU hub 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
    nPUHubTile.setPortPower(port, power, scale = 255)
    Sets the power of a PU motor
    • port: specifies the hub port to which the motor is connected. The supported value are: nConst.PU_PORT_A and nConst.PU_PORT_B.
    • power: specifies the power of the PU motor. The power is an integer value between -255 and 255. Positive values define clockwise rotation while negative values define counterclockwise rotation.
    • scale: an optional argument that defines the power scale. For example, by using scale = 100 the maximal motor power is defined by 100 instead of the default value of 255.
    This function can also be used to power the PU lights.
    Inherited from nTile
    nPUHubTile.clearScreen()
    Clear all the text in the console window.
    nPUHubTile.getTile(label)
    Returns the tile object specified by label. If there is no tile with the specified label, the function returns a None value.
    nPUHubTile.print(text)
    Prints text in the console window. If the console window it not yet visible, printing text will make it visible.
    nPUHubTile.showConsole(mode)
    Shows (mode = True) or hides (mode = False) the console window.
    nPUHubTile.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).
    nPUHubTile.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.
    nPUHubTile.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.
    nPUHubTile.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.