From cac41c3bd9c24fc0d540e21a822ecbea54727e62 Mon Sep 17 00:00:00 2001 From: Thomas Pietrzak Date: Wed, 27 Apr 2022 23:29:10 +0200 Subject: [PATCH] =?utf8?q?Oubli=20dans=20commit=20pr=C3=A9c=C3=A9dent?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- TactonDebug/AngleTester/angletester.cpp | 116 ++++++++++++++++++------ 1 file changed, 90 insertions(+), 26 deletions(-) diff --git a/TactonDebug/AngleTester/angletester.cpp b/TactonDebug/AngleTester/angletester.cpp index 86ee55a..714f954 100644 --- a/TactonDebug/AngleTester/angletester.cpp +++ b/TactonDebug/AngleTester/angletester.cpp @@ -1,56 +1,120 @@ -#include "angletester.h" +#include "AngleTester.h" #include +#include +using namespace std; + +#include +#include +#include +#include +#include + +#include "DMTactileDisplay.h" AngleTester::AngleTester(QWidget *parent, Qt::WindowFlags flags) - : QMainWindow(parent, flags) +: QMainWindow(parent, flags), + _angle(new DMTactileDisplay()), + _frequency(new QSpinBox()), + _tfrequency(new QSpinBox()), + _play(new QPushButton()), + _stop(new QPushButton()) { - try - { - //_tactonPlayer = new TactonPlayer("COM4"); - _tactonPlayer = new TactonPlayer("/dev/tty.usbserial-FTFRHUAO"); // Mac USB serial cable - } - catch(...) - { - _tactonPlayer = NULL; - } + try + { + //_tactonPlayer = new TactonPlayer("COM4"); + _tactonPlayer = new TactonPlayer("/dev/tty.usbserial-FTFRHUAO"); // Mac USB serial cable + } + catch(...) + { + _tactonPlayer = NULL; + } + + //setupUi(this); + + resize(500, 600); + QWidget *centralWidget = new QWidget(this); + QVBoxLayout *verticalLayout = new QVBoxLayout(centralWidget); + verticalLayout->setSpacing(6); + verticalLayout->setContentsMargins(11, 11, 11, 11); + _angle->setMaximum(359); + _angle->setTracking(true); + _angle->setInvertedAppearance(false); + _angle->setInvertedControls(false); + _angle->setWrapping(true); + _angle->setNotchTarget(30.0); + //_angle->setNotchesVisible(true); + + verticalLayout->addWidget(_angle); - setupUi(this); + QFormLayout * formLayout = new QFormLayout(); + formLayout->setSpacing(6); - layout()->setSizeConstraint(QLayout::SetFixedSize); + QLabel *frequencyLabel = new QLabel(centralWidget); + frequencyLabel->setText("Background frequency"); + _frequency->setMaximum(500); + _frequency->setValue(100); + formLayout->setWidget(0, QFormLayout::LabelRole, frequencyLabel); + formLayout->setWidget(0, QFormLayout::FieldRole, _frequency); - setFrequency(_frequency->value()); + QLabel *tfrequencyLabel = new QLabel(centralWidget); + tfrequencyLabel->setText("Target frequency"); + formLayout->setWidget(1, QFormLayout::LabelRole, tfrequencyLabel); + _tfrequency->setMaximum(500); + _tfrequency->setValue(250); + formLayout->setWidget(1, QFormLayout::FieldRole, _tfrequency); +/* + _play->setText("Play"); + _stop->setText("Stop"); + formLayout->setWidget(2, QFormLayout::FieldRole, _play); + formLayout->setWidget(2, QFormLayout::LabelRole, _stop); +*/ + verticalLayout->addLayout(formLayout); + setCentralWidget(centralWidget); - connect(_play, SIGNAL(clicked(bool)), this, SLOT(play(bool))); - connect(_stop, SIGNAL(clicked(bool)), this, SLOT(stop(bool))); + //layout()->setSizeConstraint(QLayout::SetFixedSize); - connect(_angle, SIGNAL(valueChanged(int)), this, SLOT(setAngle(int))); - connect(_frequency, SIGNAL(valueChanged(int)), this, SLOT(setFrequency(int))); + _angle->addTarget(Target(10, 60)); + _angle->addTarget(Target(100, 150)); + _angle->addTarget(Target(200, 250)); + + setFrequency(_frequency->value()); + +// connect(_play, SIGNAL(clicked(bool)), this, SLOT(play(bool))); +// connect(_stop, SIGNAL(clicked(bool)), this, SLOT(stop(bool))); + + //connect(_angle, SIGNAL(valueChanged(int)), this, SLOT(setAngle(int))); + connect(_angle, SIGNAL(updateAll(int, DMTactileDisplay::Hover)), this, SLOT(setOutput(int, DMTactileDisplay::Hover))); + connect(_angle, SIGNAL(stop()), this, SLOT(stop())); + connect(_frequency, SIGNAL(valueChanged(int)), this, SLOT(setFrequency(int))); } AngleTester::~AngleTester() { - } void AngleTester::setFrequency(int frequency) { - _tactonPlayer->setFrequency(frequency); + _tactonPlayer->setFrequency(frequency); } -void AngleTester::setAngle(int angle) +void AngleTester::setOutput(int angle, DMTactileDisplay::Hover hover) { - _tactonPlayer->playAngle(angle); - return; + if (hover == DMTactileDisplay::OnTarget) + _tactonPlayer->setFrequency(_tfrequency->value()); + else + _tactonPlayer->setFrequency(_frequency->value()); + _tactonPlayer->playAngle(angle); + return; } void AngleTester::play(bool) { - setFrequency(_frequency->value()); - setAngle(_angle->value()); +// setFrequency(_frequency->value()); +// setAngle(_angle->value()); } void AngleTester::stop(bool) { - _tactonPlayer->stopBuzz(); + _tactonPlayer->stopBuzz(); } -- 2.30.2