import QtQuick 2.0 import QtQuick.Controls 2.0 import TcpSocket 2.0 import BCIManager 2.0 Item { property int hitIndex: -1 property bool bStimulate: false property int responseTime: 5 property bool bTest: false property bool bConnect: false; property var brainTrainForm: null property string red: "#EE6352" property string green: "#41B962" property string yellow: "#F8C434" property int currentIndexTenHz: 0 property var imageFilesTenHz: [ "qrc:/DependFile/Source/brainTrain/up/upper_stretch_L01.png", "qrc:/DependFile/Source/brainTrain/up/upper_stretch_L02.png", "qrc:/DependFile/Source/brainTrain/up/upper_stretch_L03.png", "qrc:/DependFile/Source/brainTrain/up/upper_stretch_L04.png", "qrc:/DependFile/Source/brainTrain/up/upper_stretch_L06.png", "qrc:/DependFile/Source/brainTrain/up/upper_stretch_L06.png", "qrc:/DependFile/Source/brainTrain/up/upper_stretch_L07.png", "qrc:/DependFile/Source/brainTrain/up/upper_stretch_L08.png", "qrc:/DependFile/Source/brainTrain/up/upper_stretch_L09.png", "qrc:/DependFile/Source/brainTrain/up/upper_stretch_L10.png", "qrc:/DependFile/Source/brainTrain/up/upper_stretch_L11.png", "qrc:/DependFile/Source/brainTrain/up/upper_stretch_L12.png", "qrc:/DependFile/Source/brainTrain/up/upper_stretch_L13.png", "qrc:/DependFile/Source/brainTrain/up/upper_stretch_L14.png", "qrc:/DependFile/Source/brainTrain/up/upper_stretch_L15.png", "qrc:/DependFile/Source/brainTrain/up/upper_stretch_L14.png", "qrc:/DependFile/Source/brainTrain/up/upper_stretch_L13.png", "qrc:/DependFile/Source/brainTrain/up/upper_stretch_L12.png", "qrc:/DependFile/Source/brainTrain/up/upper_stretch_L11.png", "qrc:/DependFile/Source/brainTrain/up/upper_stretch_L10.png", "qrc:/DependFile/Source/brainTrain/up/upper_stretch_L09.png", "qrc:/DependFile/Source/brainTrain/up/upper_stretch_L08.png", "qrc:/DependFile/Source/brainTrain/up/upper_stretch_L07.png", "qrc:/DependFile/Source/brainTrain/up/upper_stretch_L06.png", "qrc:/DependFile/Source/brainTrain/up/upper_stretch_L05.png", "qrc:/DependFile/Source/brainTrain/up/upper_stretch_L04.png", "qrc:/DependFile/Source/brainTrain/up/upper_stretch_L03.png", "qrc:/DependFile/Source/brainTrain/up/upper_stretch_L02.png" ] property int currentIndexTwelevHz: 0 property var imageFilesTwelevHz: [ "qrc:/DependFile/Source/brainTrain/down/lower_stretch_L01.png", "qrc:/DependFile/Source/brainTrain/down/lower_stretch_L02.png", "qrc:/DependFile/Source/brainTrain/down/lower_stretch_L03.png", "qrc:/DependFile/Source/brainTrain/down/lower_stretch_L04.png", "qrc:/DependFile/Source/brainTrain/down/lower_stretch_L05.png", "qrc:/DependFile/Source/brainTrain/down/lower_stretch_L06.png", "qrc:/DependFile/Source/brainTrain/down/lower_stretch_L07.png", "qrc:/DependFile/Source/brainTrain/down/lower_stretch_L08.png", "qrc:/DependFile/Source/brainTrain/down/lower_stretch_L09.png", "qrc:/DependFile/Source/brainTrain/down/lower_stretch_L10.png", "qrc:/DependFile/Source/brainTrain/down/lower_stretch_L11.png", "qrc:/DependFile/Source/brainTrain/down/lower_stretch_L12.png", "qrc:/DependFile/Source/brainTrain/down/lower_stretch_L13.png", "qrc:/DependFile/Source/brainTrain/down/lower_stretch_L14.png", "qrc:/DependFile/Source/brainTrain/down/lower_stretch_L15.png", "qrc:/DependFile/Source/brainTrain/down/lower_stretch_L14.png", "qrc:/DependFile/Source/brainTrain/down/lower_stretch_L13.png", "qrc:/DependFile/Source/brainTrain/down/lower_stretch_L12.png", "qrc:/DependFile/Source/brainTrain/down/lower_stretch_L11.png", "qrc:/DependFile/Source/brainTrain/down/lower_stretch_L10.png", "qrc:/DependFile/Source/brainTrain/down/lower_stretch_L09.png", "qrc:/DependFile/Source/brainTrain/down/lower_stretch_L08.png", "qrc:/DependFile/Source/brainTrain/down/lower_stretch_L07.png", "qrc:/DependFile/Source/brainTrain/down/lower_stretch_L06.png", "qrc:/DependFile/Source/brainTrain/down/lower_stretch_L05.png", "qrc:/DependFile/Source/brainTrain/down/lower_stretch_L04.png", "qrc:/DependFile/Source/brainTrain/down/lower_stretch_L03.png", "qrc:/DependFile/Source/brainTrain/down/lower_stretch_L02.png" ] property int currentIndexFifteenHz: 0 property var imageFilesFifteenHz: [ "qrc:/DependFile/Source/brainTrain/dpdown/limbs_stretch_LR01.png", "qrc:/DependFile/Source/brainTrain/dpdown/limbs_stretch_LR02.png", "qrc:/DependFile/Source/brainTrain/dpdown/limbs_stretch_LR03.png", "qrc:/DependFile/Source/brainTrain/dpdown/limbs_stretch_LR04.png", "qrc:/DependFile/Source/brainTrain/dpdown/limbs_stretch_LR05.png", "qrc:/DependFile/Source/brainTrain/dpdown/limbs_stretch_LR06.png", "qrc:/DependFile/Source/brainTrain/dpdown/limbs_stretch_LR07.png", "qrc:/DependFile/Source/brainTrain/dpdown/limbs_stretch_LR08.png", "qrc:/DependFile/Source/brainTrain/dpdown/limbs_stretch_LR09.png", "qrc:/DependFile/Source/brainTrain/dpdown/limbs_stretch_LR10.png", "qrc:/DependFile/Source/brainTrain/dpdown/limbs_stretch_LR11.png", "qrc:/DependFile/Source/brainTrain/dpdown/limbs_stretch_LR12.png", "qrc:/DependFile/Source/brainTrain/dpdown/limbs_stretch_LR13.png", "qrc:/DependFile/Source/brainTrain/dpdown/limbs_stretch_LR14.png", "qrc:/DependFile/Source/brainTrain/dpdown/limbs_stretch_LR15.png", "qrc:/DependFile/Source/brainTrain/dpdown/limbs_stretch_LR14.png", "qrc:/DependFile/Source/brainTrain/dpdown/limbs_stretch_LR13.png", "qrc:/DependFile/Source/brainTrain/dpdown/limbs_stretch_LR12.png", "qrc:/DependFile/Source/brainTrain/dpdown/limbs_stretch_LR11.png", "qrc:/DependFile/Source/brainTrain/dpdown/limbs_stretch_LR10.png", "qrc:/DependFile/Source/brainTrain/dpdown/limbs_stretch_LR09.png", "qrc:/DependFile/Source/brainTrain/dpdown/limbs_stretch_LR08.png", "qrc:/DependFile/Source/brainTrain/dpdown/limbs_stretch_LR07.png", "qrc:/DependFile/Source/brainTrain/dpdown/limbs_stretch_LR06.png", "qrc:/DependFile/Source/brainTrain/dpdown/limbs_stretch_LR05.png", "qrc:/DependFile/Source/brainTrain/dpdown/limbs_stretch_LR04.png", "qrc:/DependFile/Source/brainTrain/dpdown/limbs_stretch_LR03.png", "qrc:/DependFile/Source/brainTrain/dpdown/limbs_stretch_LR02.png" ]; function startStimulate() { animationTenHz.start(); animationTwelveHz.start(); animationFifteenHz.start(); if(!bConnect) { clientSocket.connectToHost(); } clientSocket.writeBytes(getIntArr("1")); } function stopStimulate() { if(animationTenHz.running) { animationTenHz.stop(); flashingImageTenHz.opacity = 1; } if(animationTwelveHz.running) { animationTwelveHz.stop(); flashingImageTwelveHz.opacity = 1; } if(animationFifteenHz.running) { animationFifteenHz.stop(); flashingImageFifteenHz.opacity = 1; } } function clearHit() { if(hitIndex === 0) { ssvepTenHzTimer.stop(); imageTenHz.source = imageFilesTenHz[0]; }else if(hitIndex === 1) { ssvepTwelveHzTimer.stop(); imageTwelveHz.source = imageFilesTwelevHz[0]; }else if(hitIndex === 2) { ssvepFifteenHzTimer.stop(); imageFifteenHz.source = imageFilesFifteenHz[0]; } if(hitTimer.running) { hitTimer.stop(); } hitIndex = -1; } Timer { id: hitTimer interval: responseTime*1000; repeat: false onTriggered: { clearHit(); startStimulate(); } } Timer { id: connectTimer interval: 3*1000; onTriggered: { clientSocket.connected(); } } function ssvepHit(index) { if(!bStimulate) { return; } if(hitIndex !== -1) { return; } if(index === "0") { ssvepTenHzTimer.start(); hitTimer.start(); bci.startTrain(0,responseTime-1); hitIndex = 0; }else if(index === "1") { ssvepTwelveHzTimer.start(); hitTimer.start(); bci.startTrain(1,responseTime-1); hitIndex = 1; }else if(index === "2") { ssvepFifteenHzTimer.start(); hitTimer.start(); bci.startTrain(2,responseTime-1); hitIndex = 2; }else { hitIndex = -1; return; } } function getStr(intArr){ var str = ""; for(var i=0;i