Bridge Manager

From ETC Public Wiki
Jump to: navigation, search


Overview

The Bridge Manager runs the entire bridge. Everything is started from this program - in order to "start the bridge" you want to run this program. It starts and monitors the stations Station Manager, the Viewport Player, the Sound Manager, and the Lighting Manager.


Operation

Stations - Bridge0 or The Brain Box

Location - the sb-system folder

Started by - the task scheduler after bootup

Manual Start - on Brain Box run C:\Bridge\sb-system\run_BridgeManager.bat ( shortcut on Brain Box Desktop )


Software

Written in Python using the Panda3D libraries. Has the following components

  • run_BridgeManager.bat => bat file to manualy start the program
  • main_BridgeManager.py => main Bridge Manager code base
  • config_BridgeManager.py => important config data, list of programs that the manager should start and monitor
  • config_Ports.py => list of OSC ports for network communications
  • OSCmanager.py => open ports as receivers and senders for network communications
  • process.py => window controls using the windows api


Features

JumpStart Using PSTools, start the Station Manager on a particular station or on all the stations.

Manage Resources Start and monitor hardware managers. If a manager crashes then restart it.

  • Viewport Player
  • Lighting Manager
  • Audio Manager

Big Brother Using OSC Network Communications, Receiver BIGBROTHER is created to listen for pings from the Station Managers. This allows the Bridge Manager to monitor the Station Managers and restart them if they crash. Note : Deactivate this feature when testing because if you take a station manager down for station development or maintenance then the Bridge Manager will constantly try to restart the Station Manager

System Requests Using OSC Networking Communications, Receiver SYSTEM is created to listen for system requests from Station Managers or Content.

  • Notify - an error has occurred and should be reported.
  • Audio - a request to play an audio file across the hallway surround sound speakers.
  • Show - a request to switch the bridge into demo mode and start a show.

Communications Using OSC Networking Communications, communicate with other modules running on the Brain Box.

  • Sender SYSTEM - pass system requests onto other stations
  • Sender NOTIFY - pass an error onto the Notify Manager to document the problem
  • Sender AUDIO - pass a audio request onto the Audio Manager
  • Sender LIGHTING - pass a lighting request onto the Lighting Manager
  • Sender BUTTONREQUEST - pass a button request onto the Button Manager

Shut Down Shuts down the tvs and projectos at a certain time ( set in config_BridgeManager.py ) in an effort to increase the life of the hardware. Note that the rest of the Bridge is still functioning after the shutdown including content that could be started as a result of a viewer button mashing the buttons.

Configurable Parameters

What parameters can be adjusted in the config_BridgeManager.py file

  • JUMPSTART : Boolean - should the stations be jumpstarted by the manager
  • BIGBROTHER_MODE : Boolean - should station managers that don't ping be restarted
  • PING_DELAY : int - how long to wait ( in seconds ) before checking to see if a ping has been received from each station
  • POLL_DELAY : int - how long to wait ( in seconds ) before checking to see if a stated program is still running
  • TIME_DELAY : int - how long to wait ( in seconds ) before checking to see if it is time to shutdown
  • NIGHTSD : Boolean - should the nightly shutdown occur
  • TIMESD : int - what time ( military hours ) should the shutdown occur
  • TIMESU : int - what time ( military hours ) should the tvs be turned on in the morning
  • PROGS : list of dictionaries - what programs should be started and monitored, what is their paths, and a boolean to start them or not

Possible needs to change these

  • Program booleans could be set to false to prevent them from automatically starting for testing purposes
  • Poll delays could be tweaked for performance reasons
  • Nightly shut down time might be adjusted - especially for events like the BVW show

Interface

The Bridge Manager runs on the Brain Box with a very simple UI.

BridgeManager.png

Jump Start Stations

Buttons StartS1 - StartS6

Use these buttons to start the Station Manager on a particular station.

Power Controls

Buttons TVs_L, TVs_R, Pro's_L, Pro's_R

Use these buttons to toggle the power to the TVs or projectors on either the right or left side of the bridge

Buttons OffS1 - OffS6

Use these buttons to set the phiget boards output 7 pin to 1 to pick the relay and turn the tv and projector off

Time until Shutdown

Button ShutDown

Use this button to toggle if the bridge should shutdown when the timer gets to 0. This shutdown only turns off the projectors and tvs to preserve them.

Stop Applications

Buttons StopS1 - StopS6

Stop all applications running on a particular station.

Keyboard Shortcuts

keys 1 - 6 will jump start the particular station

Esc to exit