You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The BioAmp Tool is a Python script designed to interface with an Arduino-based bioamplifier, read data from it, and optionally log this data to CSV or stream it via the Lab Streaming Layer (LSL).
3
+
The BioAmp Tool is a Python script designed to interface with an Arduino-based bioamplifier, read data from it, optionally log this data to CSV or stream it via the Lab Streaming Layer (LSL), and visualize it through a graphical user interface (GUI) with live plotting.
4
4
5
5
## Features
6
6
7
7
-**Automatic Arduino Detection:** Automatically detects connected Arduino devices via serial ports.
8
-
-**Data Reading:**Reads ModularEEG P2 format data packets from the Arduino's serial port.
8
+
-**Data Reading:**Read ModularEEG P2 format data packets from the Arduino's serial port.
9
9
-**CSV Logging:** Optionally logs data to a CSV file.
10
10
-**LSL Streaming:** Optionally streams data to an LSL outlet for integration with other software.
11
-
-**Verbose Output:** Provides detailed statistics and error reporting.
11
+
-**Verbose Output:** Provides detailed statistics and error reporting, including sampling rate and drift.
12
+
-**GUI:** Live plotting of six channels using a PyQt-based GUI.
Parses data from Arduino and manages logging, streaming, and GUI updates.
82
+
83
+
`init_gui()`
68
84
69
-
Parses data from Arduino and manages logging and streaming.
85
+
Initializes and displays the GUI with six real-time plots, one for each bio-signal channel.
70
86
71
-
-`main()`
87
+
`main()`
72
88
73
89
Handles command-line argument parsing and initiates data processing.
74
90
75
91
## Data Logging
76
92
77
-
-**CSV Output**: The script saves the processed data in a CSV file named `packet_data.csv`.
78
-
- The CSV contains the following columns:
93
+
- **CSV Output**: The script saves the processed data in a CSV file with a timestamped name.
94
+
- The CSV file contains the following columns:
79
95
- `Counter`: The sample counter from the Arduino.
80
96
- `Channel1` to `Channel6`: The data values from each channel.
81
97
82
-
-**Log Intervals**: The script logs data counts every minute and provides a summary every 10 minutes, including the sampling rate and drift in seconds per hour.
98
+
- **Log Intervals**: The script logs data counts every second and provides a summary every 10 minutes, including the sampling rate and drift in seconds per hour.
83
99
84
100
## LSL Streaming
85
101
@@ -89,7 +105,7 @@ Handles command-line argument parsing and initiates data processing.
89
105
- **Sampling Rate**: `250 Hz`
90
106
- **Data Format**: `float32`
91
107
92
-
Use an LSL viewer (e.g., BrainVision LSL Viewer) to visualize the streamed data in real-time.
108
+
If GUI is not enabled, you can use an LSL viewer (e.g., BrainVision LSL Viewer) to visualize the streamed data in real-time.
93
109
94
110
## Troubleshooting
95
111
@@ -101,5 +117,4 @@ Use an LSL viewer (e.g., BrainVision LSL Viewer) to visualize the streamed data
101
117
102
118
We are thankful to our awesome contributors, the list below is alphabetically sorted.
0 commit comments