Theater Configuration¶
The following stage.config
module holds constants related to the current physical setup.
Please note: DMX fixture addresses are conventionally specified starting with 1. However, this code currently uses zero-based numbering, so a fixture address of 1 is denoted with 0. This may change.
# Global configuration settings.
# IP address of the dedicated theater server
theater_IP = '172.24.26.199'
# OSC UDP port for director
director_UDP_port = 22000
# OSC UDP port(s) for lighting commands
# lighting_host_IP = '127.0.0.1'
lighting_host_IP = '0.0.0.0'
lighting_UDP_port = 20000
lighting_units = 1
# OSC UDP port(s) for motor commands. The motor servers occupy sequential UDP port numbers.
# motor_host_IP = '127.0.0.1'
motor_host_IP = '0.0.0.0'
motor_UDP_port = 21000
# OSC UDP port(s) for valve driver commands. The valve servers occupy sequential UDP port numbers.
# motor_host_IP = '127.0.0.1'
valve_host_IP = '0.0.0.0'
valve_UDP_port = 21100
# OSC UDP port for vision server
vision_UDP_port = 23000
# OSC UDP port for vision clients (this may change)
client_UDP_port = 24000
#================================================================
# Lighting fixture definitions.
fixtures = [
# all fixtures are numbered left to right as viewed from the hallway
# DP-415 dimmer:
{'name': "empty1", 'dmx': 0, 'channels' : 1},
{'name': "empty2", 'dmx': 1, 'channels' : 1},
{'name': "lamp1", 'dmx': 2, 'channels' : 1},
{'name': "lamp2", 'dmx': 3, 'channels' : 1},
# DP-415 dimmer:
{'name': "empty3", 'dmx': 4, 'channels' : 1},
{'name': "empty4", 'dmx': 5, 'channels' : 1},
{'name': "empty5", 'dmx': 6, 'channels' : 1},
{'name': "empty6", 'dmx': 7, 'channels' : 1},
# SlimParPro footlights
{'name': "rgba1", 'dmx': 8, 'channels' : 4},
{'name': "rgba2", 'dmx': 12, 'channels' : 4},
{'name': "rgba3", 'dmx': 16, 'channels' : 4},
{'name': "rgba4", 'dmx': 20, 'channels' : 4},
]
#================================================================
# Motor unit definitions. On Linux, the device names can change depending on
# the enumeration order.
motor_units = [
{'name': 'arm_base', 'arduino': '/dev/ttyACM2' },
{'name': 'wheel', 'arduino': '/dev/ttyACM3' },
]
# Valve unit definitions. On Linux, the device names can change depending on
# the enumeration order.
valve_units = [
{'name': 'valve1', 'arduino': '/dev/ttyACM0' },
{'name': 'valve2', 'arduino': '/dev/ttyACM1' },
]
#================================================================
# Vision camera regions of interest, specified as pairs of points in (x,y) (col,row) order.
# current visitor window apertures
camera_roi = [[[110, 60], [220, 180]],
[[450, 50], [550, 170]]]
# for debugging, use lower region to capture background traffic while testing
#camera_roi = [[[110, 190], [220, 260]],
# [[450, 190], [550, 260]]]
#================================================================