11/26
@ -1,7 +1,728 @@
|
||||
import QtQuick 2.0
|
||||
|
||||
Item {
|
||||
property int hitIndex: -1
|
||||
property bool bStimulate: false
|
||||
property int responseTime: 10*1000
|
||||
property bool bTest: true
|
||||
|
||||
property int currentIndexTenHz: 0
|
||||
property var imageFilesTenHz:
|
||||
[
|
||||
"qrc:/DependFile/Source/brainTrain/upTest/upper_stretch_R01.png",
|
||||
"qrc:/DependFile/Source/brainTrain/upTest/upper_stretch_R02.png",
|
||||
"qrc:/DependFile/Source/brainTrain/upTest/upper_stretch_R03.png",
|
||||
"qrc:/DependFile/Source/brainTrain/upTest/upper_stretch_R04.png",
|
||||
"qrc:/DependFile/Source/brainTrain/upTest/upper_stretch_R05.png",
|
||||
"qrc:/DependFile/Source/brainTrain/upTest/upper_stretch_R06.png",
|
||||
"qrc:/DependFile/Source/brainTrain/upTest/upper_stretch_R07.png",
|
||||
"qrc:/DependFile/Source/brainTrain/upTest/upper_stretch_R08.png",
|
||||
"qrc:/DependFile/Source/brainTrain/upTest/upper_stretch_R09.png",
|
||||
"qrc:/DependFile/Source/brainTrain/upTest/upper_stretch_R10.png",
|
||||
"qrc:/DependFile/Source/brainTrain/upTest/upper_stretch_R11.png",
|
||||
"qrc:/DependFile/Source/brainTrain/upTest/upper_stretch_R12.png",
|
||||
"qrc:/DependFile/Source/brainTrain/upTest/upper_stretch_R13.png",
|
||||
"qrc:/DependFile/Source/brainTrain/upTest/upper_stretch_R14.png",
|
||||
"qrc:/DependFile/Source/brainTrain/upTest/upper_stretch_R15.png"
|
||||
]
|
||||
|
||||
property int currentIndexTwelevHz: 0
|
||||
property var imageFilesTwelevHz:
|
||||
[
|
||||
"qrc:/DependFile/Source/brainTrain/upTest2D/upper_stretch_R01.png",
|
||||
"qrc:/DependFile/Source/brainTrain/upTest2D/upper_stretch_R02.png",
|
||||
"qrc:/DependFile/Source/brainTrain/upTest2D/upper_stretch_R03.png",
|
||||
"qrc:/DependFile/Source/brainTrain/upTest2D/upper_stretch_R04.png",
|
||||
"qrc:/DependFile/Source/brainTrain/upTest2D/upper_stretch_R05.png",
|
||||
"qrc:/DependFile/Source/brainTrain/upTest2D/upper_stretch_R06.png",
|
||||
"qrc:/DependFile/Source/brainTrain/upTest2D/upper_stretch_R07.png"
|
||||
]
|
||||
|
||||
property int currentIndexFifteenHz: 0
|
||||
property var imageFilesFifteenHz:
|
||||
[
|
||||
"qrc:/DependFile/Source/brainTrain/upTest3/upper_stretch_R01.png",
|
||||
"qrc:/DependFile/Source/brainTrain/upTest3/upper_stretch_R02.png",
|
||||
"qrc:/DependFile/Source/brainTrain/upTest3/upper_stretch_R03.png",
|
||||
"qrc:/DependFile/Source/brainTrain/upTest3/upper_stretch_R04.png",
|
||||
"qrc:/DependFile/Source/brainTrain/upTest3/upper_stretch_R05.png",
|
||||
"qrc:/DependFile/Source/brainTrain/upTest3/upper_stretch_R06.png",
|
||||
"qrc:/DependFile/Source/brainTrain/upTest3/upper_stretch_R07.png",
|
||||
"qrc:/DependFile/Source/brainTrain/upTest3/upper_stretch_R08.png",
|
||||
"qrc:/DependFile/Source/brainTrain/upTest3/upper_stretch_R09.png",
|
||||
"qrc:/DependFile/Source/brainTrain/upTest3/upper_stretch_R10.png",
|
||||
"qrc:/DependFile/Source/brainTrain/upTest3/upper_stretch_R11.png",
|
||||
"qrc:/DependFile/Source/brainTrain/upTest3/upper_stretch_R12.png",
|
||||
"qrc:/DependFile/Source/brainTrain/upTest3/upper_stretch_R13.png",
|
||||
"qrc:/DependFile/Source/brainTrain/upTest3/upper_stretch_R14.png",
|
||||
"qrc:/DependFile/Source/brainTrain/upTest3/upper_stretch_R15.png",
|
||||
"qrc:/DependFile/Source/brainTrain/upTest3/upper_stretch_R16.png",
|
||||
]
|
||||
|
||||
|
||||
function startStimulate()
|
||||
{
|
||||
animationTenHz.start();
|
||||
animationTwelveHz.start();
|
||||
animationFifteenHz.start();
|
||||
}
|
||||
|
||||
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;
|
||||
repeat: false
|
||||
onTriggered: {
|
||||
clearHit();
|
||||
startStimulate();
|
||||
}
|
||||
}
|
||||
|
||||
function ssvepHit(index)
|
||||
{
|
||||
if(!bStimulate)
|
||||
{
|
||||
return;
|
||||
}
|
||||
if(hitIndex !== -1)
|
||||
{
|
||||
return;
|
||||
}
|
||||
if(index === 0)
|
||||
{
|
||||
ssvepTenHzTimer.start();
|
||||
hitTimer.start();
|
||||
}else if(index === 1)
|
||||
{
|
||||
ssvepTwelveHzTimer.start();
|
||||
hitTimer.start();
|
||||
}else if(index === 2)
|
||||
{
|
||||
ssvepFifteenHzTimer.start();
|
||||
hitTimer.start();
|
||||
}else
|
||||
{
|
||||
return;
|
||||
}
|
||||
hitIndex = index;
|
||||
}
|
||||
|
||||
Rectangle{
|
||||
anchors.top: parent.top
|
||||
anchors.topMargin: 42
|
||||
anchors.left: parent.left
|
||||
anchors.leftMargin: 100
|
||||
anchors.right: parent.right
|
||||
anchors.rightMargin: 100
|
||||
anchors.bottom: parent.bottom
|
||||
anchors.bottomMargin: 178
|
||||
Row
|
||||
{
|
||||
anchors.centerIn: parent
|
||||
spacing: 80
|
||||
Rectangle
|
||||
{
|
||||
id:ssvepTenHz
|
||||
width: 520;
|
||||
height: 760;
|
||||
Rectangle
|
||||
{
|
||||
width: 520;
|
||||
height: 450;
|
||||
anchors.top: parent.top
|
||||
color:"#F9FAFD";
|
||||
border.width: 1
|
||||
border.color: "#ADCFDD"
|
||||
radius: 20;
|
||||
Rectangle
|
||||
{
|
||||
id:tenHzHit
|
||||
visible: ssvepTenHzTimer.running
|
||||
width: 100;
|
||||
height: 36;
|
||||
anchors.top: parent.top;
|
||||
anchors.topMargin: 40;
|
||||
anchors.right: parent.right;
|
||||
anchors.rightMargin: 40;
|
||||
color:Qt.rgba(52,196,163,0.1);
|
||||
border.width: 1;
|
||||
border.color: "#34C4A3";
|
||||
radius: 18;
|
||||
|
||||
Rectangle
|
||||
{
|
||||
width: 14;
|
||||
height: 14;
|
||||
anchors.top: parent.top;
|
||||
anchors.topMargin: 11;
|
||||
anchors.left: parent.left;
|
||||
anchors.leftMargin: 14;
|
||||
color:"#34C4A3";
|
||||
border.width: 1;
|
||||
border.color: "#34C4A3";
|
||||
radius: 7;
|
||||
}
|
||||
Text {
|
||||
text: qsTr("训练中")
|
||||
width: 72;
|
||||
height: 26;
|
||||
anchors.top: parent.top;
|
||||
anchors.topMargin: 4;
|
||||
anchors.left: parent.left;
|
||||
anchors.leftMargin: 32;
|
||||
color: "#10275A";
|
||||
horizontalAlignment: Text.AlignLeft
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
font.pixelSize: 18
|
||||
font.family: "Medium"
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Text {
|
||||
text: qsTr("上肢训练")
|
||||
width: 144;
|
||||
height: 46;
|
||||
anchors.top: parent.top;
|
||||
anchors.topMargin: 34;
|
||||
anchors.left: parent.left;
|
||||
anchors.leftMargin: 40;
|
||||
color: "#10275A";
|
||||
horizontalAlignment: Text.AlignLeft
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
font.pixelSize: 36;
|
||||
font.family: "Medium";
|
||||
font.bold: true;
|
||||
}
|
||||
|
||||
Text {
|
||||
text: qsTr("Upper Limbs Training")
|
||||
width: 194;
|
||||
height: 28;
|
||||
anchors.top: parent.top;
|
||||
anchors.topMargin: 84;
|
||||
anchors.left: parent.left;
|
||||
anchors.leftMargin: 40;
|
||||
color: "#8586A9";
|
||||
horizontalAlignment: Text.AlignLeft
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
font.pixelSize: 20;
|
||||
font.family: "Medium";
|
||||
}
|
||||
Image {
|
||||
id: flashingImageTenHz
|
||||
width: 238;
|
||||
height: 238;
|
||||
anchors.top: parent.top;
|
||||
anchors.topMargin: 162;
|
||||
anchors.left: parent.left;
|
||||
anchors.leftMargin: 141;
|
||||
source: "qrc:/DependFile/Source/brainTrain/vision_img_board.png"
|
||||
opacity: 1
|
||||
SequentialAnimation on opacity {
|
||||
id: animationTenHz
|
||||
running: false;
|
||||
loops: Animation.Infinite
|
||||
NumberAnimation { to: 0; duration: 50 }
|
||||
NumberAnimation { to: 1; duration: 50 }
|
||||
}
|
||||
}
|
||||
}
|
||||
Item {
|
||||
width: 520;
|
||||
height: 280;
|
||||
anchors.bottom: parent.bottom
|
||||
Timer {
|
||||
id: ssvepTenHzTimer
|
||||
interval: 300;
|
||||
repeat: true
|
||||
onTriggered: {
|
||||
currentIndexTenHz = (currentIndexTenHz + 1) % imageFilesTenHz.length;
|
||||
imageTenHz.source = imageFilesTenHz[currentIndexTenHz];
|
||||
}
|
||||
}
|
||||
Image {
|
||||
id: imageTenHz
|
||||
anchors.centerIn: parent
|
||||
source: imageFilesTenHz[0]
|
||||
}
|
||||
Image {
|
||||
visible: !ssvepTenHzTimer.running
|
||||
anchors.centerIn: parent
|
||||
source: "qrc:/DependFile/Source/brainTrain/vision_btn_start.png"
|
||||
z:1
|
||||
}
|
||||
}
|
||||
}
|
||||
Rectangle
|
||||
{
|
||||
id:ssvepTwelveHz
|
||||
width: 520;
|
||||
height: 760;
|
||||
Rectangle
|
||||
{
|
||||
width: 520;
|
||||
height: 450;
|
||||
anchors.top: parent.top
|
||||
color:"#F9FAFD";
|
||||
border.width: 1
|
||||
border.color: "#ADCFDD"
|
||||
radius: 20;
|
||||
Rectangle
|
||||
{
|
||||
id:twelveHzHit
|
||||
visible: ssvepTwelveHzTimer.running
|
||||
width: 100;
|
||||
height: 36;
|
||||
anchors.top: parent.top;
|
||||
anchors.topMargin: 40;
|
||||
anchors.right: parent.right;
|
||||
anchors.rightMargin: 40;
|
||||
color:Qt.rgba(52,196,163,0.1);
|
||||
border.width: 1;
|
||||
border.color: "#34C4A3";
|
||||
radius: 18;
|
||||
|
||||
Rectangle
|
||||
{
|
||||
width: 14;
|
||||
height: 14;
|
||||
anchors.top: parent.top;
|
||||
anchors.topMargin: 11;
|
||||
anchors.left: parent.left;
|
||||
anchors.leftMargin: 14;
|
||||
color:"#34C4A3";
|
||||
border.width: 1;
|
||||
border.color: "#34C4A3";
|
||||
radius: 7;
|
||||
}
|
||||
Text {
|
||||
text: qsTr("训练中")
|
||||
width: 72;
|
||||
height: 26;
|
||||
anchors.top: parent.top;
|
||||
anchors.topMargin: 4;
|
||||
anchors.left: parent.left;
|
||||
anchors.leftMargin: 32;
|
||||
color: "#10275A";
|
||||
horizontalAlignment: Text.AlignLeft
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
font.pixelSize: 18
|
||||
font.family: "Medium"
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Text {
|
||||
text: qsTr("下肢训练")
|
||||
width: 144;
|
||||
height: 46;
|
||||
anchors.top: parent.top;
|
||||
anchors.topMargin: 34;
|
||||
anchors.left: parent.left;
|
||||
anchors.leftMargin: 40;
|
||||
color: "#10275A";
|
||||
horizontalAlignment: Text.AlignLeft
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
font.pixelSize: 36;
|
||||
font.family: "Medium";
|
||||
font.bold: true;
|
||||
}
|
||||
|
||||
Text {
|
||||
text: qsTr("Lower Limbs Training")
|
||||
width: 194;
|
||||
height: 28;
|
||||
anchors.top: parent.top;
|
||||
anchors.topMargin: 84;
|
||||
anchors.left: parent.left;
|
||||
anchors.leftMargin: 40;
|
||||
color: "#8586A9";
|
||||
horizontalAlignment: Text.AlignLeft
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
font.pixelSize: 20;
|
||||
font.family: "Medium";
|
||||
}
|
||||
Image {
|
||||
id: flashingImageTwelveHz
|
||||
width: 238;
|
||||
height: 238;
|
||||
anchors.top: parent.top;
|
||||
anchors.topMargin: 162;
|
||||
anchors.left: parent.left;
|
||||
anchors.leftMargin: 141;
|
||||
source: "qrc:/DependFile/Source/brainTrain/vision_img_board.png"
|
||||
opacity: 1
|
||||
SequentialAnimation on opacity {
|
||||
id: animationTwelveHz
|
||||
running: false;
|
||||
loops: Animation.Infinite
|
||||
NumberAnimation { to: 0; duration: 42 }
|
||||
NumberAnimation { to: 1; duration: 42 }
|
||||
}
|
||||
}
|
||||
}
|
||||
Item {
|
||||
width: 520;
|
||||
height: 280;
|
||||
anchors.bottom: parent.bottom
|
||||
Timer {
|
||||
id: ssvepTwelveHzTimer
|
||||
interval: 30;
|
||||
repeat: true
|
||||
onTriggered: {
|
||||
currentIndexTwelevHz = (currentIndexTwelevHz + 1) % imageFilesTwelevHz.length;
|
||||
imageTwelveHz.source = imageFilesTwelevHz[currentIndexTwelevHz];
|
||||
}
|
||||
}
|
||||
Image {
|
||||
id: imageTwelveHz
|
||||
anchors.centerIn: parent
|
||||
source: imageFilesTwelevHz[0]
|
||||
}
|
||||
Image {
|
||||
visible: !ssvepTwelveHzTimer.running
|
||||
anchors.centerIn: parent
|
||||
source: "qrc:/DependFile/Source/brainTrain/vision_btn_start.png"
|
||||
z:1
|
||||
}
|
||||
}
|
||||
}
|
||||
Rectangle
|
||||
{
|
||||
id:ssvepFifteenHz
|
||||
width: 520;
|
||||
height: 760;
|
||||
Rectangle
|
||||
{
|
||||
width: 520;
|
||||
height: 450;
|
||||
anchors.top: parent.top
|
||||
color:"#F9FAFD";
|
||||
border.width: 1
|
||||
border.color: "#ADCFDD"
|
||||
radius: 20;
|
||||
Rectangle
|
||||
{
|
||||
id:fifteenHzHit
|
||||
visible: ssvepFifteenHzTimer.running
|
||||
width: 100;
|
||||
height: 36;
|
||||
anchors.top: parent.top;
|
||||
anchors.topMargin: 40;
|
||||
anchors.right: parent.right;
|
||||
anchors.rightMargin: 40;
|
||||
color:Qt.rgba(52,196,163,0.1);
|
||||
border.width: 1;
|
||||
border.color: "#34C4A3";
|
||||
radius: 18;
|
||||
|
||||
Rectangle
|
||||
{
|
||||
width: 14;
|
||||
height: 14;
|
||||
anchors.top: parent.top;
|
||||
anchors.topMargin: 11;
|
||||
anchors.left: parent.left;
|
||||
anchors.leftMargin: 14;
|
||||
color:"#34C4A3";
|
||||
border.width: 1;
|
||||
border.color: "#34C4A3";
|
||||
radius: 7;
|
||||
}
|
||||
Text {
|
||||
text: qsTr("训练中")
|
||||
width: 72;
|
||||
height: 26;
|
||||
anchors.top: parent.top;
|
||||
anchors.topMargin: 4;
|
||||
anchors.left: parent.left;
|
||||
anchors.leftMargin: 32;
|
||||
color: "#10275A";
|
||||
horizontalAlignment: Text.AlignLeft
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
font.pixelSize: 18
|
||||
font.family: "Medium"
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Text {
|
||||
text: qsTr("上下肢训练")
|
||||
width: 144;
|
||||
height: 46;
|
||||
anchors.top: parent.top;
|
||||
anchors.topMargin: 34;
|
||||
anchors.left: parent.left;
|
||||
anchors.leftMargin: 40;
|
||||
color: "#10275A";
|
||||
horizontalAlignment: Text.AlignLeft
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
font.pixelSize: 36;
|
||||
font.family: "Medium";
|
||||
font.bold: true;
|
||||
}
|
||||
|
||||
Text {
|
||||
text: qsTr("Upper and Lower Limb")
|
||||
width: 194;
|
||||
height: 28;
|
||||
anchors.top: parent.top;
|
||||
anchors.topMargin: 84;
|
||||
anchors.left: parent.left;
|
||||
anchors.leftMargin: 40;
|
||||
color: "#8586A9";
|
||||
horizontalAlignment: Text.AlignLeft
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
font.pixelSize: 20;
|
||||
font.family: "Medium";
|
||||
}
|
||||
Image {
|
||||
id: flashingImageFifteenHz
|
||||
width: 238;
|
||||
height: 238;
|
||||
anchors.top: parent.top;
|
||||
anchors.topMargin: 162;
|
||||
anchors.left: parent.left;
|
||||
anchors.leftMargin: 141;
|
||||
source: "qrc:/DependFile/Source/brainTrain/vision_img_board.png"
|
||||
opacity: 1
|
||||
SequentialAnimation on opacity {
|
||||
id: animationFifteenHz
|
||||
running: false;
|
||||
loops: Animation.Infinite
|
||||
NumberAnimation { to: 0; duration: 33 }
|
||||
NumberAnimation { to: 1; duration: 33 }
|
||||
}
|
||||
}
|
||||
}
|
||||
Item {
|
||||
width: 520;
|
||||
height: 280;
|
||||
anchors.bottom: parent.bottom
|
||||
Timer {
|
||||
id: ssvepFifteenHzTimer
|
||||
interval: 30;
|
||||
repeat: true
|
||||
onTriggered: {
|
||||
currentIndexFifteenHz = (currentIndexFifteenHz + 1) % imageFilesFifteenHz.length;
|
||||
imageFifteenHz.source = imageFilesFifteenHz[currentIndexFifteenHz];
|
||||
}
|
||||
}
|
||||
Image {
|
||||
id: imageFifteenHz
|
||||
anchors.centerIn: parent
|
||||
source: imageFilesFifteenHz[0]
|
||||
}
|
||||
Image {
|
||||
visible: !ssvepFifteenHzTimer.running
|
||||
anchors.centerIn: parent
|
||||
source: "qrc:/DependFile/Source/brainTrain/vision_btn_start.png"
|
||||
z:1
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Rectangle
|
||||
{
|
||||
width: 286;
|
||||
height: 88;
|
||||
anchors.bottom: parent.bottom;
|
||||
anchors.bottomMargin: 60;
|
||||
anchors.left: parent.left;
|
||||
anchors.leftMargin: 817;
|
||||
color:"#41B962";
|
||||
border.width: 1
|
||||
border.color: "#41B962"
|
||||
radius: 10;
|
||||
|
||||
Text {
|
||||
id:stimulateText
|
||||
text: qsTr("开始训练")
|
||||
width: 144;
|
||||
height: 51;
|
||||
anchors.top: parent.top;
|
||||
anchors.topMargin: 18;
|
||||
anchors.left: parent.left;
|
||||
anchors.leftMargin: 71;
|
||||
color: "#FFFFFF";
|
||||
horizontalAlignment: Text.AlignHCenter
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
font.pixelSize: 36;
|
||||
font.family: "Medium";
|
||||
}
|
||||
MouseArea
|
||||
{
|
||||
anchors.fill: parent
|
||||
onClicked: {
|
||||
if(bStimulate)
|
||||
{
|
||||
stimulateText.text = "继续";
|
||||
stopStimulate();
|
||||
clearHit();
|
||||
}else
|
||||
{
|
||||
stimulateText.text = "暂停";
|
||||
startStimulate();
|
||||
}
|
||||
bStimulate = !bStimulate;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Rectangle
|
||||
{
|
||||
width: 86;
|
||||
height: 88;
|
||||
visible: bTest
|
||||
anchors.bottom: parent.bottom;
|
||||
anchors.bottomMargin: 60;
|
||||
anchors.left: parent.left;
|
||||
anchors.leftMargin: 1200;
|
||||
color:"#41B962";
|
||||
border.width: 1
|
||||
border.color: "#41B962"
|
||||
radius: 10;
|
||||
|
||||
Text {
|
||||
text: qsTr("0")
|
||||
width: 86;
|
||||
height: 51;
|
||||
anchors.top: parent.top;
|
||||
anchors.topMargin: 18;
|
||||
anchors.left: parent.left;
|
||||
anchors.leftMargin: 0;
|
||||
color: "#FFFFFF";
|
||||
horizontalAlignment: Text.AlignHCenter
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
font.pixelSize: 36;
|
||||
font.family: "Medium";
|
||||
}
|
||||
MouseArea
|
||||
{
|
||||
anchors.fill: parent
|
||||
onClicked: {
|
||||
ssvepHit(0);
|
||||
stopStimulate();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Rectangle
|
||||
{
|
||||
width: 86;
|
||||
height: 88;
|
||||
visible: bTest
|
||||
anchors.bottom: parent.bottom;
|
||||
anchors.bottomMargin: 60;
|
||||
anchors.left: parent.left;
|
||||
anchors.leftMargin: 1300;
|
||||
color:"#41B962";
|
||||
border.width: 1
|
||||
border.color: "#41B962"
|
||||
radius: 10;
|
||||
|
||||
Text {
|
||||
text: qsTr("1")
|
||||
width: 86;
|
||||
height: 51;
|
||||
anchors.top: parent.top;
|
||||
anchors.topMargin: 18;
|
||||
anchors.left: parent.left;
|
||||
anchors.leftMargin: 0;
|
||||
color: "#FFFFFF";
|
||||
horizontalAlignment: Text.AlignHCenter
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
font.pixelSize: 36;
|
||||
font.family: "Medium";
|
||||
}
|
||||
MouseArea
|
||||
{
|
||||
anchors.fill: parent
|
||||
onClicked: {
|
||||
ssvepHit(1);
|
||||
stopStimulate();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Rectangle
|
||||
{
|
||||
width: 86;
|
||||
height: 88;
|
||||
visible: bTest
|
||||
anchors.bottom: parent.bottom;
|
||||
anchors.bottomMargin: 60;
|
||||
anchors.left: parent.left;
|
||||
anchors.leftMargin: 1400;
|
||||
color:"#41B962";
|
||||
border.width: 1
|
||||
border.color: "#41B962"
|
||||
radius: 10;
|
||||
|
||||
Text {
|
||||
text: qsTr("2")
|
||||
width: 86;
|
||||
height: 51;
|
||||
anchors.top: parent.top;
|
||||
anchors.topMargin: 18;
|
||||
anchors.left: parent.left;
|
||||
anchors.leftMargin: 0;
|
||||
color: "#FFFFFF";
|
||||
horizontalAlignment: Text.AlignHCenter
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
font.pixelSize: 36;
|
||||
font.family: "Medium";
|
||||
}
|
||||
MouseArea
|
||||
{
|
||||
anchors.fill: parent
|
||||
onClicked: {
|
||||
ssvepHit(2);
|
||||
stopStimulate();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
After Width: | Height: | Size: 53 KiB |
After Width: | Height: | Size: 53 KiB |
After Width: | Height: | Size: 53 KiB |
After Width: | Height: | Size: 53 KiB |
After Width: | Height: | Size: 53 KiB |
After Width: | Height: | Size: 53 KiB |
After Width: | Height: | Size: 53 KiB |
After Width: | Height: | Size: 53 KiB |
After Width: | Height: | Size: 53 KiB |
After Width: | Height: | Size: 54 KiB |
After Width: | Height: | Size: 54 KiB |
After Width: | Height: | Size: 54 KiB |
After Width: | Height: | Size: 54 KiB |
After Width: | Height: | Size: 54 KiB |
After Width: | Height: | Size: 54 KiB |
After Width: | Height: | Size: 38 KiB |
After Width: | Height: | Size: 37 KiB |
After Width: | Height: | Size: 38 KiB |
After Width: | Height: | Size: 40 KiB |
After Width: | Height: | Size: 43 KiB |
After Width: | Height: | Size: 48 KiB |
After Width: | Height: | Size: 48 KiB |
After Width: | Height: | Size: 49 KiB |
After Width: | Height: | Size: 51 KiB |
After Width: | Height: | Size: 52 KiB |
After Width: | Height: | Size: 53 KiB |
After Width: | Height: | Size: 54 KiB |
After Width: | Height: | Size: 54 KiB |
After Width: | Height: | Size: 55 KiB |
After Width: | Height: | Size: 55 KiB |
After Width: | Height: | Size: 35 KiB |
After Width: | Height: | Size: 35 KiB |
After Width: | Height: | Size: 36 KiB |
After Width: | Height: | Size: 37 KiB |
After Width: | Height: | Size: 38 KiB |
After Width: | Height: | Size: 38 KiB |
After Width: | Height: | Size: 39 KiB |
After Width: | Height: | Size: 38 KiB |
After Width: | Height: | Size: 37 KiB |
After Width: | Height: | Size: 37 KiB |
After Width: | Height: | Size: 37 KiB |
After Width: | Height: | Size: 37 KiB |
After Width: | Height: | Size: 38 KiB |
After Width: | Height: | Size: 39 KiB |
After Width: | Height: | Size: 40 KiB |
After Width: | Height: | Size: 40 KiB |
After Width: | Height: | Size: 41 KiB |
After Width: | Height: | Size: 42 KiB |
After Width: | Height: | Size: 42 KiB |
After Width: | Height: | Size: 42 KiB |
After Width: | Height: | Size: 43 KiB |
After Width: | Height: | Size: 43 KiB |
After Width: | Height: | Size: 43 KiB |
After Width: | Height: | Size: 2.1 KiB |
After Width: | Height: | Size: 3.5 KiB |
After Width: | Height: | Size: 176 KiB |
After Width: | Height: | Size: 218 KiB |
After Width: | Height: | Size: 99 KiB |
After Width: | Height: | Size: 201 KiB |
After Width: | Height: | Size: 208 KiB |
After Width: | Height: | Size: 75 KiB |
After Width: | Height: | Size: 24 KiB |
After Width: | Height: | Size: 14 KiB |
141
ZBD_IIIDL_S_Project/release/BCILinker/SunnyLinkTool/config.ini
Normal file
@ -0,0 +1,141 @@
|
||||
[system]
|
||||
threshold_value = -0.023
|
||||
|
||||
[Layout]
|
||||
main_splitter_left = 998
|
||||
main_splitter_right = 916
|
||||
right_splitter_left = 215
|
||||
right_splitter_right = 770
|
||||
left_splitter_left = 493
|
||||
left_splitter_right = 492
|
||||
|
||||
[channel]
|
||||
channel_x_fp1 = 419
|
||||
channel_y_fp1 = 124
|
||||
channel_x_fc1 = 439
|
||||
channel_y_fc1 = 296
|
||||
channel_x_fp2 = 576
|
||||
channel_y_fp2 = 124
|
||||
channel_x_fc2 = 556
|
||||
channel_y_fc2 = 299
|
||||
channel_x_f3 = 397
|
||||
channel_y_f3 = 231
|
||||
channel_x_cp1 = 439
|
||||
channel_y_cp1 = 426
|
||||
channel_x_f4 = 601
|
||||
channel_y_f4 = 232
|
||||
channel_x_cp2 = 559
|
||||
channel_y_cp2 = 425
|
||||
channel_x_fc3 = 379
|
||||
channel_y_fc3 = 295
|
||||
channel_x_af4 = 571
|
||||
channel_y_af4 = 171
|
||||
channel_x_po8 = 645
|
||||
channel_y_po8 = 564
|
||||
channel_x_fpz = 499
|
||||
channel_y_fpz = 112
|
||||
channel_x_fcz = 499
|
||||
channel_y_fcz = 300
|
||||
channel_x_poz = 497
|
||||
channel_y_poz = 555
|
||||
channel_x_po5 = 387
|
||||
channel_y_po5 = 551
|
||||
channel_x_po6 = 611
|
||||
channel_y_po6 = 551
|
||||
channel_x_c3 = 373
|
||||
channel_y_c3 = 363
|
||||
channel_x_fc5 = 319
|
||||
channel_y_fc5 = 292
|
||||
channel_x_c4 = 620
|
||||
channel_y_c4 = 363
|
||||
channel_x_fc6 = 676
|
||||
channel_y_fc6 = 288
|
||||
channel_x_p3 = 398
|
||||
channel_y_p3 = 491
|
||||
channel_x_cp5 = 322
|
||||
channel_y_cp5 = 430
|
||||
channel_x_p4 = 600
|
||||
channel_y_p4 = 489
|
||||
channel_x_cp6 = 678
|
||||
channel_y_cp6 = 430
|
||||
channel_x_c5 = 315
|
||||
channel_y_c5 = 359
|
||||
channel_x_f6 = 650
|
||||
channel_y_f6 = 223
|
||||
channel_x_f5 = 349
|
||||
channel_y_f5 = 224
|
||||
channel_x_po4 = 570
|
||||
channel_y_po4 = 553
|
||||
channel_x_po3 = 425
|
||||
channel_y_po3 = 548
|
||||
channel_x_cp4 = 619
|
||||
channel_y_cp4 = 424
|
||||
channel_x_cp3 = 381
|
||||
channel_y_cp3 = 426
|
||||
channel_x_fc4 = 619
|
||||
channel_y_fc4 = 295
|
||||
channel_x_o1 = 423
|
||||
channel_y_o1 = 598
|
||||
channel_x_ft9 = 252
|
||||
channel_y_ft9 = 168
|
||||
channel_x_o2 = 576
|
||||
channel_y_o2 = 597
|
||||
channel_x_ft10 = 798
|
||||
channel_y_ft10 = 277
|
||||
channel_x_f7 = 295
|
||||
channel_y_f7 = 214
|
||||
channel_x_tp9 = 202
|
||||
channel_y_tp9 = 445
|
||||
channel_x_f8 = 701
|
||||
channel_y_f8 = 215
|
||||
channel_x_t7 = 252
|
||||
channel_y_t7 = 362
|
||||
channel_x_tp7 = 261
|
||||
channel_y_tp7 = 436
|
||||
channel_x_ft8 = 734
|
||||
channel_y_ft8 = 283
|
||||
channel_x_ft7 = 264
|
||||
channel_y_ft7 = 286
|
||||
channel_x_af8 = 645
|
||||
channel_y_af8 = 159
|
||||
channel_x_af7 = 351
|
||||
channel_y_af7 = 160
|
||||
channel_x_p6 = 652
|
||||
channel_y_p6 = 499
|
||||
channel_x_p5 = 348
|
||||
channel_y_p5 = 499
|
||||
channel_x_c6 = 683
|
||||
channel_y_c6 = 362
|
||||
channel_x_f1 = 447
|
||||
channel_y_f1 = 236
|
||||
channel_x_t8 = 745
|
||||
channel_y_t8 = 361
|
||||
channel_x_f2 = 549
|
||||
channel_y_f2 = 235
|
||||
channel_x_p7 = 300
|
||||
channel_y_p7 = 505
|
||||
channel_x_c1 = 435
|
||||
channel_y_c1 = 363
|
||||
channel_x_p8 = 698
|
||||
channel_y_p8 = 508
|
||||
channel_x_c2 = 559
|
||||
channel_y_c2 = 359
|
||||
channel_x_fz = 499
|
||||
channel_y_fz = 238
|
||||
channel_x_po7 = 354
|
||||
channel_y_po7 = 562
|
||||
channel_x_tp8 = 735
|
||||
channel_y_tp8 = 438
|
||||
channel_x_oz = 498
|
||||
channel_y_oz = 609
|
||||
channel_x_af3 = 428
|
||||
channel_y_af3 = 170
|
||||
channel_x_pz = 501
|
||||
channel_y_pz = 486
|
||||
channel_x_p2 = 551
|
||||
channel_y_p2 = 483
|
||||
channel_x_cz = 499
|
||||
channel_y_cz = 361
|
||||
channel_x_p1 = 448
|
||||
channel_y_p1 = 488
|
||||
|
After Width: | Height: | Size: 164 KiB |