Removed the Arduino options as there is now a plug-out for the Arduino.
Category: Zeo EEG
Fixed the sleep stage value again. It now definitely triggers during REM!
Fixed the sleep stage value so it should now hopefully trigger during REM!
Added the frequency bands D, T, A, B1, B2, B3 and G. They are turned off by default and need to be enabled under the plugins node.
Smoothed out the Zeo EEG channel by finding the greatest peak or trough in steps of 16 in the 128 data points in a packet:
int[] eigths = new int[8]; for (int x = 0; x < 8; x++) { float maximum = 0; float minimum = 0; for (int y = 0; y < 16; y++) { int index = (x * 16) + y; if (channels[index].Values[0] > maximum) { maximum = channels[index].Values[0]; } if (channels[index].Values[0] < minimum) { minimum = channels[index].Values[0]; } } float greatest = maximum; if (minimum * -1 > maximum) { greatest = minimum; } eigths[x] = Convert.ToInt32((greatest * 10) + 3000) / 6; }
That creates 8 values which can be fetched asynchronously by Lucid Scribe’s internal clock at 10 Hz by dividing the current millisecond by 125:
double eigth = DateTime.Now.Millisecond / 125; return eigths[(int)(Math.Round(eigth))];
All that because I couldn’t evenly divide 128 by 10! The end result looks a little better from afar (when looking for eye movements) with one sixteenth of the data:
With a Zeo finally in hand to test with, I see there is a lot of room to improve the plugin. Added the Zeo RAW channel – it updates every second with 128 data points that lag by 3 or 4 seconds… the wave is an eye movement:
Merged Jef’s tweaks and added configuration options to trigger tACS devices connected via an Arduino board. The first drop down list determines the COM port the board is connected, the second drop down list sets the delay, in minutes. The first text box is the message it will send when eye movements are detected, and the second text box holds the message it will send after the delay has passed.
Fixed the stage data.
Decreased the bandwidth from 1000 to 100 and divided the EEG and Stage values by the channel count.
Increased the bandwidth extracted from the data channels.