BRIDGE Documentation Intro
These docs provide information on:
- Software Operation
- Best Practices
- Developer Guide (for adding features)
These docs are to be treated as comprehensive usage and developer guide.
What is BRIDGE?
BRIDGE (Biosignal Research and Integrated Data Gathering Environment) is a software for:
- Getting biosignal data from your device
- Formatting Data properly
- Doing things with that data such as:
- Running a quick analysis online or offline on said data
- Sending that data (parsed or unparsed) to Matlab or Python over a socket for you to work with!
Setup
Access to BRIDGE from GIT
To install BRIDGE as a developer, you will need access to the github repo at github.com/UtahNeuroroboticsLab/BRIDGE.
If you do not have access to the Git repo, please contact Leonardo Ferrisi to request access.
Getting BRIDGE codebase from GIT
HTTPS cloning (read-only)
Now that you have access to the BRIDGE git repo, clone the repository to a local directory on your desktop machine.
git clone https://github.com/UtahNeuroroboticsLab/BRIDGE.git
SSH cloning (If making changes)
Note: If you intend to make a branch and make changes to BRIDGE that you would like to integrate, you will need to clone using SSH.
Please follow instructions for setting up SSH on your machine. GITHUB Docs ... SSH
Once you have done so, clone using the following command:
git clone git@github.com:UtahNeuroroboticsLab/BRIDGE.git
FAQ
How does BRIDGE work (High Level)
BRIDGE is effectively, a web-native application that runs on any device that supports a browser.
BRIDGE primarily relies on Capcaitor.js, which allows a singular codebase to be compiled to something works on:
- Windows
- MacOS
- Linux
- Mobile (iOS, Android)
- On Desktop, BRIDGE is compiled by Capcitor to run through Electron.js a popular cross-platform desktop application program.
- On Mobile, BRIDGE runs through a web-view runtime that it is compiled to by Capacitor.js.
How does BRIDGE connect to things?
BRIDGE stands on the shoulders of the giants that build WebSerial and WebBluetooth / WebBLE APIs.
In short, these allow a chromium based browser to intelligently connect to devices using your machine's bluetooth or serial controlers and handles the difficult part of understanding how to achieve that on any device. Any device that can handle a chromium-based browser like edge or chrome can run this.