A new plugout that triggers anything wired into an Arduino.
Category: Software
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:

I received an even more mysterious device that does input (and output?) via audio cables… still have to summon the courage to give it a test run!
Tweaked the IR LED REM algorithm.
Added a new channel: IR LED REM, for one of Rob’s custom mods that adds a photoresistor and an IR LED to the LightStone. It is disabled by default.

