Category: Software


Mouse FIELD 1.1.2

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.

View code changes | LSDBase entries

Zeo 1.0.1

Fixed the sleep stage value again. It now definitely triggers during REM!

View code changes | LSDBase Entries

Lucid Scribe 1.4.3

Added a time column for single-hour CSV exports.

OCZ hack

Zeo 1.0.0

Fixed the sleep stage value so it should now hopefully trigger during REM!

View code changes

Arduino 1.0.0

A new plugout that triggers anything wired into an Arduino.

Download | View source code

Zeo 0.9.9

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.

View code changes

Removed the option to trigger tACS devices plugged in via the USB relay, as it is now in a plug-out: Yocto PowerRelay.

View code changes | LSDBase entries

Zeo 0.9.8

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:

ZeoSync

View code changes

Zeo 0.9.7

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:

Zeo RAW Channel

View code changes