Example #1
0
def start_trigger_sending(port_name, num_of_trigs, min_time, max_time,
                          send_tags, finish_saving, file_path):
    print("Start sending triggers with config:")
    print("port_name / num_of_trigs / min_time / max_time / send_tags")
    print(port_name, ' / ', num_of_trigs, ' / ', min_time, ' / ', max_time,
          ' / ', send_tags)
    print("")
    secs = 20
    print("First, send 1 trigger for " + str(secs) +
          " secs. Then start generating other.")

    if file_path:
        f = open(file_path, 'w')

    if send_tags:
        from openbci.tags import tagger
        tg = tagger.get_tagger()

    s = serial_test.SerialSender(port_name)
    s.open()

    last_v = 1
    s.send(last_v)
    last_t = time.time()
    time.sleep(secs)

    for i in range(num_of_trigs):
        v = (last_v + 1) % 2
        s.send(v)
        t = time.time()
        if send_tags:
            tg.send_tag(last_t, t, "trigger", {'value': last_v})
        if file_path:
            print("write file!")
            f.write(' '.join([repr(last_t), repr(t), repr(last_v), '\n']))
            f.flush()
        last_v = v
        last_t = t
        time.sleep(min_time + random.random() * (max_time - min_time))

    # Send last tag - from last change to end-of-file
    t = time.time()
    if send_tags:
        tg.send_tag(last_t, t, "trigger", {'value': last_v})
    if file_path:
        print("write file!")
        f.write(' '.join([repr(last_t), repr(t), repr(last_v), '\n']))

    if finish_saving:
        from data_storage import signal_saver_control
        signal_saver_control.SignalSaverControl().finish_saving()

    if file_path:
        f.close()
Example #2
0
def start_trigger_sending(port_name,num_of_trigs, min_time, max_time, send_tags, finish_saving, file_path):
    print("Start sending triggers with config:")
    print("port_name / num_of_trigs / min_time / max_time / send_tags")
    print(port_name,' / ', num_of_trigs,' / ', min_time,' / ', max_time, ' / ', send_tags)
    print("")
    secs = 20
    print("First, send 1 trigger for "+str(secs)+" secs. Then start generating other.")
    
    if file_path:
        f = open(file_path, 'w')

    if send_tags:
        from openbci.tags import tagger
        tg = tagger.get_tagger()

    s = serial_test.SerialSender(port_name)
    s.open()


    last_v = 1
    s.send(last_v)
    last_t = time.time()
    time.sleep(secs)

    for i in range(num_of_trigs):
        v = (last_v + 1) % 2
        s.send(v)
        t = time.time()
        if send_tags:
            tg.send_tag(last_t, t, "trigger", {'value': last_v})
        if file_path:
            print("write file!")
            f.write(' '.join([repr(last_t), repr(t), repr(last_v), '\n']))
            f.flush()
        last_v = v
        last_t = t
        time.sleep(min_time + random.random()*(max_time - min_time))

    # Send last tag - from last change to end-of-file
    t = time.time()
    if send_tags:
        tg.send_tag(last_t, t, "trigger", {'value': last_v})
    if file_path:
        print("write file!")
        f.write(' '.join([repr(last_t), repr(t), repr(last_v), '\n']))

    if finish_saving:
        from data_storage import signal_saver_control
        signal_saver_control.SignalSaverControl().finish_saving()

    if file_path:
        f.close()
Example #3
0
#
"""Holds Experiment_manager class:
This class is responsible for managing UGM experiments. It loads and holds configs
of those experiments and makes it possible to run them"""

from ugm.ugm_config_manager import UgmConfigManager
from experiment_builder.config.config import USE_MULTIPLEXER 

import ConfigParser
import random
import time
import sys
import os.path
from openbci.tags import tagger

TAGGER = tagger.get_tagger()

# We must check if we are running this script directly, and if we do,
# then perhaps command-line option overriden config
print (len(sys.argv), sys.argv)
config_file_name = None
if len(sys.argv) >= 2 and sys.argv[0].find('experiment_manager.py') >= 0 :
    if sys.argv[1] == 'mx-on':
        USE_MULTIPLEXER = True
    elif sys.argv[1] == 'mx-off':
        USE_MULTIPLEXER = False
    if len(sys.argv) >= 3:
        config_file_name = sys.argv[2]

if USE_MULTIPLEXER:
    from multiplexer.multiplexer_constants import peers, types
Example #4
0
#
"""Holds Experiment_manager class:
This class is responsible for managing UGM experiments. It loads and holds configs
of those experiments and makes it possible to run them"""

from ugm.ugm_config_manager import UgmConfigManager
from experiment_builder.config.config import USE_MULTIPLEXER

import ConfigParser
import random
import time
import sys
import os.path
from openbci.tags import tagger

TAGGER = tagger.get_tagger()

# We must check if we are running this script directly, and if we do,
# then perhaps command-line option overriden config
print(len(sys.argv), sys.argv)
config_file_name = None
if len(sys.argv) >= 2 and sys.argv[0].find('experiment_manager.py') >= 0:
    if sys.argv[1] == 'mx-on':
        USE_MULTIPLEXER = True
    elif sys.argv[1] == 'mx-off':
        USE_MULTIPLEXER = False
    if len(sys.argv) >= 3:
        config_file_name = sys.argv[2]

if USE_MULTIPLEXER:
    from multiplexer.multiplexer_constants import peers, types