From: Thomas Pietrzak Date: Thu, 16 Aug 2012 18:50:24 +0000 (+0000) Subject: Angle tester X-Git-Url: https://git.thomaspietrzak.com/?a=commitdiff_plain;h=a040e5c77c8652f448c94be7ba3a6a126fe87c99;p=tactonlibrary.git Angle tester git-svn-id: svn+ssh://thomaspietrzak.com/var/svn/rep@87 47cf9a05-e0a8-4ed5-9e9b-101a649bc004 --- diff --git a/TactonDebug/AngleTester/AngleTester.vcxproj b/TactonDebug/AngleTester/AngleTester.vcxproj new file mode 100644 index 0000000..e4f50cc --- /dev/null +++ b/TactonDebug/AngleTester/AngleTester.vcxproj @@ -0,0 +1,144 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + {DF37D231-4F5F-44EC-9E32-0F91030F8BC3} + Qt4VSv1.0 + + + + Application + + + Application + + + + + + + + + + + + + <_ProjectFileVersion>10.0.30319.1 + AllRules.ruleset + + + AllRules.ruleset + + + $(SolutionDir)$(Platform)\$(Configuration)\ + $(SolutionDir)$(Platform)\$(Configuration)\ + + + + _USE_MATH_DEFINES;UNICODE;WIN32;QT_LARGEFILE_SUPPORT;QT_DLL;QT_CORE_LIB;QT_GUI_LIB;%(PreprocessorDefinitions) + .\GeneratedFiles;.;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName);$(QTDIR)\include\QtCore;$(QTDIR)\include\QtGui;%(AdditionalIncludeDirectories) + Disabled + ProgramDatabase + MultiThreadedDebugDLL + false + + + Windows + $(OutDir)\$(ProjectName).exe + $(QTDIR)\lib;%(AdditionalLibraryDirectories) + true + TactonPlayerd.lib;qtmaind.lib;QtCored4.lib;QtGuid4.lib;%(AdditionalDependencies) + + + + + _USE_MATH_DEFINES;UNICODE;WIN32;QT_LARGEFILE_SUPPORT;QT_DLL;QT_NO_DEBUG;NDEBUG;QT_CORE_LIB;QT_GUI_LIB;%(PreprocessorDefinitions) + .\GeneratedFiles;.;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName);$(QTDIR)\include\QtCore;$(QTDIR)\include\QtGui;%(AdditionalIncludeDirectories) + + + MultiThreadedDLL + false + + + Windows + $(OutDir)\$(ProjectName).exe + $(QTDIR)\lib;%(AdditionalLibraryDirectories) + false + TactonPlayer.lib;qtmain.lib;QtCore4.lib;QtGui4.lib;%(AdditionalDependencies) + + + + + + true + + + + + + + + + true + + + + + + $(QTDIR)\bin\moc.exe;%(FullPath) + Moc%27ing angletester.h... + .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp + "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -D_USE_MATH_DEFINES -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_CORE_LIB -DQT_GUI_LIB "-I.\GeneratedFiles" "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" + $(QTDIR)\bin\moc.exe;%(FullPath) + Moc%27ing angletester.h... + .\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp + "$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -D_USE_MATH_DEFINES -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_NO_DEBUG -DNDEBUG -DQT_CORE_LIB -DQT_GUI_LIB "-I.\GeneratedFiles" "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\." "-I$(QTDIR)\include\QtCore" "-I$(QTDIR)\include\QtGui" + + + + + Document + $(QTDIR)\bin\uic.exe;%(AdditionalInputs) + Uic%27ing %(Identity)... + .\GeneratedFiles\ui_%(Filename).h;%(Outputs) + "$(QTDIR)\bin\uic.exe" -o ".\GeneratedFiles\ui_%(Filename).h" "%(FullPath)" + $(QTDIR)\bin\uic.exe;%(AdditionalInputs) + Uic%27ing %(Identity)... + .\GeneratedFiles\ui_%(Filename).h;%(Outputs) + "$(QTDIR)\bin\uic.exe" -o ".\GeneratedFiles\ui_%(Filename).h" "%(FullPath)" + + + + + + + + Document + %(FullPath);%(AdditionalInputs) + Rcc%27ing %(Identity)... + .\GeneratedFiles\qrc_%(Filename).cpp;%(Outputs) + "$(QTDIR)\bin\rcc.exe" -name "%(Filename)" -no-compress "%(FullPath)" -o .\GeneratedFiles\qrc_%(Filename).cpp + %(FullPath);%(AdditionalInputs) + Rcc%27ing %(Identity)... + .\GeneratedFiles\qrc_%(Filename).cpp;%(Outputs) + "$(QTDIR)\bin\rcc.exe" -name "%(Filename)" -no-compress "%(FullPath)" -o .\GeneratedFiles\qrc_%(Filename).cpp + + + + + + + + + + + \ No newline at end of file diff --git a/TactonDebug/AngleTester/angletester.cpp b/TactonDebug/AngleTester/angletester.cpp new file mode 100644 index 0000000..451403a --- /dev/null +++ b/TactonDebug/AngleTester/angletester.cpp @@ -0,0 +1,68 @@ +#include "angletester.h" + +#include + +AngleTester::AngleTester(QWidget *parent, Qt::WFlags flags) + : QMainWindow(parent, flags) +{ + try + { + _tactonPlayer = new TactonPlayer("COM8"); + } + catch(...) + { + _tactonPlayer = NULL; + } + + setupUi(this); + + layout()->setSizeConstraint(QLayout::SetFixedSize); + + 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(_frequency, SIGNAL(valueChanged(int)), this, SLOT(setFrequency(int))); +} + +AngleTester::~AngleTester() +{ + +} + +void AngleTester::setFrequency(int frequency) +{ + _tactonPlayer->setFrequency(frequency); +} + +void AngleTester::setAngle(int angle) +{ + unsigned char amplitudes[4]; + memset(amplitudes, 0, 4); + + //vertical + if (angle < 180) + amplitudes[1] = 255 * sin(angle * M_PI / 180.0); + else + amplitudes[3] = - 255 * sin(angle * M_PI / 180.0); + + //horizontal + if (angle < 90 ||angle > 270) + amplitudes[0] = 255 * cos(angle * M_PI / 180.0); + else + amplitudes[2] = - 255 * cos(angle * M_PI / 180.0); + + _tactonPlayer->setAmplitudes(4, amplitudes); +} + +void AngleTester::play(bool) +{ + setAngle(_angle->value()); +} + +void AngleTester::stop(bool) +{ + _tactonPlayer->stopBuzz(); +} diff --git a/TactonDebug/AngleTester/angletester.h b/TactonDebug/AngleTester/angletester.h new file mode 100644 index 0000000..9fecca0 --- /dev/null +++ b/TactonDebug/AngleTester/angletester.h @@ -0,0 +1,27 @@ +#ifndef ANGLETESTER_H +#define ANGLETESTER_H + +#include +#include "ui_angletester.h" + +#include + +class AngleTester : public QMainWindow, Ui::AngleTesterClass +{ + Q_OBJECT + + public: + AngleTester(QWidget *parent = 0, Qt::WFlags flags = 0); + ~AngleTester(); + + public slots: + void play(bool); + void stop(bool); + void setFrequency(int frequency); + void setAngle(int angle); + + private: + TactonPlayer *_tactonPlayer; +}; + +#endif // ANGLETESTER_H diff --git a/TactonDebug/AngleTester/angletester.ui b/TactonDebug/AngleTester/angletester.ui new file mode 100644 index 0000000..8448e58 --- /dev/null +++ b/TactonDebug/AngleTester/angletester.ui @@ -0,0 +1,86 @@ + + + AngleTesterClass + + + + 0 + 0 + 176 + 176 + + + + AngleTester + + + + + + + 359 + + + true + + + false + + + false + + + true + + + 30.000000000000000 + + + true + + + + + + + + + Frequency + + + + + + + 500 + + + 300 + + + + + + + Play + + + + + + + Stop + + + + + + + + + + + + + + diff --git a/TactonDebug/AngleTester/main.cpp b/TactonDebug/AngleTester/main.cpp new file mode 100644 index 0000000..d8f4cea --- /dev/null +++ b/TactonDebug/AngleTester/main.cpp @@ -0,0 +1,10 @@ +#include "angletester.h" +#include + +int main(int argc, char *argv[]) +{ + QApplication a(argc, argv); + AngleTester w; + w.show(); + return a.exec(); +} diff --git a/TactonDebug/MagicCircle/magiccircle.cpp b/TactonDebug/MagicCircle/magiccircle.cpp index 8d19d8d..0cf12d3 100644 --- a/TactonDebug/MagicCircle/magiccircle.cpp +++ b/TactonDebug/MagicCircle/magiccircle.cpp @@ -7,7 +7,7 @@ MagicCircle::MagicCircle(QWidget *parent, Qt::WFlags flags) { try { - _tactonPlayer = new TactonPlayer("COM4"); + _tactonPlayer = new TactonPlayer("COM8"); } catch(...) { @@ -27,7 +27,7 @@ MagicCircle::MagicCircle(QWidget *parent, Qt::WFlags flags) connect(_play, SIGNAL(clicked(bool)), this, SLOT(play(bool))); connect(_stop, SIGNAL(clicked(bool)), this, SLOT(stop(bool))); - connect(_direction, SIGNAL(editTextChanged(const QString &)), this, SLOT(setDirection(const QString &))); + connect(_direction, SIGNAL(currentIndexChanged (const QString &)), this, SLOT(setDirection(const QString &))); connect(_speed, SIGNAL(valueChanged(int)), this, SLOT(setSpeed(int))); connect(_resolution, SIGNAL(valueChanged(int)), this, SLOT(setResolution(int))); connect(_frequency, SIGNAL(valueChanged(int)), this, SLOT(setFrequency(int))); diff --git a/TactonDebug/TactonDebug.sln b/TactonDebug/TactonDebug.sln index 972e2a2..84deb6d 100644 --- a/TactonDebug/TactonDebug.sln +++ b/TactonDebug/TactonDebug.sln @@ -5,6 +5,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TactonDebug", "TactonDebug\ EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MagicCircle", "MagicCircle\MagicCircle.vcxproj", "{E39CA6E9-BA0B-4C12-8090-D5CE66CADF94}" EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "AngleTester", "AngleTester\AngleTester.vcxproj", "{DF37D231-4F5F-44EC-9E32-0F91030F8BC3}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 @@ -19,6 +21,10 @@ Global {E39CA6E9-BA0B-4C12-8090-D5CE66CADF94}.Debug|Win32.Build.0 = Debug|Win32 {E39CA6E9-BA0B-4C12-8090-D5CE66CADF94}.Release|Win32.ActiveCfg = Release|Win32 {E39CA6E9-BA0B-4C12-8090-D5CE66CADF94}.Release|Win32.Build.0 = Release|Win32 + {DF37D231-4F5F-44EC-9E32-0F91030F8BC3}.Debug|Win32.ActiveCfg = Debug|Win32 + {DF37D231-4F5F-44EC-9E32-0F91030F8BC3}.Debug|Win32.Build.0 = Debug|Win32 + {DF37D231-4F5F-44EC-9E32-0F91030F8BC3}.Release|Win32.ActiveCfg = Release|Win32 + {DF37D231-4F5F-44EC-9E32-0F91030F8BC3}.Release|Win32.Build.0 = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/TactonDebug/TactonDebug.suo b/TactonDebug/TactonDebug.suo index 9761435..74946b2 100644 Binary files a/TactonDebug/TactonDebug.suo and b/TactonDebug/TactonDebug.suo differ diff --git a/TactonDebug/TactonDebug/tactondebug.cpp b/TactonDebug/TactonDebug/tactondebug.cpp index d25c25b..7ef1cd8 100644 --- a/TactonDebug/TactonDebug/tactondebug.cpp +++ b/TactonDebug/TactonDebug/tactondebug.cpp @@ -9,7 +9,7 @@ TactonDebug::TactonDebug(QWidget *parent, Qt::WFlags flags) { try { - _tactonPlayer = new TactonPlayer("COM4"); + _tactonPlayer = new TactonPlayer("COM8"); } catch(...) {