########################################################################################################################
# This configuration file contains declarations of variables used by the scenarios of the tactile BCI System           #
#                                                                                                                      #
# Add --config PATH_TO_THIS_FILE when starting the designer from the command line                                      # 
# USE --define TOKEN VALUE to assign a different value to a token without changing the default configuration           #
#                                                                                                                      #  
#                                                                                                                      #
# Scenarios requiring this configuration file: p300-tactile-0-signal-monitoring.xml, p300-tactile-1-acquisition.xml,   #
#                                              p300-tactile-2-train-xDAWN.xml, p300-tactile-3-train-classifier.xml,    #
#                                              p300-tactile-4-online.xml                                               #
#                                                                                                                      #
# Author : Tobias Baumann                                                                                              #
# Date   : 2021-12-27                                                                                                  #
########################################################################################################################


########################################################################################################################
# General                                                                                                              #
########################################################################################################################
PATH_CONFIG                  = ${Player_ScenarioDirectory}/cfg
PATH_SCRIPTS                 = ${Player_ScenarioDirectory}/scripts
PATH_SIGNALS                 = ${Player_ScenarioDirectory}/signals
PATH_UI                      = ${Player_ScenarioDirectory}/ui

ROW_BASE                     = OVTK_StimulationId_Label_01
COL_BASE                     = OVTK_StimulationId_Label_07
N_TACTILOS                   = 6
FREE_SPELLING                = true


########################################################################################################################
# Acquisition and Signal Processing                                                                                    #
########################################################################################################################
ACQUISITION_SERVER_HOST_NAME = ${AcquisitionServer_HostName}
ACQUISITION_SERVER_PORT      = 1024
SIGNAL_DECIMATION_FACTOR     = 2
FILTER_TYPE                  = Band Pass
FILTER_ORDER                 = 4
LOW_CUT_FREQUENCY            = 1.000000
HIGH_CUT_FREQUENCY           = 20.000000



########################################################################################################################
# Stimulation                                                                                                          #
########################################################################################################################
SCRIPT_TACTILE_STIMULATOR    = ${PATH_SCRIPTS}/p300-tactile-stimulator.lua
N_REPETITIONS                = 4
N_TRIALS                     = 4
STIM_DURATION                = 0.2  
NO_STIM_DURATION             = 0.1
INTER_REPETITION_DELAY       = 1.0
INTER_TRIAL_DELAY            = 3.0
START_STIMULATION            = OVTK_StimulationId_Label_00
START_DELAY                  = 20    


########################################################################################################################
# Tactilo Control                                                                                                      #
########################################################################################################################
SERIAL_PORT                   = /dev/ttyACM0


########################################################################################################################
# Target Generation                                                                                                    #
########################################################################################################################
SCRIPT_TARGET_GENERATION     = ${PATH_SCRIPTS}/p300-tactile-target.lua
SEND_DELAY                   = 2


########################################################################################################################
# FILE I/O                                                                                                             #
########################################################################################################################
OUTPUT_FILE_NAME             = ${PATH_SIGNALS}/p300-tactile-session.ov
INPUT_FILE_NAME              = ${PATH_SIGNALS}/p300-tactile-session.ov 


########################################################################################################################
# xDAWN Spatial Filter                                                                                                 #
########################################################################################################################
SPATIAL_TRAIN_TRIGGER        = OVTK_StimulationId_ExperimentStop
SPATIAL_FILTER_CONFIG        = ${PATH_CONFIG}/p300-spatial-filter.cfg
FILTER_DIMENSION             = 2   


########################################################################################################################
# P300 Classifier                                                                                                      #
########################################################################################################################
CLASSIFIER_TRAIN_TRIGGER     = OVTK_StimulationId_ExperimentStop
CLASSIFIER_CONFIG            = ${PATH_CONFIG}/p300-classifier.cfg 
MULTICLASS_STRATEGY          = Native
CLASS_1                      = OVTK_StimulationId_Target
CLASS_2                      = OVTK_StimulationId_NonTarget
ALGORITHM                    = Linear Discrimimant Analysis (LDA)
USE_SHRINKAGE                = false
SHRINKAGE_COEFFICIENT        = -1.000000
SHRINKAGE_FORCE_DIAGONAL_COV = false
N_PARTITIONS                 = 5
CLASS_BALANCE                = false  


########################################################################################################################
# P300 ACCUMULATOR                                                                                                     #
########################################################################################################################
SCRIPT_P300_ACCUMULATOR      = ${PATH_SCRIPTS}/p300-tactile-accumulator.lua


########################################################################################################################
# Tactile Visualization                                                                                                #
########################################################################################################################
TACTILE_UI                   = ${PATH_UI}/p300-tactile-6.ui
FLASH_BG                     = 5,5,5
FLASH_FG                     = 100,100,100
FLASH_FONT_SIZE              = 50
NO_FLASH_BG                  = 0,0,0 
NO_FLASH_FG                  = 25,25,25
NO_FLASH_FONT_SIZE           = 50
TARGET_BG                    = 20,20,70
TARGET_FG                    = 10,10,30
TARGET_FONT_SIZE             = 50
SELECTED_BG                  = 10,40,10
SELECTED_FG                  = 60,100,60
SELECTED_FONT_SIZE           = 50