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.
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 )
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
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.
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
The Bridge Manager runs on the Brain Box with a very simple UI.
Jump Start Stations
Buttons StartS1 - StartS6
Use these buttons to start the Station Manager on a particular station.
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
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.
Buttons StopS1 - StopS6
Stop all applications running on a particular station.
keys 1 - 6 will jump start the particular station
Esc to exit