Category: Lucid Scribe Plugins
Lowered the threshold on the IR LED REM channel from 196 down to 156.
Added a new channel: Button TCMP, which interprets Morse Code patterns from mouse clicks and forwards them to the keyboard input. A quick click is a dot and anything longer is a dash. It is disabled by default so it needs to be enabled under plugins.
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.
Removed the option to trigger tACS devices plugged in via the USB relay, as it is now in a plug-out: Yocto PowerRelay.
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:

