diff --git a/software/bioamp-visualizer/index.rst b/software/bioamp-visualizer/index.rst deleted file mode 100644 index 442bc595..00000000 --- a/software/bioamp-visualizer/index.rst +++ /dev/null @@ -1,119 +0,0 @@ -.. _bioamp-visualizer: - -Getting Started -################### - -Overview -******** - -The `BioAmp Visualizer `_ is a web application designed for real-time signal visualization, particularly tailored for bio-potential signals. This tool serves as an advanced alternative to the standard Arduino serial plotter, offering enhanced functionality for researchers and enthusiasts working with BioAmp hardware. The application provides a user-friendly interface for displaying time-series data streams, with features including multi-channel plotting, adjustable graph speed, the ability to pause, resume, record and save data in CSV format. By combining these capabilities, the BioAmp Visualizer aims to streamline the process of analyzing and interpreting bio-potential signals. - -.. figure:: media/bioamp_visualizer_signals.* - :align: center - :alt: BioAmp Visualizer signal - -Software Requirements -********************* - -* Before using the BioAmp Visualizer, download the `Arduino IDE `_ to upload Arduino sketches to your development board. -* Any :ref:`bioamp-visualizer-browsers-compatibility` - -Hardware Requirements -********************* - -To use BioAmp Visualizer, you need: - -* A USB cable (Type depends on board) -* Any board from the given table - -Compatible Boards: - -* Arduino Uno -* Arduino Nano -* Maker Uno - -Signal Acquisition -****************** - -The image below shows a breif preview of connections to device and body, for detailed description we recommend to visit relevant `hardware documentation `_. - -.. figure:: media/bioamp_visualizer_signal_aquisition.* - :alt: Signal Acquisition - :align: center - - Signal Acquisition - -.. note:: - For detailed information about signal acquisition hardware, refer to our `hardware documentation `_. - -How to Use BioAmp Visualizer -**************************** - -Uploading the Code -======================== - -To use BioAmp Visualizer: - -1. Connect the Arduino Board to your laptop using the USB cable. -2. Copy and paste `Arduino Firmware `_ into the Arduino IDE. -3. Select your board under the ``Board`` > ``Arduino AVR`` option in the tools menu. -4. Choose the correct COM port in same tools menu (the one that disappears when you disconnect the board). -5. Upload the code and open the `BioAmp Visualizer `_. - -Using the Software -=================== - -1. Click the ``Connect`` button to establish a connection with the Arduino and start streaming. -2. You can click the ``Record`` button to start recording data into a CSV file. -3. To save the recorded data, click the ``Save`` button. - -.. figure:: media/bioamp_visualizer_connection.* - :alt: Port selection - :align: center - - Port selection - -.. figure:: media/bioamp_visualizer_signals.* - :alt: BioAmp Visualizer Signals - :align: center - - BioAmp Visualizer Signals - -.. list-table:: - :widths: 1 3 - :header-rows: 1 - - * - Icons - - Description - * - .. figure:: media/bioamp_visualizer_connect.* - :alt: BioAmp Visualizer Connect - :align: left - - Connect - * - .. figure:: media/bioamp_visualizer_start.* - :alt: BioAmp Visualizer start - :align: left - - Start - * - .. figure:: media/bioamp_visualizer_stop.* - :alt: BioAmp Visualizer stop - :align: left - - Stop - * - .. figure:: media/bioamp_visualizer_record.* - :alt: BioAmp Visualizer record - :align: left - - Record - * - .. figure:: media/bioamp_visualizer_saving.* - :alt: BioAmp Visualizer save - :align: left - - Save - -.. _bioamp-visualizer-browsers-compatibility: - -Compatible Browsers -******************* - -The web application is designed to ensure compatibility with the Web Serial API, which is essential for its functionality. The Web Serial API enables web applications to communicate with serial devices, such as microcontrollers and other hardware interfaces, directly from the browser. - -Currently, the Web Serial API is supported by the of Google Chrome, Microsoft Edge and Opera. If the user's browser does not support this API, the application will display a message informing them of the incompatibility and suggesting the use of a supported browser. - -For more detailed information on browser compatibility and implementation details, please refer to the `MDN Web Docs on the Web Serial API `_. - diff --git a/software/bioamp-visualizer/media/Bioamp_compatibility.jpeg b/software/bioamp-visualizer/media/Bioamp_compatibility.jpeg deleted file mode 100644 index e9dbd31a..00000000 Binary files a/software/bioamp-visualizer/media/Bioamp_compatibility.jpeg and /dev/null differ diff --git a/software/bioamp-visualizer/media/bioamp_visualizer_boards.jpg b/software/bioamp-visualizer/media/bioamp_visualizer_boards.jpg deleted file mode 100644 index 183fe9dd..00000000 Binary files a/software/bioamp-visualizer/media/bioamp_visualizer_boards.jpg and /dev/null differ diff --git a/software/bioamp-visualizer/media/bioamp_visualizer_browser_compatibility.jpeg b/software/bioamp-visualizer/media/bioamp_visualizer_browser_compatibility.jpeg deleted file mode 100644 index e4c7e9be..00000000 Binary files a/software/bioamp-visualizer/media/bioamp_visualizer_browser_compatibility.jpeg and /dev/null differ diff --git a/software/bioamp-visualizer/media/bioamp_visualizer_connect.png b/software/bioamp-visualizer/media/bioamp_visualizer_connect.png deleted file mode 100644 index 0e0668c7..00000000 Binary files a/software/bioamp-visualizer/media/bioamp_visualizer_connect.png and /dev/null differ diff --git a/software/bioamp-visualizer/media/bioamp_visualizer_connection.jpeg b/software/bioamp-visualizer/media/bioamp_visualizer_connection.jpeg deleted file mode 100644 index f83b20c8..00000000 Binary files a/software/bioamp-visualizer/media/bioamp_visualizer_connection.jpeg and /dev/null differ diff --git a/software/bioamp-visualizer/media/bioamp_visualizer_contributors.jpeg b/software/bioamp-visualizer/media/bioamp_visualizer_contributors.jpeg deleted file mode 100644 index a03b9207..00000000 Binary files a/software/bioamp-visualizer/media/bioamp_visualizer_contributors.jpeg and /dev/null differ diff --git a/software/bioamp-visualizer/media/bioamp_visualizer_default.jpeg b/software/bioamp-visualizer/media/bioamp_visualizer_default.jpeg deleted file mode 100644 index 054568ba..00000000 Binary files a/software/bioamp-visualizer/media/bioamp_visualizer_default.jpeg and /dev/null differ diff --git a/software/bioamp-visualizer/media/bioamp_visualizer_labeling.jpg b/software/bioamp-visualizer/media/bioamp_visualizer_labeling.jpg deleted file mode 100644 index e216ada8..00000000 Binary files a/software/bioamp-visualizer/media/bioamp_visualizer_labeling.jpg and /dev/null differ diff --git a/software/bioamp-visualizer/media/bioamp_visualizer_record.jpg b/software/bioamp-visualizer/media/bioamp_visualizer_record.jpg deleted file mode 100644 index 380d5bb9..00000000 Binary files a/software/bioamp-visualizer/media/bioamp_visualizer_record.jpg and /dev/null differ diff --git a/software/bioamp-visualizer/media/bioamp_visualizer_save.jpeg b/software/bioamp-visualizer/media/bioamp_visualizer_save.jpeg deleted file mode 100644 index aaed53b5..00000000 Binary files a/software/bioamp-visualizer/media/bioamp_visualizer_save.jpeg and /dev/null differ diff --git a/software/bioamp-visualizer/media/bioamp_visualizer_save_modal.jpeg b/software/bioamp-visualizer/media/bioamp_visualizer_save_modal.jpeg deleted file mode 100644 index 03dc547d..00000000 Binary files a/software/bioamp-visualizer/media/bioamp_visualizer_save_modal.jpeg and /dev/null differ diff --git a/software/bioamp-visualizer/media/bioamp_visualizer_saving.png b/software/bioamp-visualizer/media/bioamp_visualizer_saving.png deleted file mode 100644 index a6625be0..00000000 Binary files a/software/bioamp-visualizer/media/bioamp_visualizer_saving.png and /dev/null differ diff --git a/software/bioamp-visualizer/media/bioamp_visualizer_signal_aquisition.jpg b/software/bioamp-visualizer/media/bioamp_visualizer_signal_aquisition.jpg deleted file mode 100644 index 105f14e9..00000000 Binary files a/software/bioamp-visualizer/media/bioamp_visualizer_signal_aquisition.jpg and /dev/null differ diff --git a/software/bioamp-visualizer/media/bioamp_visualizer_signals.jpeg b/software/bioamp-visualizer/media/bioamp_visualizer_signals.jpeg deleted file mode 100644 index 284f6bbb..00000000 Binary files a/software/bioamp-visualizer/media/bioamp_visualizer_signals.jpeg and /dev/null differ diff --git a/software/bioamp-visualizer/media/bioamp_visualizer_start.jpg b/software/bioamp-visualizer/media/bioamp_visualizer_start.jpg deleted file mode 100644 index dd35f101..00000000 Binary files a/software/bioamp-visualizer/media/bioamp_visualizer_start.jpg and /dev/null differ diff --git a/software/bioamp-visualizer/media/bioamp_visualizer_stop.jpg b/software/bioamp-visualizer/media/bioamp_visualizer_stop.jpg deleted file mode 100644 index 8c05113a..00000000 Binary files a/software/bioamp-visualizer/media/bioamp_visualizer_stop.jpg and /dev/null differ diff --git a/software/bioamp_visualizer_technical_doc/index.rst b/software/bioamp_visualizer_technical_doc/index.rst deleted file mode 100644 index 2c94a20d..00000000 --- a/software/bioamp_visualizer_technical_doc/index.rst +++ /dev/null @@ -1,193 +0,0 @@ -.. _bioamp-visualizer: - -Technical Documentation -####################### - -Software Used -***************** - -Before using the BioAmp Visualizer, ensure you have the following software installed: - -1. Arduino IDE: - - - **Purpose**: The Arduino Integrated Development Environment (IDE) is essential for writing and uploading sketches (code) to your Arduino development board. - - **Download**: You can download the Arduino IDE from the `official Arduino website `_. - -2. Compatible Web Browser: - - - The BioAmp Visualizer is compatible with the of the following web browsers: - - Google Chrome - - Microsoft Edge - - Opera - -Hardware Used -*************** - -To use the BioAmp Visualizer, you need the following hardware: - -1. USB Cable: - - **Purpose**: The USB cable is used to connect your Arduino board to your computer for power supply and data transfer. - - **Type**: The type of USB cable required depends on your specific Arduino board model: - - - Arduino Uno: Typically uses a USB Type-A to USB Type-B cable. - - Arduino Nano: Typically uses a USB Mini-B cable or a Micro-USB cable (depending on the Nano version). - - Maker Uno: Typically uses a USB Type-A to USB Type-B cable. - -2. Compatible Arduino Boards: - - The following Arduino boards are compatible with the BioAmp Visualizer: - - - **Arduino Uno**: A popular choice for beginners and widely supported. - - **Arduino Nano**: A smaller, compact version of the Uno with similar functionality. - - **Maker Uno**: A variant of the Uno designed for educational purposes, often used in maker projects. - -.. list-table:: - :widths: 1 3 - :header-rows: 1 - - * - Board - - Name - * - .. figure:: media/bioamp_visualizer_Arduino_Uno.* - :alt: Arduino Uno - :align: left - - Arduino Uno - * - .. figure:: media/bioamp_visualizer_Arduino_nano.* - :alt: Arduino Nano - :align: left - - Arduino Nano - * - .. figure:: media/bioamp_visualizer_Maker_Uno.* - :alt: Maker Uno - :align: left - - Maker Uno - -Ensure you have all the necessary software and hardware components ready before starting with the BioAmp Visualizer to ensure a smooth setup and usage experience. - -Why Chromium Based Browsers -*************************** - -The web application relies on the Web Serial API to function correctly. This API enables web applications to communicate with serial devices directly from the browser. - -Currently, the Web Serial API is supported by the following browsers: - -* Google Chrome -* Microsoft Edge -* Opera - -If your browser does not support this API, the application will display a message informing you of the incompatibility and suggesting the use of a supported browser. - -The web application ensures that your browser supports the Web Serial API. If your browser is not compatible, a message like below will be displayed informing you of the issue. - -.. figure:: media/Bioamp_compatibility.* - :alt: Non Compatibility Message - :align: center - - Non Compatibility Message - - -For more detailed information on browser compatibility and implementation details, refer to the `MDN Web Docs on the Web Serial API `_. - - -Technical Capabilities -************************** - -1. Signal Visualization -======================= - -- **Purpose:** We are displaying real time data from the Arduino board to the :ref:`bioamp-visualizer-smoothiecharts`. -- **Multi-Channel Plotting:** We are plotting data from multiple sensors or channels simultaneously. Each channel is represented by a different color on different charts, allowing users to monitor various data streams in different graphs. -- **Time-Series Data Representation:** The data is displayed as a time series, meaning that it shows how the values change over time. This is crucial for observing patterns and analyzing the behavior of the signals. - -2. Speed Adjustment -==================== - -- **Functionality:** Users can control the speed at which the graph updates by clicking the speed button. This button toggles between two speeds: slow(20 millis/pixel) and fast(10 millis/pixel). -- **Visual Aids:** Arrows are provided to assist users in selecting the desired speed. These arrows make it easier to understand and switch between the available speed settings, enhancing the user experience. - -3. Scale Adjustment -=================== - -- **Auto-Scale Feature:** The graph automatically adjusts its y-axis scale based on the capabilities of the connected Arduino. When auto-scale is activated via the navbar, the system queries the Arduino to determine the maximum value of its analog-to-digital converter (ADC). -- **Example:** For an Arduino R3 with a 10-bit ADC, the maximum value is 1023. The graph’s y-axis is then scaled from 0 to 1023. This dynamic adjustment ensures that the entire range of data values is visible, optimizing the display for the specific hardware used. - -4. Data Management -================== - -- **Signal Recording:** Users can record the data collected from the Arduino. This functionality allows for the preservation of real-time data for later analysis. -- **CSV File Export:** Data from all channels will be exported to a CSV file. This feature is useful for detailed analysis and for research purposes. The CSV export includes comprehensive data from all channels, facilitating easy examination of the recorded data. - -Technologies Used -***************** - -HTML -===== - -**Purpose**: HTML provides the foundational structure for web pages. It uses elements such as headings, paragraphs, links, images, and forms to define the content and layout of a webpage. - -**Role in our Project**: HTML is used to create the layout of our web application, including the navigation bar, modals, buttons, and containers (canvas) for charts. It defines the semantic structure and organizes the content, ensuring that all elements are properly placed and accessible. - -CSS -======== - -**Purpose**: CSS is used to style the visual presentation of HTML elements. It controls aspects such as layout, colors, fonts, spacing, and responsiveness. - -**Role in our Project**: CSS is responsible for the look and feel of our web application. It ensures that the design is visually appealing and responsive, adapting the layout to different screen sizes and devices. - -JavaScript -============ - -**Purpose**: JavaScript adds interactivity and dynamic behavior to web pages. It allows for actions like event handling and real-time updates. - -**Role in our Project**: JavaScript implements the core functionality of our application. It handles events like button clicks (e.g., refreshing the page, connecting, starting, recording), manages the state of the application (e.g., enabling or disabling buttons), and interacts with other components like modals. - -Web Serial API -============== - -**Purpose**: The Web Serial API allows web applications to access and communicate with Arduino Board directly from the web browser. This enables real-time data exchange and control of hardware like microcontrollers, sensors, and other devices that use serial communication. - -**Role in our Project**: The Web Serial API is crucial for our application as it facilitates direct interaction with connected Arduino Board. It enables functionalities such as: - -- **Connecting to Arduino Board**: Establishes a connection with Arduino Board for data exchange. -- **Reading Data**: Continuously reads data from the connected device, allowing real-time monitoring and processing. -- **Writing Data**: Write data to arduino, we specifically using this for autoscale feature, when user clicks the autoscale button, web serial api writes 'b' charector to arduino board on which board returns the maximum value of signal it can show. - -.. raw:: html - - Link to Web Serial API - -Bootstrap -============= - -**Purpose**: Bootstrap is a popular front-end framework that provides a collection of pre-designed CSS and JavaScript components. It simplifies the process of creating responsive and visually appealing web interfaces. - -**Role in our Project**: Bootstrap enhances the user interface by offering components like navigation bars, buttons and modals. It ensures that your application has a consistent look and feel and is responsive, adapting to various screen sizes. By importing Bootstrap CSS and JS, you leverage its components and styling to quickly build and customize your web application. - -.. raw:: html - - Link to Bootstrap -.. _bioamp-visualizer-smoothiecharts: - -SmoothieCharts -=============== - -**Purpose**: SmoothieCharts is a JavaScript library used for creating timeseries charts and real time data visualizations. - -**Role in our Project**: SmoothieCharts facilitates the dynamic visualization of bio potential signal data in our application. It allows for real-time updates to the chart as new data is added, providing an interactive and visually informative way to monitor the data. - -.. raw:: html - - Link to SmoothieCharts - -IndexedDB -========= - -**Purpose**: IndexedDB is a low-level API for storing significant amounts of structured data within a user's browser. It supports complex queries and transactions, making it suitable for offline storage and local data management. - -**Role in our Project**: IndexedDB is used to store recorded data locally within the user's browser. This enables efficient management and retrieval of data without requiring a server connection. It ensures that users can access their recorded data even when offline or when the application is restarted. - -.. raw:: html - - Link to IndexedDB - - diff --git a/software/bioamp_visualizer_technical_doc/media/Bioamp_compatibility.jpeg b/software/bioamp_visualizer_technical_doc/media/Bioamp_compatibility.jpeg deleted file mode 100644 index e9dbd31a..00000000 Binary files a/software/bioamp_visualizer_technical_doc/media/Bioamp_compatibility.jpeg and /dev/null differ diff --git a/software/bioamp_visualizer_technical_doc/media/bioamp_visualizer_Arduino_Uno.jpeg b/software/bioamp_visualizer_technical_doc/media/bioamp_visualizer_Arduino_Uno.jpeg deleted file mode 100644 index 1eddc145..00000000 Binary files a/software/bioamp_visualizer_technical_doc/media/bioamp_visualizer_Arduino_Uno.jpeg and /dev/null differ diff --git a/software/bioamp_visualizer_technical_doc/media/bioamp_visualizer_Arduino_nano.jpg b/software/bioamp_visualizer_technical_doc/media/bioamp_visualizer_Arduino_nano.jpg deleted file mode 100644 index af5843a7..00000000 Binary files a/software/bioamp_visualizer_technical_doc/media/bioamp_visualizer_Arduino_nano.jpg and /dev/null differ diff --git a/software/bioamp_visualizer_technical_doc/media/bioamp_visualizer_Maker_Uno.jpeg b/software/bioamp_visualizer_technical_doc/media/bioamp_visualizer_Maker_Uno.jpeg deleted file mode 100644 index 13db5fc1..00000000 Binary files a/software/bioamp_visualizer_technical_doc/media/bioamp_visualizer_Maker_Uno.jpeg and /dev/null differ diff --git a/software/bioamp_visualizer_technical_doc/media/bioamp_visualizer_boards.jpg b/software/bioamp_visualizer_technical_doc/media/bioamp_visualizer_boards.jpg deleted file mode 100644 index 183fe9dd..00000000 Binary files a/software/bioamp_visualizer_technical_doc/media/bioamp_visualizer_boards.jpg and /dev/null differ diff --git a/software/bioamp_visualizer_technical_doc/media/bioamp_visualizer_browser_compatibility.jpeg b/software/bioamp_visualizer_technical_doc/media/bioamp_visualizer_browser_compatibility.jpeg deleted file mode 100644 index e4c7e9be..00000000 Binary files a/software/bioamp_visualizer_technical_doc/media/bioamp_visualizer_browser_compatibility.jpeg and /dev/null differ diff --git a/software/bioamp_visualizer_technical_doc/media/bioamp_visualizer_connect.png b/software/bioamp_visualizer_technical_doc/media/bioamp_visualizer_connect.png deleted file mode 100644 index 0e0668c7..00000000 Binary files a/software/bioamp_visualizer_technical_doc/media/bioamp_visualizer_connect.png and /dev/null differ diff --git a/software/bioamp_visualizer_technical_doc/media/bioamp_visualizer_connection.jpeg b/software/bioamp_visualizer_technical_doc/media/bioamp_visualizer_connection.jpeg deleted file mode 100644 index f83b20c8..00000000 Binary files a/software/bioamp_visualizer_technical_doc/media/bioamp_visualizer_connection.jpeg and /dev/null differ diff --git a/software/bioamp_visualizer_technical_doc/media/bioamp_visualizer_contributors.jpeg b/software/bioamp_visualizer_technical_doc/media/bioamp_visualizer_contributors.jpeg deleted file mode 100644 index a03b9207..00000000 Binary files a/software/bioamp_visualizer_technical_doc/media/bioamp_visualizer_contributors.jpeg and /dev/null differ diff --git a/software/bioamp_visualizer_technical_doc/media/bioamp_visualizer_default.jpeg b/software/bioamp_visualizer_technical_doc/media/bioamp_visualizer_default.jpeg deleted file mode 100644 index 054568ba..00000000 Binary files a/software/bioamp_visualizer_technical_doc/media/bioamp_visualizer_default.jpeg and /dev/null differ diff --git a/software/bioamp_visualizer_technical_doc/media/bioamp_visualizer_labeling.jpg b/software/bioamp_visualizer_technical_doc/media/bioamp_visualizer_labeling.jpg deleted file mode 100644 index e216ada8..00000000 Binary files a/software/bioamp_visualizer_technical_doc/media/bioamp_visualizer_labeling.jpg and /dev/null differ diff --git a/software/bioamp_visualizer_technical_doc/media/bioamp_visualizer_record.jpg b/software/bioamp_visualizer_technical_doc/media/bioamp_visualizer_record.jpg deleted file mode 100644 index 380d5bb9..00000000 Binary files a/software/bioamp_visualizer_technical_doc/media/bioamp_visualizer_record.jpg and /dev/null differ diff --git a/software/bioamp_visualizer_technical_doc/media/bioamp_visualizer_save.jpeg b/software/bioamp_visualizer_technical_doc/media/bioamp_visualizer_save.jpeg deleted file mode 100644 index aaed53b5..00000000 Binary files a/software/bioamp_visualizer_technical_doc/media/bioamp_visualizer_save.jpeg and /dev/null differ diff --git a/software/bioamp_visualizer_technical_doc/media/bioamp_visualizer_save_modal.jpeg b/software/bioamp_visualizer_technical_doc/media/bioamp_visualizer_save_modal.jpeg deleted file mode 100644 index 03dc547d..00000000 Binary files a/software/bioamp_visualizer_technical_doc/media/bioamp_visualizer_save_modal.jpeg and /dev/null differ diff --git a/software/bioamp_visualizer_technical_doc/media/bioamp_visualizer_saving.png b/software/bioamp_visualizer_technical_doc/media/bioamp_visualizer_saving.png deleted file mode 100644 index a6625be0..00000000 Binary files a/software/bioamp_visualizer_technical_doc/media/bioamp_visualizer_saving.png and /dev/null differ diff --git a/software/bioamp_visualizer_technical_doc/media/bioamp_visualizer_signal_aquisition.jpg b/software/bioamp_visualizer_technical_doc/media/bioamp_visualizer_signal_aquisition.jpg deleted file mode 100644 index 105f14e9..00000000 Binary files a/software/bioamp_visualizer_technical_doc/media/bioamp_visualizer_signal_aquisition.jpg and /dev/null differ diff --git a/software/bioamp_visualizer_technical_doc/media/bioamp_visualizer_signals.jpeg b/software/bioamp_visualizer_technical_doc/media/bioamp_visualizer_signals.jpeg deleted file mode 100644 index 284f6bbb..00000000 Binary files a/software/bioamp_visualizer_technical_doc/media/bioamp_visualizer_signals.jpeg and /dev/null differ diff --git a/software/bioamp_visualizer_technical_doc/media/bioamp_visualizer_start.jpg b/software/bioamp_visualizer_technical_doc/media/bioamp_visualizer_start.jpg deleted file mode 100644 index dd35f101..00000000 Binary files a/software/bioamp_visualizer_technical_doc/media/bioamp_visualizer_start.jpg and /dev/null differ diff --git a/software/bioamp_visualizer_technical_doc/media/bioamp_visualizer_stop.jpg b/software/bioamp_visualizer_technical_doc/media/bioamp_visualizer_stop.jpg deleted file mode 100644 index 8c05113a..00000000 Binary files a/software/bioamp_visualizer_technical_doc/media/bioamp_visualizer_stop.jpg and /dev/null differ diff --git a/software/chords/chords-python/index.rst b/software/chords/chords-python/index.rst new file mode 100644 index 00000000..e72eee47 --- /dev/null +++ b/software/chords/chords-python/index.rst @@ -0,0 +1,124 @@ +.. _chords-python: + +Chords-Python +############## + +.. youtube:: bj7exKRsuZ8 + +Overview +******** + +Chords Python script is designed to interface with an Arduino-based bio-potential amplifier, read data from it, optionally log this data to CSV or stream it via the Lab Streaming Layer (LSL). + +Features +******** + +- **Automatic Arduino Detection**: The tool automatically scans and detects connected Arduino devices, streamlining setup by eliminating manual port configuration. This ensures quick and user-friendly selection of the correct device for data acquisition. +- **Data Reading**: The system reads data packets from the Arduino in real-time, efficiently processing them to ensure no data loss and accurate signal representation for analysis or visualization. +- **CSV Logging**: An optional feature logs incoming data to a CSV file with columns for Counter and upto 6-Channel data, enabling easy storage for analysis or sharing. +- **LSL Streaming**: The tool streams data via Lab Streaming Layer (LSL), a protocol for time-synchronized data sharing, enabling real-time analysis, visualization, or integration with platforms like BrainVision LSL Viewer. +- **Verbose Output**: This feature provides detailed output, including real-time statistics and error reporting. It tracks the sampling rate, signal drift, and other key metrics to ensure the data acquisition process is smooth. +- **Inverted Signal**: Users can invert the signal in software to correct electrode placement issues without needing physical adjustments, ensuring seamless experimentation. +- **Timer**: This feature enables time-based recording, automatically stopping after a user-defined duration in seconds. Ideal for experiments requiring specific data intervals, it simplifies automated data collection. + +Hardware Requirements +********************* + +To use Chords-Python, you need: + +- Compatible Development Board: Arduino Uno R3 and R4 Minima +- A USB cable (type depends on board) +- BioAmp Hardware: + + - `BioAmp EXG Pill `_ + - `Muscle BioAmp Biscute `_ + - `Muscle BioAmp Candy `_ + - `Muscle BioAmp Patchy `_ + - `Muscle BioAmp Shield `_ + +.. note:: + + You have to flash `Chords Arduino Firmware `_ + to your Arduino board using Arduino IDE. + +How to use Chords-python +************************ + +Uploading the code +================== + +1. Connect the Arduino board to your laptop using the USB cable. +2. Copy and paste the `Arduino Firmware `_ for your board into the Arduino IDE. +3. Select your board from `Board` section in the tools menu. +4. Choose the correct COM port in the tools menu (the one that disappears when you disconnect the board). +5. Click on the `Upload` button to flash your Arduino board. + +Now, you are ready to use Chords-Python. + +Using the Software +================== + +Follow these steps to set up and install Chords-Python: + +1. Ensure you have latest version of Python installed. +2. **Download the GitHub repository**: + + - You can download the Chords-Python repository from GitHub by visiting the following link: `Chords-Python `_. + - Or, You can clone the repository using Git by running the following command: + + ``` + git clone https://github.com/upsidedownlabs/Chords-Python.git + ``` +3. **Create a Virtual Environment**: + + A virtual environment allows you to manage dependencies for your project in isolation. + + - Open a terminal or command prompt. + - Navigate to the directory where you have cloned the repository. + - Run the following command to create a virtual environment: + + ``` + python -m venv venv + ``` + + - To activate the virtual environment: + - **On Windows**: + ``` + .\venv\Scripts\activate + ``` + + - **On macOS/Linux**: + ``` + source venv/bin/activate + ``` +4. **Install the Required Python Libraries**: + + Once the virtual environment is activated, you need to install the required libraries for the project. + + - In the terminal or command prompt, run the following command to install the dependencies listed in the `chords_requirements.txt` file: + + ``` + pip install -r chords_requirements.txt + ``` + + - This will install all the necessary Python libraries and dependencies for Chords-Python. + + Once these steps are completed, you will be ready to run the Chords-Python Script. +5. To run the Script, run the following command : + + ``` + python chords.py [Options] + ``` + +.. tip:: + + Replace `[options]` with any specific flags you want to use. + Options available are: + +- **-p, --port**: Specify the serial port to use (e.g., COM5, /dev/ttyUSB0).(By default it automatically detects the port.) +- **-b, --baudrate** : Set the baud rate for serial communication (default is 230400). +- **--csv**: Enable CSV logging. Data will be saved to a timestamped file. +- **--lsl**: Enable LSL streaming. Sends data to an LSL outlet. +- **-v, --verbose**: Enable verbose output with detailed statistics and error reporting. +- **--inverted**:Invert the signal before streaming LSL and logging. +- **-t** : Enable the timer to run program for a set time in seconds. \ No newline at end of file diff --git a/software/chords/index.rst b/software/chords/chords-web/index.rst similarity index 90% rename from software/chords/index.rst rename to software/chords/chords-web/index.rst index 5d1b4946..c6deb5b5 100644 --- a/software/chords/index.rst +++ b/software/chords/chords-web/index.rst @@ -1,20 +1,23 @@ .. _chords: -Getting Started +Chords-Web ################# Overview ******** + Chords is an open source web application designed for real-time signal visualization, particularly tailored for bio-potential signals like EEG, EMG, ECG and EOG. This tool serves as an advanced alternative to the standard Arduino IDE serial plotter, offering enhanced functionality for students, researchers and hobbyists alike who want to record biopotential data using `BioAmp hardware `_. -.. figure:: media/chords_landing_page.* +.. figure:: ../media/chords_landing_page.* :align: center :alt: chords landing page chords landing page + Features ******** + - **Connection**: It is effortlessly compatible with BioAmp Hardware attached to an Arduino-compatible development board running the `Chords Arduino firmware `_, simplifying the setup process and ensuring a smooth and efficient workflow from data acquisition to visualization. - **Real-time Visualization**: Experience smooth real-time visualization of incoming data rendered with `WebGL-Plot `_. The system ensures smooth signal display, helping you monitor the flow without interruptions or lag. - **Recording**: You can record data in CSV format indefinitely or set a timer to stop recording automatically when it expires. @@ -33,7 +36,8 @@ Software Requirements Hardware Requirements ********************* -To use Chords, you need: + +To use Chords-Web, you need: - Compatible Development Board : Arduino Uno R3 And R4 Minima - A USB cable (type depends on board) @@ -45,11 +49,11 @@ To use Chords, you need: - `Muscle BioAmp Patchy `_ - `Muscle BioAmp Shield `_ -How to Use Chords +How to Use Chords-Web ******************* Uploading the Code ------------------- +================== 1. Connect the Arduino board to your laptop using the USB cable. 2. Copy and paste the `Arduino Firmware `_ into the Arduino IDE. @@ -60,7 +64,7 @@ Uploading the Code Now, you are ready to use `Chords `_. Using the Software ------------------- +================== 1. Click the ``Connect`` button to establish a connection with the Arduino and start streaming. 2. Use the ``Play/Pause`` button to control the data stream. @@ -80,73 +84,73 @@ Chords Icons * - Icons - Description - * - .. figure:: media/chords_connect.* + * - .. figure:: ../media/chords_connect.* :alt: chords Connect :align: left :width: 20px :height: 20px - Connect - * - .. figure:: media/chords_zoom_in.* + * - .. figure:: ../media/chords_zoom_in.* :alt: chords zoom in :align: left :width: 20px :height: 20px - Zoom in - * - .. figure:: media/chords_zoom_out.* + * - .. figure:: ../media/chords_zoom_out.* :alt: chords zoom out :align: left :width: 20px :height: 20px - Zoom out - * - .. figure:: media/chords_pause.* + * - .. figure:: ../media/chords_pause.* :alt: chords pause :align: left :width: 20px :height: 20px - Pause - * - .. figure:: media/chords_resume.* + * - .. figure:: ../media/chords_resume.* :alt: chords resume :align: left :width: 20px :height: 20px - Resume - * - .. figure:: media/chords_record.* + * - .. figure:: ../media/chords_record.* :alt: chords record :align: left :width: 20px :height: 20px - Record - * - .. figure:: media/chords_save.* + * - .. figure:: ../media/chords_save.* :alt: chords save :align: left :width: 20px :height: 20px - Save - * - .. figure:: media/chords_delete.* + * - .. figure:: ../media/chords_delete.* :alt: chords delete :align: left :width: 20px :height: 20px - Delete - * - .. figure:: media/chords_plus.* + * - .. figure:: ../media/chords_plus.* :alt: chords plus :align: left :width: 20px :height: 20px - Increase Channel - * - .. figure:: media/chords_minus.* + * - .. figure:: ../media/chords_minus.* :alt: chords minus :align: left :width: 20px :height: 20px - Decrease Channel - * - .. figure:: media/chords_light_mode.* + * - .. figure:: ../media/chords_light_mode.* :alt: chords light theme :align: left :width: 20px :height: 20px - Light Mode - * - .. figure:: media/chords_dark_mode.* + * - .. figure:: ../media/chords_dark_mode.* :alt: chords dark theme :align: left :width: 20px @@ -170,6 +174,7 @@ For more information, refer to MDN Web Docs on the `Web Serial API